Skip to the content
PCBKitNew board
4 layers47.5 × 47.5 mmDrone Motherboard, the printed circuit board in 3D

PCB and Code to control a quadcopter drone, uses PID controllers and Kalman filters with sensors to implement angle mode control.

Size
47.5 × 47.5 mm
Copper layers
4
Thickness
1.6 mm
Parts
63
Nets
77
Pads
245
Tracks, vias
444, 124
Pours
6
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
26 Aug 2025
Updated
26 Aug 2025

Overview

Drone Motherboard is an open-source printed circuit board by pagabel48, from the pagabel48/Drone_Controller repository on GitHub. It is a 4-layer board of 47.5 × 47.5 mm with 63 parts on 77 nets, routed with 444 tracks and 124 vias.

It is built around the STM32F401RCT6, LM2574M-3.3 and IRF9540NS. Its parts include 19 capacitors, 12 resistors, 9 connectors, 6 diodes and 3 ICs. It belongs with the robots and motor control and power boards and the STM32 boards of this library.

Main components

3

README

README.md

Drone Controller

The control board is based around an STM32f401 MCU. For power regulation a buck converter is used to generate steady 3.3v from a 4s LiPO Battery or USB 5v line. When powered over battery, the highside power latch allows the board to be toggled on or off.

To allow for closed loop control a BMP280 barometer and an ICM42670P IMU are connected over I2C, and PWM is used to communicate with the motor ESCs and controller receiver. Programming is done over USB, and pins are exposed for UART, I2C, and SWD protocols for extensibility.

Four layers were used to make routing easier and improve signal integrity.

Routing

Schematic

Code

State estimation is achieved with two Kalman filters (attitude and altitude), and PID controllers are used in combination with a mixer to get final motor throttle values.

Custom drivers were written to interface with the sensors, and a matrix math library was written using c++ operator overloading - this allows for readable state space control code. The IMU driver reads when triggered by a pin interupt, and the barometer driver uses polling.

A testing routine was written which can be run instead of the main drone loop - it runs unit tests for the code, then tests operation of the sensors, motors, Kalman filters, and status light.

The firmware automatically turns the drone off when the battery voltage drops below a safe level.

Controller Code is Contained in Firmare/Core/

Code Structure

Frame

The frame was designed in fusion 360 and was 3d printed using PETG plastic. Care was taken to maximize rigidity whilst minimizing weight.

Parts

63
QtyValueFootprintReferences
80u1Capacitor_SMD:C_0402_1005MetricC5, C8, C12, C13, C15, C16, C17, C19
610kResistor_SMD:R_0402_1005MetricR1, R2, R4, R6, R8, R10
6Conn_01x04_PinConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ1, J2, J3, J4, J5, J7
411DQ05Diode_THT:D_DO-41_SOD81_P7.62mm_HorizontalD1, D2, D3, D5
4MountingHoleMountingHole:MountingHole_3.2mm_M3_PadH1, H2, H3, H4
31k5Resistor_SMD:R_0402_1005MetricR3, R5, R7
210nCapacitor_SMD:C_0402_1005MetricC4, C14
210pCapacitor_SMD:C_0402_1005MetricC9, C10
222uFCapacitor_THT:C_Radial_D5.0mm_H5.0mm_P2.00mmC3, C7
22u2Capacitor_SMD:C_0402_1005MetricC6, C20
24k7Resistor_SMD:R_0402_1005MetricR9, R11
24u7Capacitor_SMD:C_0402_1005MetricC11, C18
2SW_PushButton_Switch_THT:SW_PUSH_6mmSW1, SW2
2TestPointTestPoint:TestPoint_Pad_4.0x4.0mmTP1, TP2
116MHzCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY1
1220uFCapacitor_THT:C_Radial_D6.3mm_H11.0mm_P2.50mmC2
12N222A_NPNPackage_TO_SOT_THT:TO-92Q2
12N2907_PNPPackage_TO_SOT_THT:TO-92Q1
1330uHInductor_THT:L_Axial_L5.3mm_D2.2mm_P7.62mm_Horizontal_Vishay_IM-1L1
1470Resistor_SMD:R_0402_1005MetricR13
1Conn_01x02_PinConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ6
1Conn_01x04_SocketConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ8
1GREENLED_THT:LED_D5.0mm_ClearD6
1IRF9540NPackage_TO_SOT_THT:TO-220-3_VerticalQ3
1LM2574M-3.3Package_SO:SOIC-14W_7.5x9mm_P1.27mmU1
1REDLED_THT:LED_D5.0mm_ClearD4
1STM32F401RCT6Package_QFP:LQFP-64_10x10mm_P0.5mmU2
1SW_SPDTfootprints:CUS-12TB_NDCSW3
1USB_OTGConnector_USB:USB_Micro-B_Amphenol_10118193-0001LF_HorizontalJ9
1~Package_LGA:LGA-14_3x2.5mm_P0.5mm_LayoutBorder3x4yU3

Questions

How big is the Drone Motherboard PCB?

It measures 47.5 × 47.5 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Drone Motherboard use?

63 parts, built around the STM32F401RCT6, LM2574M-3.3 and IRF9540NS. 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.

Where can I download the Drone Motherboard KiCad files?

From the pagabel48/Drone_Controller repository on GitHub, at the commit this page was made from: the board is PCB/Drone Motherboard.kicad_pcb and its schematic PCB/Drone Motherboard.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Drone Motherboard design in my own project?

Its repository states no licence, so its author keeps all rights: ask pagabel48 before reusing the design.

Similar boards

  • 2 layers391 × 131.1 mmAustin, the printed circuit board in 3D

    Austin

    AcheronProject/Austin

    Austin PCB

    599 parts18
  • 2 layers63 × 49.2 mmSTM32F4XX, the printed circuit board in 3D

    STM32F4XX

    gianlucarenzi/STM32F4XX

    A generic development board for the STM32F401 microcontroller.

    42 parts2GPL-3.0
  • 2 layers344.7 × 123.1 mmAthena, the printed circuit board in 3D

    Athena

    BenjaminJAnderson/Orthodox

    557 parts1
  • 4 layers76 × 76.9 mmDsp amplifier x4, the printed circuit board in 3D

    Dsp amplifier x4

    blus-audio/hardware

    Audio hardware

    179 parts1CERN-OHL-S-2.0
  • 2 layers86.4 × 97.2 mmArm Control Board, the printed circuit board in 3D

    Arm Control Board

    ISU-MAVRIC/MAVRIC_Arm

    MAVRIC arm control board and firmware

    118 parts1
  • 2 layers102.4 × 98.6 mmMAVRIC Main, the printed circuit board in 3D

    MAVRIC Main

    ISU-MAVRIC/MAVRIC_Main

    Hardware and firmware for MAVRIC's main control system

    66 parts1
  • 2 layers25.4 × 80.2 mmRedPill board, the printed circuit board in 3D

    RedPill board

    simonyiszk/STM32-RedPill

    STM32-based development board with integrated ST-LINK/V2 compatible programmer, to be used on SEM advanced courses.

    63 parts1CERN-OHL-W-2.0
  • 2 layers309.6 × 123.8 mmKB75HIW, the printed circuit board in 3D

    KB75HIW

    indrawahid7/Keyboard

    438 partsGPL-2.0