Download & Flash
Install the pinned ESP8266 toolchain, configure Wi-Fi, compile/upload Firmware v1.0.0, and verify a complete boot including gyro calibration.
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
Install Arduino IDE
Download Arduino IDE from Arduino Software ↗.
- 2
Add the ESP8266 Boards Manager URL
Open Arduino IDE Preferences/Settings and add
https://arduino.esp8266.com/stable/package_esp8266com_index.jsonto Additional Boards Manager URLs. - 3
Install ESP8266 Core 3.1.2
Open Boards Manager, search for
esp8266, select version3.1.2, and install it. - 4
Select the target board
Choose
LOLIN(WEMOS) D1 R2 & minifrom the ESP8266 board list and set CPU Frequency to160 MHz.
Official ESP8266 installation reference: ESP8266 Arduino Core — Installing ↗.
# Install the pinned libraries
Swipe horizontally to see all columns.
| Dependency | Pinned v1.0.0 version |
|---|---|
| ESP8266 Arduino Core | 3.1.2 |
| ArduinoJson | 6.21.6 |
| ESPAsyncTCP (ESP8266) | 2.0.0 |
| ESPAsyncWebServer | 3.6.0 |
| Adafruit VL53L0X | 1.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.
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:
- ArduinoJson 6.21.6 ↗
- ESPAsyncTCP 2.0.0 ↗
- ESPAsyncWebServer 3.6.0 ↗
- Adafruit VL53L0X 1.2.5 ↗ — altitude-assist variant only.
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
Open the release sketch
Open
espflight.inofrom the Firmware v1.0.0 source tree. - 2
Connect the Wemos by USB
Use a data-capable USB cable. Select the serial port that appears for the controller.
- 3
Verify board settings
Board: LOLIN(WEMOS) D1 R2 & mini. ESP8266 Core: 3.1.2. CPU: 160 MHz.
- 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
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.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.