A DIY quadcopter drone built around the ESP32 microcontroller, controlled via smartphone over Wi-Fi — targeting a total build cost under $15.
Project Status: 🔬 Research & Planning phase — currently gathering references, schematics, and component lists before starting the build.
Design and build a lightweight, low-cost quadcopter drone using an ESP32-WROOM-32 as the flight controller and an MPU6050 IMU for stabilization, with smartphone-based control over Wi-Fi.
- ESP32-WROOM-32 as the main flight controller (Wi-Fi connectivity built-in)
- MPU6050 6-axis IMU (accelerometer + gyroscope) for real-time stabilization
- MOSFET-driven brushed motors (no ESC required) to reduce cost and weight
- Smartphone control via a dedicated app over Wi-Fi
- Custom PCB acting as both the circuit board and the drone frame
- TP4056-based Li-Po battery charging circuit
- PID control loop for flight stability
| Component | Qty | Purpose |
|---|---|---|
| ESP32-WROOM-32 | 1 | Main MCU — control & Wi-Fi communication |
| MPU6050 IMU | 1 | Orientation & stabilization data |
| 720 Coreless Brushed Motors | 4 | Thrust / propulsion |
| SI2302DS N-Channel MOSFET | 4 | Motor driver (replaces ESCs) |
| 55mm Propellers (2 CW + 2 CCW) | 4 | Lift generation |
| 3.7V 25C+ Li-Po Battery | 1 | Power source |
| MIC5219-3.3V Voltage Regulator | 1 | 3.3V rail for ESP32 & MPU6050 |
| CH340C USB-to-Serial | 1 | Programming & debugging interface |
| TP4056 Charging IC | 1 | Battery charge management |
| 1N4148 Diodes | 4 | Flyback protection for MOSFETs |
| Custom Drone PCB | 1 | Circuit board + structural frame |
┌─────────────┐ I2C ┌───────────┐
│ ESP32-WROOM │◄────────────────►│ MPU6050 │
│ (Flight │ │ (IMU) │
│ Controller)│ └───────────┘
└──────┬───────┘
│ GPIO (PWM)
├──► MOSFET T1 ──► Motor 1 (CW)
├──► MOSFET T2 ──► Motor 2 (CCW)
├──► MOSFET T3 ──► Motor 3 (CW)
└──► MOSFET T4 ──► Motor 4 (CCW)
│ Wi-Fi
▼
┌──────────┐
│Smartphone│
│ (App) │
└──────────┘
| ESP32 GPIO | Connected To |
|---|---|
| GPIO21 (SDA) | MPU6050 SDA |
| GPIO22 (SCL) | MPU6050 SCL |
| GPIO (PWM) x4 | SI2302DS MOSFETs (motors) |
| TXD / RXD | CH340C USB-Serial |
| EN | Reset button / CH340C RTS |
| GPIO0 | Boot button |
- USB 5V input → Schottky diode (SS34) → MIC5219 → 3.3V rail (ESP32, MPU6050)
- USB 5V input → TP4056 → 3.7V Li-Po battery charging
- Li-Po battery → Direct power to motors via MOSFETs
These are the main references being studied for this project:
- 📺 YouTube Tutorial: ESP32 Drone Build
- 📝 Written Guide: How to Make a Cheap ESP32 Drone Under $15 — ESC Labs
- 🔧 Circuit Diagram & BOM: EDISON-SCIENCE-CORNER/ESP32-DRONE (GitHub)
- 🚀 ESP-Drone Firmware (Espressif): espressif/esp-drone
- ⚡ ESP Launchpad (Firmware Flasher): espressif.github.io/esp-launchpad
- 🖥️ PCB Design Tool: EasyEDA Pro
- Research drone architecture and components
- Finalize component list and order parts
- Design / obtain custom PCB (Gerber files)
- Assemble PCB and solder components
- Flash ESP32 firmware
- Calibrate MPU6050 and PID parameters
- First test flight
- Tune PID gains for stable hover
- (Future) Add altitude hold
- (Future) Add FPV camera support
- Soldering iron
- Hot plate / reflow station (for SMD components)
- Solder paste (63/37 Sn/Pb, 183°C melting point)
- Wires
- USB cable for programming
TBD