Skip to content

Latest commit

 

History

15 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

README (2).md

                        ╔════════════════════════════════════════════════════╗
                        ║  ██╗   ██╗██╗  ██╗███╗   ███╗    ███████╗ ██████╗  ║
                        ║  ╚██╗ ██╔╝██║ ██╔╝████╗ ████║    ██╔════╝██╔════╝  ║
                        ║   ╚████╔╝ █████╔╝ ██╔████╔██║    █████╗  ██║       ║
                        ║    ╚██╔╝  ██╔═██╗ ██║╚██╔╝██║    ██╔══╝  ██║       ║
                        ║     ██║   ██║  ██╗██║ ╚═╝ ██║    ██║     ╚██████╗  ║
                        ║     ╚═╝   ╚═╝  ╚═╝╚═╝     ╚═╝    ╚═╝      ╚═════╝  ║
                        ║                                                    ║
                        ║          ESP32-C3 · MICRO DRONE FLIGHT CONTROLLER  ║
                        ╚════════════════════════════════════════════════════╝
Typing SVG

ESP32-C3 Betaflight Status License


⚡ What is YKM-FC?

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.


🔧 Hardware Stack

┌─────────────────────────────────────────────────────┐
│                   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

🏗️ Motor Layout

        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

⚙️ Motor Driver Circuit (Per Motor × 4)

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.


Real model look

WhatsApp Image 2026-06-13 at 3 52 01 AM ** where, it's dimensions are 40mmX40mm with hight of 11mm of mid ring and 15mm of motor holder **

🚀 Firmware

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 upload

Pre-built binary for ESP32-C3 doesn't exist in official releases.
This repo provides the first compiled firmware.bin for C3.

Flash via Web Flasher

  1. Go to espressif.github.io/esptool-js
  2. Upload firmware_0x00.bin
  3. Set address to 0x0
  4. Flash

📡 Betaflight CLI Config

# 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

📊 Specifications

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%

🗺️ Roadmap

  • 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

🧠 Why This Matters

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.


👤 Author

Ishant Jaiswal
B.Tech Robotics & Automation · India
Building robots from scratch since before it was documented.


If this helped you — star it. If you improved it — PR it.

Footer

About

ESP32-C3 Betaflight Flight Controller with discrete MOSFET drivers

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors