ESPFlight Docs v1
Browse documentation
Docs / Firmware / Download & Flash

Download & Flash

Install the pinned ESP8266 toolchain, configure Wi-Fi, compile/upload Firmware v1.0.0, and verify a complete boot including gyro calibration.

ESPFlight Docs · v1 • Validated v1 documentation path
BEGINNER PATH · STEP 5 & 7 OF 13

First prepare the pinned environment; after configuration, return here to compile, upload, and verify startup.

Back to the 13-step path · Next checkpoint: Firmware Configuration

# Install Arduino IDE and ESP8266 Core

ESPFlight v1.0.0 does not pin one Arduino IDE release. The ESP8266 project supports Arduino IDE 1.x or 2.x; for a normal end-user setup, install Arduino IDE and use Boards Manager.

  1. 1

    Install Arduino IDE

    Download Arduino IDE from Arduino Software ↗.

  2. 2

    Add the ESP8266 Boards Manager URL

    Open Arduino IDE Preferences/Settings and add https://arduino.esp8266.com/stable/package_esp8266com_index.json to Additional Boards Manager URLs.

  3. 3

    Install ESP8266 Core 3.1.2

    Open Boards Manager, search for esp8266, select version 3.1.2, and install it.

  4. 4

    Select the target board

    Choose LOLIN(WEMOS) D1 R2 & mini from the ESP8266 board list and set CPU Frequency to 160 MHz.

Official ESP8266 installation reference: ESP8266 Arduino Core — Installing ↗.

# Install the pinned libraries

Swipe horizontally to see all columns.

DependencyPinned v1.0.0 version
ESP8266 Arduino Core3.1.2
ArduinoJson6.21.6
ESPAsyncTCP (ESP8266)2.0.0
ESPAsyncWebServer3.6.0
Adafruit VL53L0X1.2.5 — optional altitude-assist variant only

Use Arduino IDE Library Manager where the exact version is available. Select the version explicitly rather than accepting a newer major release. The v1.0.0 reproducible baseline uses the versions above.

IF THE EXACT VERSION IS NOT IN LIBRARY MANAGER

Do not substitute a newer version. Download the matching release archive from the official upstream project and install it with Arduino IDE's Install .ZIP Library flow:

After a manual install, verify the version again before compiling.

# Configure Wi-Fi

Open config.h and replace the placeholders with the trusted local network used by both controller and phone:

#define ESPFLIGHT_WIFI_SSID "YOUR_WIFI_SSID"
#define ESPFLIGHT_WIFI_PASSWORD "YOUR_WIFI_PASSWORD"

Do not commit private Wi-Fi credentials to a public repository or redistribute them in a public firmware package.

# Compile and upload

  1. 1

    Open the release sketch

    Open espflight.ino from the Firmware v1.0.0 source tree.

  2. 2

    Connect the Wemos by USB

    Use a data-capable USB cable. Select the serial port that appears for the controller.

  3. 3

    Verify board settings

    Board: LOLIN(WEMOS) D1 R2 & mini. ESP8266 Core: 3.1.2. CPU: 160 MHz.

  4. 4

    Compile / Verify

    The build must finish without missing-library or source errors. Do not work around an error by silently changing pinned versions.

  5. 5

    Upload

    Upload over USB. Wait for Arduino IDE to report successful upload before disconnecting the cable.

# Verify first boot and gyro calibration

Open Serial Monitor at 115200 baud. Keep the board completely still on a stable surface from MPU configuration through the end of gyro calibration.

System booting...
ESPFlight firmware 1.0.0 (protocol 2)
Checking MPU6050...
MPU6050 OK
Connecting to WiFi...
Connected! IP: ...        // or a bounded timeout message
Configuring MPU6050...
MPU6050 configuration verified
... gyro calibration ...
Setup completed.
GYRO CALIBRATION

Firmware averages 2000 valid gyro samples with roughly 4 ms spacing, so the calibration takes about eight seconds plus processing time. Do not pick up, rotate, bump, or vibrate the board after “MPU6050 configuration verified” until “Setup completed.” appears.

If MPU6050 OK or Setup completed. never appears, do not proceed to motor testing; use Hardware Problems.