
Dual power supply
williamjroche/Drone_Flight_Controller
This is a GPS-Denied Autonomous Drone that uses computer vision to fly with radio transmission override. Autonomy is a work in progress.

This is a GPS-Denied Autonomous Drone that uses computer vision to fly with radio transmission override. Autonomy is a work in progress.
Flight controller atlas is an open-source printed circuit board by williamjroche, from the williamjroche/Drone_Flight_Controller repository on GitHub, published under the MIT licence. It is a 4-layer board of 51 × 45 mm with 66 parts on 79 nets, routed with 652 tracks and 98 vias.
It is built around the BMP384, W25Q128JVSIQ and ICM-20948, with the MIC5504-3.3YM5-TR, ABM8-272-T3 and DMP3099L among its other parts. Its parts include 27 capacitors, 15 resistors, 12 connectors, 6 ICs and 1 diode. It belongs with the robots and motor control and radio and wireless boards and the RP2350 boards of this library.
This is a Drone project with a custom flight controller and power management solution that hopefully in the future uses computer vision for flight.
The repository contains two main subsystems:
This is an ongoing project, and the flight controller is still in development. A prototype flight controller can be seen in the photo on the bottom. A more refined PCB implementation of this flight controller is in the works, named 'Atlas Flight Controller'. This board uses the rp2350A microcontroller from Raspberry Pi, micro-usb power and data, ICM-20948 IMU chip (9-axis), 16MB flash memory (W25Q128JVS), an automatic power switching circuit for use with both external power and micro-usb power. This board will be powered by 5v input (from PDB) during flight which has voltage regulators for smooth and stable power delivery.
This board uses the RP2350A microcontroller from Raspberry Pi, micro-usb power and data, ICM-20948 IMU chip (9-axis), BPM 384 barometer sensor, 16MB flash memory (W25Q128JVS), an automatic power switching circuit for use with both external power and micro-usb power. This board will be powered by 5v input (from PDB) during flight which has voltage regulators for smooth and stable power delivery. This board is still in development and has not been tested yet. The current design sports a 4-layer design, with the top and bottom for routing, second layer for GND copper pour, and the third layer for a 3.3v copper pour.
This repo is best used as a guide for building your own custom autonomous drone, as the implementation is specific to the materials used.
-Materials: 3D printer, PLA filament, 4 BLDC motors (I'm using 920kv DJI), 3S lipo, 4 ESC's, 1 PDB (power distribution board), radio ELRS controller, radio ELRS to PWM receiver, Raspberry Pi 5, Raspberry Pi Pico, IMU board
esc_control.py and controller_input.py, or adjust as neededMy progress so far:
This is a work in progress
MIT License
| Qty | Value | Footprint | References |
|---|---|---|---|
| 14 | 100n | Capacitor_SMD:C_0402_1005Metric | C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C20, C21, C26, C27 |
| 8 | Screw_Terminal_01x02 | custom_footprint:691137710002 | J4, J5, J6, J7, J8, J9, J10, J11 |
| 4 | 1k | Resistor_SMD:R_0402_1005Metric | R1, R2, R3, R10 |
| 4 | 4.7k | Resistor_SMD:R_0402_1005Metric | R5, R8, R9, R15 |
| 3 | 0.1uF | Capacitor_SMD:C_0402_1005Metric | C1, C2, C3 |
| 3 | 4.7uF | Capacitor_SMD:C_0402_1005Metric | C6, C7, C8 |
| 2 | 10k | Resistor_SMD:R_0402_1005Metric | R4, R7 |
| 2 | 15p | Capacitor_SMD:C_0402_1005Metric | C22, C23 |
| 2 | 1uF | Capacitor_SMD:C_0402_1005Metric | C24, C25 |
| 2 | 27 | Resistor_SMD:R_0402_1005Metric | R11, R12 |
| 1 | .47uF | Capacitor_SMD:C_0402_1005Metric | C4 |
| 1 | 100k | Resistor_SMD:R_0402_1005Metric | R6 |
| 1 | 3.3uH | Inductor_SMD:L_Cenker_CKCS201610 | L1 |
| 1 | 33 | Resistor_SMD:R_0402_1005Metric | R14 |
| 1 | 330 | Resistor_SMD:R_0402_1005Metric | R13 |
| 1 | 33uF | Capacitor_SMD:C_0402_1005Metric | C5 |
| 1 | 4.7u | Capacitor_SMD:C_0402_1005Metric | C19 |
| 1 | ABM8-272-T3 | custom_footprint:ABM8-272-T3_ABR | X1 |
| 1 | BLM15AX601SN1D | custom_footprint:BEADC1005X55N | FL1 |
| 1 | BMP384 | custom_footprint:LGA10_2.0X2.0X0.95_BOS | U5 |
| 1 | DMP3099L | Package_TO_SOT_SMD:SOT-23 | Q1 |
| 1 | Ext 5v | Connector_Wire:SolderWirePad_1x01_SMD_1x2mm | J2 |
| 1 | GND | Connector_Wire:SolderWirePad_1x01_SMD_1x2mm | J12 |
| 1 | ICM-20948 | custom_footprint:QFN40P300X300X105-24N | U2 |
| 1 | LED | custom_footprint:LED_CMD15-21_VCC | D1 |
| 1 | LM3940IMPX-3.3_NOPB | custom_footprint:SOT230P700X180-4N | U3 |
| 1 | MIC5504-3.3YM5-TR | custom_footprint:SOT-23-5_MC_MCH | U7 |
| 1 | RP2350A-QFN60 | custom_footprint:RP2350A_QFN-60_EP_7.75x7.75_Pitch0.4mm | U1 |
| 1 | SM03B-SRSS-TB | custom_footprint:CONN_SM03B-SRSS-TB_JST | J3 |
| 1 | TL3365AF180QG | custom_footprint:SW_TL3365AF180QG | S1 |
| 1 | USB_B_Micro | custom_footprint:AMPHENOL_10118192-0001LF | J1 |
| 1 | W25Q128JVS | Package_SO:SOIC-8_5.3x5.3mm_P1.27mm | U4 |

williamjroche/Drone_Flight_Controller
This is a GPS-Denied Autonomous Drone that uses computer vision to fly with radio transmission override. Autonomy is a work in progress.

alvarop/swd2usbc
Have you ever wanted to debug your device over USB-C? Sometimes there's not enough room for a JTAG/SWD connector, or even Tag-Connect pads!

ROAR-QUTRC/perseus-v3
The code base for the QUT Robotics Club ROAR teams rover Perseus starting 2026

Sphyrna-029/Pico-Pilot
A simple auto pilot for land/water based robots based on the Raspberry Pi rp2350B/2354B

Pico-Framework/RP2350B-RM2-module
Single-sided RPi RP2350B compute module with RM2 Wi-Fi and Bluetooth

bchelf/microNES
A microcontroller based emulator to play original NES games over composite video (and HDMI)



It measures 51 × 45 mm and has 4 copper layers, 1 mm thick.
66 parts, built around the BMP384, W25Q128JVSIQ, ICM-20948 and MIC5504-3.3YM5-TR. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the williamjroche/Drone_Flight_Controller repository on GitHub, at the commit this page was made from: the board is flight_controller_atlas/flight_controller_atlas.kicad_pcb and its schematic dual_power_supply/bipolar_powersupply_simulation/bipolar_powersupply_simulation.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).