Skip to content

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).

Photo

ESP-Drone, photo from its repository
Photo:@espressif (opens in a new tab)GPL-3.0-onlysource file (opens in a new tab)

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.

  1. 1Set up ESP-IDF development environment
  2. 2Clone the ESP-Drone repository
  3. 3Configure the project for your ESP32 variant
  4. 4Build the firmware
  5. 5Flash the firmware to the ESP32 board
  6. 6Assemble the drone hardware
  7. 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