Loading 3D model… large boards can take a moment.
Open-source ESP32-based flight controller for quadcopters, featuring sensor fusion, nested PID control, motor mixing, real-time Wi-Fi PID tuning, and a custom KiCad PCB with support for GPS and FPV modules.
This project is a fully custom ESP32-based quadcopter flight controller, built from scratch to provide complete hardware and firmware flexibility.
Unlike commercial closed-source flight controllers, this system allows direct modification of IMU handling, PID algorithms, motor mixing, and communication layers—making it ideal for learning, research, and UAV experimentation.
The controller runs an 83 Hz control loop, uses a complementary filter for real-time roll/pitch estimation, and stabilizes the quadcopter using nested PID loops (Angle + Rate).
A built-in Wi-Fi interface enables on-the-fly PID tuning and telemetry, eliminating the need to reflash firmware between adjustments.
This repository includes the complete firmware, custom KiCad PCB design, calibration and testing utilities, project media, and a comprehensive technical report documenting the system design and implementation.
Firmware/
Main_Firmware/ – Main ESP32-based quadcopter flight controller firmwareTesting_Calibration/ – Calibration, testing, and Wi-Fi PID tuning utilitiesHardware/
Drone Flight Controller/ – Complete KiCad project (schematic, PCB layout, and project files)FC Gerber.zip – PCB manufacturing (Gerber) filesPCB View.pdf – PCB layout overviewSchematic.pdf – Flight controller circuit schematicMedia/
Drone/ – Drone assembly, flight controller, and hardware imagesTest Flight and Calibration/ – Flight test videos, calibration recordings, and PID response graphTechnical Report.pdf – Comprehensive technical documentation covering hardware design, firmware architecture, implementation, and testing
Wire – I²C communicationESP32Servo – ESC PWM controlWiFi – Wireless communicationAsyncTCP – Asynchronous TCP networkingESPAsyncWebServer – Web-based PID tuning dashboardSPIFFS – Web dashboard file storageFollow the steps below to configure and fly the quadcopter for the first time.
Firmware/Testing_Calibration/Receiver_PWM_Testing/ to verify proper receiver operation.Firmware/Testing_Calibration/ESC_Calibration/ and calibrate all ESCs.Firmware/Testing_Calibration/IMU_Calibration/.Firmware/Testing_Calibration/PID_Tuning_Webserver/.Firmware/Main_Firmware/Flight_Controller_v2/Flight_Controller_v2.ino.
No comments yet. Be the first to ask about this board.