Skip to the content
4 layers90 × 210 mmPID Board, the printed circuit board in 3D

Analog PID flight controller for a 5" quadcopter: roll, pitch and yaw loops built from op-amps and trimpots, fed by an MPU-6050 through a small ATtiny/DAC "shim", driving a 4in1 ESC. Designed in KiCad 10.

Size
90 × 210 mm
Copper layers
4
Thickness
1.6 mm
Parts
228
Nets
159
Pads
625
Tracks, vias
1,410, 78
Pours
10
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
22 Oct 2026
Updated
1 Nov 2026

Overview

PID Board is an open-source printed circuit board by AaronDoubert, from the AaronDoubert/quadcopter-pid-boards repository on GitHub. It is a 4-layer board of 90 × 210 mm with 228 parts on 159 nets, routed with 1,410 tracks and 78 vias.

It is built around the ATTINY1614-SSN, MCP6004-E/P and MCP4822-E/P, with the 74HC138 and CD4066BE among its other parts. Its parts include 85 resistors, 45 capacitors, 18 ICs, 13 diodes and 6 connectors. It belongs with the robots and motor control boards and the AVR (ATmega, ATtiny) boards of this library.

Main components

5

README

README.md

Quadcopter Flight Controller – Analog PID Boards

Analog PID flight controller for a 5" quadcopter: roll, pitch and yaw loops built from op-amps and trimpots, fed by an MPU-6050 through a small ATtiny/DAC "shim", driving a 4in1 ESC. Designed in KiCad 10.

PID_Board rev B: compact through-hole board for the 5" frame (latest)

PID_Board rev B, 3D view

90 x 210 mm, 4-layer, all through-hole except the two SOIC ATtinys. It mounts straight onto the frame.

Mounting30.5 x 30.5 stack holes + 20 x 20 ESC stack holes (M3); copper-free rings for the standoffs
ESC4in1 sits underneath the rear section on the 20x20 holes; harness to J5
IMUGY-521 on a header, MPU-6050 directly over the frame CG
ReceiverELRS 2.4 GHz (for example RadioMaster RP1/RP2), CRSF on J6 at the front edge
PowerVBAT (2S–4S) from the ESC harness → 1N5817 → mini fixed-5 V buck module on U10 (3 wires; see MOUNTING.md)
TuningOne labelled panel per axis: test points, LOOP/GYRO jumpers, Go/Kp/Ki/Kd trimpots, all prop-clear
LayersTop/bottom signals, In1 GND plane, In2 +5 V plane
Board on the frame with 5-inch prop disksTop renderBottom render
Board on the frame (dashed: 5" prop disks)TopBottom

Order / build files

PID_Board_SMT: SMT, digital-pot version

100 x 100 mm 2-layer, assembly-ready at JLCPCB (LCSC part numbers), digital pots instead of trimpots.

SMT top SMT bottom

Files: PID_Board_SMT/fab/ (Gerbers, BOM, CPL), PID_Board_SMT/SMT_NOTES.md, PID_Board_SMT/scripts/.

Simulation: quad model + digital twin of the board

Simscape circuit model of the board flying the quad

sim/ holds two linked Simulink models (R2024b):

  • The quad: 6-DOF 5" quad with 2207 1800KV motors, 5x4.3x3 props, a 4S battery with voltage sag, the ESC and the MPU-6050.
  • The board twin: shim, all 5 analog loops, control_io. The analog section comes as either a fast behavioural model or a Simscape Electrical circuit model.

The board twin plugs into the quad's controller slot, or runs on a bench harness that mirrors the real board's test points.

First-flight trimpot settings are conservative values checked in the sim, with margin for inertia and delay errors. How they were chosen and a suggested first-flight procedure are in sim/gains/README.md.

Repository layout

PathWhat
PID_Board/Through-hole board, rev B (current)
PID_Board/old_versions/Earlier through-hole revisions (v1, rev A: 250 x 100 mm bench layout)
PID_Board_SMT/SMT / digital-pot board
sim/Simulink quad model, board twin (fast + Simscape circuit), first-flight gains, docs
CHANGELOG.mdVersion history

Parts

228
QtyValueFootprintReferences
3610kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR2, R24, R25, R201, R202, R203, R204, R211, R212, R213, R214, R215, R216, R217, R218, R220 +20
16100nF X7RCapacitor_THT:C_Disc_D5.0mm_W2.5mm_P5.00mmC4, C5, C6, C7, C8, C9, C10, C27, C28, C104, C205, C206, C305, C306, C404, C405
151kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R17, R19, R21, R101
121N4148Diode_THT:D_DO-35_SOD27_P7.62mm_HorizontalD201, D202, D203, D204, D301, D302, D303, D304, D401, D402, D403, D404
101uFCapacitor_THT:C_Disc_D5.0mm_W2.5mm_P5.00mmC15, C16, C17, C18, C19, C20, C21, C22, C23, C24
8MountingHoleMountingHole:MountingHole_3.2mm_M3H1, H2, H3, H4, H5, H6, H7, H8
7MCP6004Package_DIP:DIP-14_W7.62mmU101, U201, U202, U301, U302, U401, U402
647kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR205, R210, R305, R310, R405, R410
51uF filmCapacitor_THT:C_Rect_L7.2mm_W5.5mm_P5.00mm_FKS2_FKP2_MKS2_MKP2C201, C204, C301, C304, C401
52.2kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR16, R18, R20, R22, R23
54.7kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR1, R3, R206, R306, R406
5MCP4822Package_DIP:DIP-8_W7.62mmU4, U5, U6, U7, U8
410uFCapacitor_THT:CP_Radial_D5.0mm_P2.00mmC3, C26, C105, C106
3100Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR102, R103, R104
3100k, set 50k (Kd 9.7 ms)Potentiometer_THT:Potentiometer_Bourns_3296W_VerticalRV203, RV303, RV403
3100k, set 50k (Kp 1.16)Potentiometer_THT:Potentiometer_Bourns_3296W_VerticalRV201, RV301, RV401
3100nF filmCapacitor_THT:C_Rect_L7.2mm_W2.5mm_P5.00mm_FKS2_FKP2_MKS2_MKP2C202, C302, C402
310nF C0GCapacitor_THT:C_Disc_D5.0mm_W2.5mm_P5.00mmC203, C303, C403
31MResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR208, R308, R408
322kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR4, R221, R321
327kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR209, R309, R409
32N7000Package_TO_SOT_THT:TO-92_Inline_WideQ1, Q2, Q3
3470nF filmCapacitor_THT:C_Rect_L7.2mm_W4.5mm_P5.00mm_FKS2_FKP2_MKS2_MKP2C101, C102, C103
3D_OUTConnector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalTP204, TP304, TP404
3EXT_FBConnector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalTP210, TP310, TP407
3EXT_SPConnector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalTP209, TP309, TP406
3I_OUTConnector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalTP203, TP303, TP403
3LOOP_FB: 1-2 gyro, 2-3 benchConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJP202, JP302, JP402
3LOOP_SP: 1-2 closed, 2-3 benchConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJP201, JP301, JP401
3P_OUTConnector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalTP202, TP302, TP402
2100k, set 67k (Ki 10/s)Potentiometer_THT:Potentiometer_Bourns_3296W_VerticalRV202, RV302
220kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR219, R319
233kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR207, R307
250k, set 25k (Go 1.75)Potentiometer_THT:Potentiometer_Bourns_3296W_VerticalRV204, RV304
2ATtiny1614-SSPackage_SO:SOIC-14_3.9x8.7mm_P1.27mmU1, U3
2E_AConnector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalTP206, TP306
2PLANT_OUTConnector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalTP208, TP308
1100k, set midPotentiometer_THT:Potentiometer_Bourns_3296W_VerticalRV402
110k (wiper-GND 8.1k)Potentiometer_THT:Potentiometer_Bourns_3296W_VerticalRV101
110k DNPResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR413
115kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR407
11N5817Diode_THT:D_DO-41_SOD81_P10.16mm_HorizontalD1
147uF 25VCapacitor_THT:CP_Radial_D5.0mm_P2.00mmC25
15V buck module (Mini 5V 3A)Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalU10
174HC138Package_DIP:DIP-16_W7.62mmU2
1Axis_MonConnector_PinHeader_2.54mm:PinHeader_1x07_P2.54mm_VerticalJ1
1CD4066BEPackage_DIP:DIP-14_W7.62mmU9
1ELRS_RXConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ6
1ESC_4in1Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ5
1E_PRConnector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalTP301
1E_RRConnector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalTP201
1E_YRConnector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalTP401
1IMU_GY521Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ2
1PITCH_RATE_SPConnector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalTP307
1ROLL_RATE_SPConnector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalTP207
1TL431ACLPGPackage_TO_SOT_THT:TO-92_Inline_WideU102
1UPDIConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ4
1UPDI2Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ7
1U_PITCHConnector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalTP305
1U_ROLLConnector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalTP205
1U_YAWConnector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalTP405
1VGND_AConnector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalTP103
1VGND_BConnector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalTP104
1VGND_CConnector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalTP105
1VREF_BUFConnector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalTP101
1VSETConnector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalTP102

More from AaronDoubert/quadcopter-pid-boards

2
  • 2 layers250 × 100 mmPID Board v1, the printed circuit board in 3D

    PID Board v1

    AaronDoubert/quadcopter-pid-boards

    Analog PID flight controller for a 5" quadcopter: roll, pitch and yaw loops built from op-amps and trimpots, fed by an MPU-6050 through a small ATtiny/DAC "shim", driving a 4in1 ESC. Designed in KiCad 10.

    226 parts
  • 2 layers100 × 100 mmPID Board SMT, the printed circuit board in 3D

    PID Board SMT

    AaronDoubert/quadcopter-pid-boards

    Analog PID flight controller for a 5" quadcopter: roll, pitch and yaw loops built from op-amps and trimpots, fed by an MPU-6050 through a small ATtiny/DAC "shim", driving a 4in1 ESC. Designed in KiCad 10.

    224 parts

Similar boards

  • 2 layers78.7 × 81 mmBraids through hole V1.1 BRAIN, the printed circuit board in 3D

    Braids through hole V1.1 BRAIN

    sebastianbeyer/KOSMO_braids

    This is a KOSMO (Look Mum No Computer) version of the Mutable instruments braids, based on the through-hole version done by sound-force.nl.

    68 parts15
  • 2 layers39.4 × 107.9 mmDuinoRack, the printed circuit board in 3D

    DuinoRack

    jypma/modsynth

    Open hardware eurorack synth modules

    123 parts8
  • 2 layers225 × 110 mmOblique Palette 0.3 PCB, the printed circuit board in 3D

    Oblique Palette 0.3 PCB

    Oblique-Industry/Oblique-Easel

    Code, Electronics, and Industrial Design for the Oblique Easel Artmaschine Cyberdeck

    307 parts5
  • 4 layers120 × 98 mmExbus proto, the printed circuit board in 3D

    Exbus proto

    clydeshaffer/gametank

    design files for the gametank hardware implementation

    871 parts150
  • 2 layers101.6 × 53.3 mmPan ard inf, the printed circuit board in 3D

    Pan ard inf

    goruck/nilm

    Energy Management Using Real-Time Non-Intrusive Load Monitoring

    49 parts107MIT
  • 2 layers59.7 × 41.3 mmApple II Adapter, the printed circuit board in 3D

    Apple II Adapter

    tebl/Apple2-Joystick-Adapter

    Adapter that plugs into the Game I/O connector on the Apple //e motherboard to add support for Atari-style joysticks, cables can be routed to the back of the case for easy access.

    23 parts17
  • 2 layers100 × 100 mm2STACK, the printed circuit board in 3D

    2STACK

    akpu/CubeSat-5Stack-Architecture

    Design and Development of a 1U CubeSat Electronics Stack for Communication and Telemetry

    27 parts3

Questions

How big is the PID Board PCB?

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

What parts does the PID Board use?

228 parts, built around the ATTINY1614-SSN, MCP6004-E/P, MCP4822-E/P and 74HC138. 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 PID Board KiCad files?

From the AaronDoubert/quadcopter-pid-boards repository on GitHub, at the commit this page was made from: the board is PID_Board/PID_Board.kicad_pcb and its schematic PID_Board/PID_Board.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the PID Board design in my own project?

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