ESP-Drone
An open-source mini drone/quadcopter firmware for ESP32 and ESP32-S series SoCs, controllable via Wi-Fi or gamepad.
- Drone
- Open source
- 3D printable
Suggested by Robotheca, created by @espressif (opens in a new tab), from github.com/espressif/esp-drone (opens in a new tab). Pinned to commit db0f656 (opens in a new tab).
- Hardware license
- GPL-3.0-only (opens in a new tab)
- Software license
- GPL-3.0-only (opens in a new tab)
- Commercial use
- Allowed
Photo

What it can do
Written by Robotheca from the project's documents.
- Flying in stabilized mode
- Holding altitude in height-hold mode
- Holding position in position-hold mode
- Controlled via mobile app over Wi-Fi
- Controlled via gamepad over Wi-Fi
- Controlled via ESP-BOX3 joystick through ESP-NOW
- Supports cfclient for control
Bill of materials
This repository has no parts list Robotheca can read yet.
Build guide
The creator's steps, each with its instructions.
- 1Set up ESP-IDF development environment
- 2Clone the ESP-Drone repository
- 3Configure the project for your ESP32 variant
- 4Build the firmware
- 5Flash the firmware to the ESP32 board
- 6Assemble the drone hardware
- 7Test and calibrate the drone
The guide appears here as you scroll.
Guide by @espressif (README.md), under GPL-3.0-only.
Wiring and electronics
Notes written by Robotheca from the project's documents.
Main parts
- ESP32, ESP32-S2 or ESP32-S3 Wi-Fi chip as main controller
- Flow deck extension board for position-hold and height-hold modes
- Mainboard ESP32_S2_Drone_V1_2 or ESPlane_FC_V1 flight controller
- Motors and motor drivers (not specified in documents)
- IMU sensors (not specified in documents)
- ToF sensor VL53L1X (on flow deck)
- Wi-Fi radio for remote control
Connections
- Mainboard connects to flow deck via I2C for VL53L1X sensor and other signals
- ESP32/ESP32-S2/ESP32-S3 pins used for motor control and sensor interfaces as per schematic diagrams
Schematics, boards and diagrams
- docs/_static/Schematic-overview-of-inputs-and-outputs-of-the-Complementary-filter.pngDiagram
- docs/_static/Schematic-overview-of-inputs-and-outputs-of-the-Extended-Kalman-Filter.pngDiagram
- docs/_static/vl53l1x_typical_circuit.pngDiagram
- hardware/ESP32_S2_Drone_Flow_Deck/src/Gerber_ESP32_S2_Drone_Flow_Deck.zipGerber (PCB manufacturing)
- hardware/ESP32_S2_Drone_V1_2/src/Gerber_Mainboard_ESP32_S2_Drone_V1_2.zipGerber (PCB manufacturing)
- hardware/ESPlane_FC_V1/Schematic_ESPlane_FC_V1.pdfDiagram