STM32F722RET6 Flight Controller
I'm Kavindu, an Industrial Mechatronic Technician and Embedded Systems Developer from Sri Lanka, passionate about automation, robotics, and IoT. I trained at the Ceylon German Technical Training Institute and have hands-on experience with PLCs, control panels, pneumatics, electronics, PCB design, and embedded programming. I build real-world solutions using C++, ESP32, microcontrollers, Qt/QML, and networked IoT systems from custom hardware and firmware to REST APIs and cross-platform dashboards.
My drone journey started over 5 years ago when I built my first drone using an APM 2.8. Since then I've had one big dream to build my own flight controller from scratch. I've attempted several flight controller designs over the years, and this one is the result of all that trial and error finally coming together. I'm genuinely excited to share it it represents years of learning compressed into a single board.
I wanted full control over the peripheral map and sensor selection instead of working around an off the shelf board's constraints and to actually understand every design decision that goes into a flight controller, not just fly one. I'm running ArduCopter firmware and building a companion Qt/C++ ground control station in parallel, so I wanted a board whose I/O layout and sensor set I fully understand and control end to end hardware, firmware, and GCS.
Sensor suite: ICM-42688-P IMU (SPI), BMP390 barometer, LIS3MDL magnetometer, M24C02 EEPROM for calibration storage. USB-C with USBLC6-2P6 ESD protection wired directly into the F722's native USB peripheral for GCS connection and DFU flashing. microSD slot for onboard logging. TLV75533 LDO power regulation with ferrite bead filtering and mixed decoupling across all rails. 4 status LEDs, 2 push buttons, and a SIT1602AI MEMS oscillator instead of a crystal for better vibration tolerance.
Board build: 4-layer stack (signal / power / power / mixed plane), routed and DRC-checked for PCBWay's standard manufacturing capabilities. The hardware supports both custom firmware and ArduCopter-compatible firmware.
Design process: The schematic stage took the most care getting the STM32F7's power supply decoupling and boot configuration right, since even one missing capacitor on the wrong pin can mean the MCU (and the whole board) won't come up cleanly. Routing a 4-layer board with a Cortex-M7 in LQFP-64 also meant thinking carefully about plane splits and return paths, since IMU noise sensitivity was a real concern I kept the ICM-42688-P as isolated as possible from the switching regulator and high-speed USB traces to protect the EKF's primary sensor input. Fitting sensors, USB-C, microSD, and all the decoupling into a compact 4-layer layout while keeping the analog front end clean was the biggest routing challenge on this board.

Use cases: This flight controller is intended as an open, flexible development platform well suited for academic research, university coursework, firmware development, control algorithm testing, and custom UAV/robotics/embedded control projects. Its compact form factor and accessible interfaces make it a solid foundation for both learning and advanced prototyping.
Thank you for supporting makers and independent students like me. This board represents years of learning and several failed attempts finally coming together, and getting it manufactured would mean a lot it's the first time I'll get to hold a flight controller I designed completely from scratch. I'd love PCBWay's support to bring this from a KiCad file to a real, flying board.
Apply for sponsorship >>- Comments(0)
- Likes(0)