This project explored a drone flight-control platform with greater supply-chain flexibility. I began with open-source ecosystem and hardware-architecture research, built tooling for programmatic schematic generation, and worked with a hardware engineer to develop and validate a controller based on Raspberry Pi Pico 2 (RP2350).
Open flight-control and ESC research
I evaluated open-source flight-controller firmware and Flight Management Unit architectures, including MultiWii, Cleanflight, Betaflight, ArduPilot, and PX4, comparing their roles, hardware dependencies, and portability.
For electronic speed control, I studied BLHeli, SimonK, KISS, and VESC-based approaches, assessing firmware openness, motor-control capabilities, and the feasibility of custom hardware. The findings were captured in a research report on custom ESC and VESC solutions.
Programmatic schematic design
To accelerate architecture comparison and schematic iteration, I developed a data-driven KiCad generation workflow:
- Components, nets, and high-level circuit logic were defined in structured CSV files.
- Python scripts parsed the data and generated KiCad schematic files.
- Circuit-logic changes could be reviewed in Git before generated schematics moved into PCB layout.
I used the tooling to reconstruct the PX4 FMUv6C schematic and evaluate several prototype architectures. Compared with editing only graphical schematics, the high-level definitions were easier to review, track, and version, and new variants could be produced quickly for collaboration with PCB designers.
Raspberry Pi Pico 2 flight controller
Most open-source flight-controller firmware targets STM32 hardware. To increase supply-chain choice while retaining strong cost and performance characteristics, we selected the dual-core RP2350 in Raspberry Pi Pico 2. It provides a mature open-source toolchain and access to a broad range of external sensor modules.
I used Betaflight as the firmware base, drafted the initial schematic from comparable flight-controller designs, and collaborated with a hardware engineer on the PCB. I also led the RP2350 firmware port and resolved integration issues involving:
- Barometer drivers and hardware-interface compatibility.
- Blackbox Logger storage and data capture.
- Flight-controller UART communication implemented with PIO.
The resulting platform completed a successful flight validation on a 250 g drone. It also integrated with a Raspberry Pi 4 and exchanged MAVLink data with a Ground Control Station, demonstrating the feasibility of this nontraditional MCU platform for flight control.