Personal project — mechanics, electronics, firmware
C
ESP-IDF
FreeRTOS
micro-ROS
ESP32-S3
EasyEDA
End-to-end design and build of a low-cost micro-drone, covering the full stack from
mechanical frame to custom electronics and bare-metal firmware.
Mechanics: custom 3D-printed frame, motor mounts, structural components.
Electronics: custom EasyEDA PCB (MOSFET motor drivers, power distribution).
Firmware: bare-metal C on ESP-IDF v5.4, FreeRTOS dual-core — Core 0 WiFi + micro-ROS
(Micro XRCE-DDS over UDP), Core 1 flight-critical tasks (IMU 1 kHz, PID 1 kHz, optical
flow 20 Hz). Sensor data published as ROS2 topics, visualized in Foxglove Studio.
First flight-controller iteration hand-soldered on perfboard — a Seeed XIAO ESP32-S3 with an MPU-6050 IMU and a buzzer — before committing the design to a custom PCB.Motor-driver MOSFETs (SI2302) with gate pull-down resistors. They were added after floating gates at boot caused inductive spikes that killed the first ESP32 — the classic lesson that motivated the custom PCB.Assembled airframe on a 3D-printed stand for safe bench testing with the propellers removed: 3D-printed X-frame, coreless 8520 motors and the perfboard flight controller.Underside view: the downward-facing optical-flow module (Matek 3901-L0X — PMW3901 + VL53L1X ToF) on its own carrier PCB, for GPS-free position hold.