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:

  1. Components, nets, and high-level circuit logic were defined in structured CSV files.
  2. Python scripts parsed the data and generated KiCad schematic files.
  3. 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:

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.