The most reliable mobile controller I found for this setup was LiteWing.
The adjustable trim allows you to correct drift during hover without modifying PID parameters.
The ESP-FLY tutorial uses Windows for flashing. Below are the steps I followed to set up ESP-IDF and flash the firmware on macOS.
Install ESP-IDF v5.0.7 following Espressif’s official macOS setup instructions.
After installation, your ESP-IDF directory path should something look like:
~/esp/esp-idf-v5.0.7
# Navigate to ESP-IDF directory
cd ~/esp/esp-idf-v5.0.7
# Load environment variables
source export.shgit clone https://github.com/themaxboucher/esp-drone.git
cd esp-droneidf.py buildidf.py -p <PORT> flash monitorReplace <PORT> with the serial device associated with the ESP32 USB connection.
To list available ports:
ls /dev/cu.*Flashing uploads the compiled firmware to the ESP32 and opens a serial monitor for debugging output.
This project is based on the original ESP-Fly platform and firmware ecosystem.
-
YouTube Tutorial (Max Imagination):
https://www.youtube.com/watch?v=V_mZsiZcy7s -
Elektor Article: ESP-FLY – The Smallest ESP32 Drone You Can Build
https://www.elektormagazine.com/labs/esp-fly-the-smallest-esp32-drone-you-can-build
esp-droneopen-source firmware by Espressif Systems:
https://github.com/espressif/esp-drone
- Crazyflie open-source drone platform (control architecture reference):
https://www.bitcraze.io/crazyflie/
This project inherits the GPL-3.0 license from the original esp-drone firmware.
See the LICENSE file for details.