╔════════════════════════════════════════════════════╗
║ ██╗ ██╗██╗ ██╗███╗ ███╗ ███████╗ ██████╗ ║
║ ╚██╗ ██╔╝██║ ██╔╝████╗ ████║ ██╔════╝██╔════╝ ║
║ ╚████╔╝ █████╔╝ ██╔████╔██║ █████╗ ██║ ║
║ ╚██╔╝ ██╔═██╗ ██║╚██╔╝██║ ██╔══╝ ██║ ║
║ ██║ ██║ ██╗██║ ╚═╝ ██║ ██║ ╚██████╗ ║
║ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═════╝ ║
║ ║
║ ESP32-C3 · MICRO DRONE FLIGHT CONTROLLER ║
╚════════════════════════════════════════════════════╝
The world's first documented ESP32-C3 micro drone flight controller running Betaflight.
Most people said it couldn't be done. ESP32-C3 is flagged experimental in ESP-FC. No pre-built binary exists. No community reference. Built it anyway.
This is a fully custom micro quadcopter — from discrete MOSFET motor drivers to compiled-from-source Betaflight firmware — designed to autonomously stabilize and hover on a 1S LiPo, controlled over WiFi.
┌─────────────────────────────────────────────────────┐
│ YKM-FC v0.1 │
│ │
│ [ESP32-C3] ──I2C──► [MPU6050] │
│ │ │
│ GPIO 1,2,3,4 │
│ │ │
│ [SI2306A] ×4 ◄── MOSFET Motor Driver │
│ [SS14] ×4 ◄── Flyback Protection │
│ │ │
│ [816 Motors] ×4 (2CW + 2CCW) │
│ │ │
│ [300mAh 1S LiPo] ◄── SS14 diode → 3.4V ESP32 │
└─────────────────────────────────────────────────────┘
| Component | Choice | Why |
|---|---|---|
| MCU | ESP32-C3 | 160MHz, WiFi, 400KB RAM |
| IMU | MPU6050 | I2C, cheap, proven |
| Motors | 816 Coreless | 4×~28g thrust, 1S compatible |
| Driver | SI2306A MOSFET | 5.8A, low Rds, SOT-23 |
| Protection | SS14 Schottky | Flyback + power rail |
| Battery | 300mAh 1S LiPo | From salvaged TWS earphones |
| Firmware | ESP-FC (ESP-FC compiled for C3) | Betaflight compatible |
FRONT
M1(CW) ──┬── M2(CCW)
╲ │ ╱
╲ YKM ╱
╱ │ ╲
╱ │ ╲
M4(CCW)──┴── M3(CW)
BACK
GPIO Map: M1→GPIO3 M2→GPIO1 M3→GPIO2 M4→GPIO4
PWM: 20kHz · 8-bit · No ESC
LiPo+ ──────────────────── Motor(+)
│
[816 Motor]
│
Motor(-) ──── DRAIN [SI2306A]
SOURCE ──────────────── GND
GATE ──── 100Ω ──── ESP32 GPIO
GATE ──── 10kΩ ──── GND
SS14: Cathode→LiPo+ Anode→DRAIN [Flyback Protection]
100nF cap across motor terminals [Decoupling]
No ESCs. No integrated driver ICs. Pure discrete design. Cost per channel: ~₹15. Total driver cost: ~₹60.
** where, it's dimensions are 40mmX40mm with hight of 11mm of mid ring and 15mm of motor holder **
Built from source using ESP-FC by @rtlopez — compiled specifically for ESP32-C3 via PlatformIO.
# Clone and build
git clone https://github.com/rtlopez/esp-fc
cd esp-fc
pio run -e esp32c3 -t uploadPre-built binary for ESP32-C3 doesn't exist in official releases.
This repo provides the first compiledfirmware.binfor C3.
- Go to espressif.github.io/esptool-js
- Upload
firmware_0x00.bin - Set address to
0x0 - Flash
# Motor pin mapping
resource MOTOR 1 3
resource MOTOR 2 1
resource MOTOR 3 2
resource MOTOR 4 4
# PWM settings for brushed motors
set motor_pwm_protocol = PWM
set motor_pwm_rate = 20000
# Frame and gyro
set mixer = QUADX
set gyro_to_use = FIRST
set align_gyro = CW0
set align_acc = CW0
save| Spec | Value |
|---|---|
| All-up Weight | ~35g (target) |
| Thrust (total) | ~112g max |
| Thrust/Weight | ~3.2:1 |
| Flight Time | ~8 min (estimated) |
| Control | WiFi / Autonomous |
| Frame Size | ~50mm |
| Battery | 3.7V 300mAh 1S |
| Hover Throttle | ~50-60% |
- Firmware compiled for ESP32-C3
- Betaflight configurator connected
- Motor GPIO mapping defined
- MPU6050 integration verified
- Motor driver PCB assembled
- First armed spin test
- PID tuning on test rig
- First autonomous hover
- WiFi telemetry stream
- Conference/paper submission
ESP32-C3 has no hardware FPU, single core, and was flagged experimental by ESP-FC maintainers. No binary existed. No one had publicly documented running Betaflight on C3.
This project proves it's possible — and documents every step so others don't start from zero.
Ishant Jaiswal
B.Tech Robotics & Automation · India
Building robots from scratch since before it was documented.