Repository navigation
Releases
v0.4.1: browser control (not tested on hardware yet)
ESP-Drone with browser control, v0.4.1. Not tested on real hardware yet:
remove the propellers and work through the bench checklist in
docs/e1-mini.md before the first flight.
Install
In the browser: https://technikweber.github.io/esp-drone/ (Chrome or Edge on a computer,
one click). Other ways, including Espressif's own tools:
docs/flashing.md.
Each file is a complete image for address 0x0:
| File | Board | Chip |
|---|---|---|
espdrone-e1-mini-esp32.bin |
E1 Mini ("ESP32 Drone" kit) | ESP32 |
espdrone-s2-drone-esp32s2.bin |
Espressif ESP32-S2-Drone | ESP32-S2 |
espdrone-s2-drone-esp32s3.bin |
Espressif ESP32-S2-Drone with ESP32-S3 | ESP32-S3 |
esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 921600 write_flash 0x0 espdrone-e1-mini-esp32.binBack up the factory firmware first if you want to go back (read_flash 0 ALL, see the guide).
From the box to the first hover:
docs/getting-started.md.
What's in it
- Fixed in v0.4.1: the phone page connected but never got an answer ("Poor link" and
"Disconnected" in turn). ESP-IDF 5.5 no longer calls the WebSocket handler after the
handshake, so the drone never registered the browser. Tested on an E1 Mini. - Browser control over the drone's Wi-Fi with a captive portal: WebSocket, only the newest
command counts, late commands are dropped, staged failsafe (hold, level out, descend, off). - Battery protection: forced landing below 3.0 V, no arming below 3.4 V.
- Roll and pitch trim, stored on the drone, and one-tap levelling on the ground.
Control page in English and German. - Desktop ground station (
esp-drone-groundstation.htmlbelow, open it in Chrome or Edge):
fly with a gamepad (PlayStation, Xbox, Switch Pro and others), live plots of the flight
controller at 100 Hz, controller gains changeable in flight and stored on the drone, step test,
motor test for the bench, flight recorder with CSV export. Guide:
docs/groundstation.md. - Flips (experimental, hidden by default): switch them on in the Info dialog of the phone page
or in the ground station; the drone flies the flip by itself. Needs 2 m of height and room.
How it works. - Board support for the E1 Mini (ESP32 DevKit, MPU6500 on SPI, 8520 motors) with controller
gains from the vendor firmware. - Based on espressif/esp-drone
master@9d5a4f8, built with ESP-IDF 5.5.
SHA-256
09ac48a1d2bcb0bf26a60b2af7c577df1e9ae63cc7901e9806040a678243e3cc espdrone-e1-mini-esp32.bin
13c2aaa33fc202b953f943953c10d38b48d19bed7d2febed6c71c26498450851 espdrone-s2-drone-esp32s2.bin
70f1ceccc422eb8b3417228c6a817b1c11c5fcaf1cf9ef95de60074f639b8af4 espdrone-s2-drone-esp32s3.bin
v0.4.0: browser control (not tested on hardware yet)
ESP-Drone with browser control, v0.4.0. Not tested on real hardware yet:
remove the propellers and work through the bench checklist in
docs/e1-mini.md before the first flight.
Install
In the browser: https://technikweber.github.io/esp-drone/ (Chrome or Edge on a computer,
one click). Other ways, including Espressif's own tools:
docs/flashing.md.
Each file is a complete image for address 0x0:
| File | Board | Chip |
|---|---|---|
espdrone-e1-mini-esp32.bin |
E1 Mini ("ESP32 Drone" kit) | ESP32 |
espdrone-s2-drone-esp32s2.bin |
Espressif ESP32-S2-Drone | ESP32-S2 |
espdrone-s2-drone-esp32s3.bin |
Espressif ESP32-S2-Drone with ESP32-S3 | ESP32-S3 |
esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 921600 write_flash 0x0 espdrone-e1-mini-esp32.binBack up the factory firmware first if you want to go back (read_flash 0 ALL, see the guide).
From the box to the first hover:
docs/getting-started.md.
What's in it
- Browser control over the drone's Wi-Fi with a captive portal: WebSocket, only the newest
command counts, late commands are dropped, staged failsafe (hold, level out, descend, off). - Battery protection: forced landing below 3.0 V, no arming below 3.4 V.
- Roll and pitch trim, stored on the drone, and one-tap levelling on the ground.
Control page in English and German. - Desktop ground station (
esp-drone-groundstation.htmlbelow, open it in Chrome or Edge):
fly with a gamepad (PlayStation, Xbox, Switch Pro and others), live plots of the flight
controller at 100 Hz, controller gains changeable in flight and stored on the drone, step test,
motor test for the bench, flight recorder with CSV export. Guide:
docs/groundstation.md. - Flips (experimental, hidden by default): switch them on in the Info dialog of the phone page
or in the ground station; the drone flies the flip by itself. Needs 2 m of height and room.
How it works. - Board support for the E1 Mini (ESP32 DevKit, MPU6500 on SPI, 8520 motors) with controller
gains from the vendor firmware. - Based on espressif/esp-drone
master@9d5a4f8, built with ESP-IDF 5.5.
SHA-256
649be6d6fda593bd8314524eabae998bd6c88b4bcfc57e9ebddaad0895393f79 espdrone-e1-mini-esp32.bin
492fe89c1e793e7bc1bf50836cbff9a295e746972d5ee5ebf729942407e50350 espdrone-s2-drone-esp32s2.bin
f6a21981e4ff90e9608c8f50f1c80c940f9d22349563910e2b8ebd240d240a26 espdrone-s2-drone-esp32s3.bin
v0.3.0: browser control (not tested on hardware yet)
ESP-Drone with browser control, v0.3.0. Not tested on real hardware yet:
remove the propellers and work through the bench checklist in
docs/e1-mini.md before the first flight.
Install
In the browser: https://technikweber.github.io/esp-drone/ (Chrome or Edge on a computer,
one click). Other ways, including Espressif's own tools:
docs/flashing.md.
Each file is a complete image for address 0x0:
| File | Board | Chip |
|---|---|---|
espdrone-e1-mini-esp32.bin |
E1 Mini ("ESP32 Drone" kit) | ESP32 |
espdrone-s2-drone-esp32s2.bin |
Espressif ESP32-S2-Drone | ESP32-S2 |
espdrone-s2-drone-esp32s3.bin |
Espressif ESP32-S2-Drone with ESP32-S3 | ESP32-S3 |
esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 921600 write_flash 0x0 espdrone-e1-mini-esp32.binBack up the factory firmware first if you want to go back (read_flash 0 ALL, see the guide).
From the box to the first hover:
docs/getting-started.md.
What's in it
- Browser control over the drone's Wi-Fi with a captive portal: WebSocket, only the newest
command counts, late commands are dropped, staged failsafe (hold, level out, descend, off). - Battery protection: forced landing below 3.0 V, no arming below 3.4 V.
- Roll and pitch trim, stored on the drone, and one-tap levelling on the ground.
Control page in English and German. - Desktop ground station (
esp-drone-groundstation.htmlbelow, open it in Chrome or Edge):
fly with a gamepad (PlayStation, Xbox, Switch Pro and others), live plots of the flight
controller at 100 Hz, controller gains changeable in flight and stored on the drone, step test,
motor test for the bench, flight recorder with CSV export. Guide:
docs/groundstation.md. - Board support for the E1 Mini (ESP32 DevKit, MPU6500 on SPI, 8520 motors) with controller
gains from the vendor firmware. - Based on espressif/esp-drone
master@9d5a4f8, built with ESP-IDF 5.5.
SHA-256
91b5a33b819d857fa97876f1123f9483ebdff84d9e9f07c8eab7d069e4b26ac7 espdrone-e1-mini-esp32.bin
8ceb86f6e7172659871119890b5a2b2ac4f1afd4b199ab14bbc3666aad737458 espdrone-s2-drone-esp32s2.bin
34cdba659865428d196b6b2d50aa7bd23c66f88baa600499368f6f6bfa78509f espdrone-s2-drone-esp32s3.bin
v0.2.0: browser control (not tested on hardware yet)
ESP-Drone with browser control, v0.2.0. Not tested on real hardware yet:
remove the propellers and work through the bench checklist in
docs/e1-mini.md before the first flight.
Install
In the browser: https://technikweber.github.io/esp-drone/ (Chrome or Edge on a computer,
one click). Other ways, including Espressif's own tools:
docs/flashing.md.
Each file is a complete image for address 0x0:
| File | Board | Chip |
|---|---|---|
espdrone-e1-mini-esp32.bin |
E1 Mini ("ESP32 Drone" kit) | ESP32 |
espdrone-s2-drone-esp32s2.bin |
Espressif ESP32-S2-Drone | ESP32-S2 |
espdrone-s2-drone-esp32s3.bin |
Espressif ESP32-S2-Drone with ESP32-S3 | ESP32-S3 |
esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 921600 write_flash 0x0 espdrone-e1-mini-esp32.binBack up the factory firmware first if you want to go back (read_flash 0 ALL, see the guide).
From the box to the first hover:
docs/getting-started.md.
What's in it
- Browser control over the drone's Wi-Fi with a captive portal: WebSocket, only the newest
command counts, late commands are dropped, staged failsafe (hold, level out, descend, off). - Battery protection: forced landing below 3.0 V, no arming below 3.4 V.
- Roll and pitch trim, stored on the drone, and one-tap levelling on the ground.
Control page in English and German. - Board support for the E1 Mini (ESP32 DevKit, MPU6500 on SPI, 8520 motors) with controller
gains from the vendor firmware. - Based on espressif/esp-drone
master@9d5a4f8, built with ESP-IDF 5.5.
SHA-256
be623db1e58be5f8225cc36f675b8ee196c7d1871bfa1965e17c2eb34bdcea82 espdrone-e1-mini-esp32.bin
6f6488fa85f2d4fd729668781b5abdbb29a8f614cc06a7278fbbe2ddf1633be3 espdrone-s2-drone-esp32s2.bin
60d99f157828129d6945b1abcc6170790fcb87b54bbd95d6af03bfe3cf7bf854 espdrone-s2-drone-esp32s3.bin
v0.1.0: browser control (not tested on hardware yet)
ESP-Drone with browser control, v0.1.0. Not tested on real hardware yet:
remove the propellers and work through the bench checklist in
docs/e1-mini.md before the first flight.
Install
In the browser: https://technikweber.github.io/esp-drone/ (Chrome or Edge on a computer,
one click). Other ways, including Espressif's own tools:
docs/flashing.md.
Each file is a complete image for address 0x0:
| File | Board | Chip |
|---|---|---|
espdrone-e1-mini-esp32.bin |
E1 Mini ("ESP32 Drone" kit) | ESP32 |
espdrone-s2-drone-esp32s2.bin |
Espressif ESP32-S2-Drone | ESP32-S2 |
espdrone-s2-drone-esp32s3.bin |
Espressif ESP32-S2-Drone with ESP32-S3 | ESP32-S3 |
esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 921600 write_flash 0x0 espdrone-e1-mini-esp32.binBack up the factory firmware first if you want to go back (read_flash 0 ALL, see the guide).
What's in it
- Browser control over the drone's Wi-Fi with a captive portal: WebSocket, only the newest
command counts, late commands are dropped, staged failsafe (hold, level out, descend, off). - Battery protection: forced landing below 3.0 V, no arming below 3.4 V.
- Roll and pitch trim, stored on the drone. Control page in English and German.
- Board support for the E1 Mini (ESP32 DevKit, MPU6500 on SPI, 8520 motors) with controller
gains from the vendor firmware. - Based on espressif/esp-drone
master@9d5a4f8, built with ESP-IDF 5.5.
SHA-256
6d19bc2907a321c33b4a71e4146482afa870061fb636736a15e970af3b382799 espdrone-e1-mini-esp32.bin
43b4520a0d0716f2bdfa2553bc82f29d220e797203bb58678c6a584255af4082 espdrone-s2-drone-esp32s2.bin
7773a3f58bd20ff62048a0c4dcd331a0a689875004ead2a9c83ad779e20256d5 espdrone-s2-drone-esp32s3.bin