Skip to the content
PCBKitNew board
2 layers99.7 × 69.9 mmPID Controller, the printed circuit board in 3D

PID Controller

glecuy/PID_Controller

Universal/DC motor PID speed regulator for bench drill

Size
99.7 × 69.9 mm
Copper layers
2
Thickness
1.6 mm
Parts
52
Nets
50
Pads
166
Tracks, vias
352, 35
Routed
Yes
KiCad
KiCad 6 (file 20211014)
Created
12 Jun 2025
Updated
12 Jun 2025

Overview

PID Controller is an open-source printed circuit board by glecuy, from the glecuy/PID_Controller repository on GitHub. It is a 2-layer board of 99.7 × 69.9 mm with 52 parts on 50 nets, routed with 352 tracks and 35 vias.

It is built around the BAT54, BC639 and BC640, with the RHRP15120 among its other parts. Its parts include 17 resistors, 13 capacitors, 8 diodes, 6 connectors and 3 ICs. It belongs with the power and robots and motor control boards and the AVR (ATmega, ATtiny) boards of this library.

Main components

4

README

README.md

Universal motor PID speed regulator for bench drill.

ATMEGA 328 based DC motor electronic regulator.

It uses pms67/PID library (https://github.com/pms67/PID)

Hardware design

  • A potentiometer is used at input to select desired speed.
  • Actual speed is measured and sent to controller
  • ATmega microcontroller compute resulting PWM signal
  • A MOSFET modulates MOTOR DC voltage.
  • Switching frequency is 32KHz.

Software design

  • Potentiometer position is read via ADC3 (setpoint)
  • Speed sensor connected to INT0 and measured by counting timer2 ticks (measurement)
  • Sampling rate is set to 0.1 Sec and call to PIDController_Update()
  • Output is used to control motor voltage (PWM)
  • Calculations are done in floating point and normalized to one.

Parts

52
QtyValueFootprintReferences
4100nFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC4, C6, C9, C13
41KResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR1, R3, R4, R8
4220Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR2, R7, R10, R15
210Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR9, R11
2100mfPCB_Library:CP_Radial_D18.0mm_P7.50mmC8, C10
2100nFLED_SMD:LED_1210_3225MetricC2, C5
24.7kResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR16, R17
247KResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR12, R13
2Bat54PCB_Library:D_SOT-23_ANKD5, D7
2Conn_01x04PCB_Library:GG_PinHeader_1x04J3, J6
2LEDLED_SMD:LED_2010_5025MetricD2, D6
1100Resistor_THT:R_Axial_DIN0309_L9.0mm_D3.2mm_P12.70mm_HorizontalR14
11000mFPCB_Library:CP_Radial_D8.0mm_P5.00mmC12
110nFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC1
12.2KResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR5
1220mFPCB_Library:CP_Radial_D8.0mm_P5.00mmC3
14.7uFPCB_Library:C_Film_5.08C11
14071Package_DIP:DIP-14_W8.89mm_SMDSocket_LongPadsU3
147nFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC7
1Arduino_Pro_miniPCB_Library:GG_Arduino_Pro_MiniEVBU2
1BC639PCB_Library:TO-92_deltaQ2
1BC640PCB_Library:TO-92_deltaQ1
1Conn_01x03PCB_Library:JWT_1x03_P3.96mm_VerticalJ2
1Conn_01x03PCB_Library:GG_PinHeader_1x03J1
1Conn_01x06PCB_Library:GG_PinHeader_1x06J4
1DDiode_THT:D_5KPW_P12.70mm_HorizontalD1
1D_Bridge_-AA+PCB_Library:Diode_Bridge_300VD8
1FusePCB_Library:Fuse_5X20F1
1LEDLED_SMD:LED_1210_3225Metric_Pad1.42x2.65mm_HandSolderD9
1LM317_TO-220PCB_Library:TO-263-2U1
1Motor_x02PCB_Library:MotorConnector_2J5
1NCResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR6
1Q_NMOS_GDSPackage_TO_SOT_THT:TO-247-3_VerticalQ3
1RHRP15120PCB_Library:D_TO-220-2_VerticalD10
1Transformer_1P_1SPCB_Library:Transformer_Toroid_Horizontal_D18.0mmT2

Questions

How big is the PID Controller PCB?

It measures 99.7 × 69.9 mm and has 2 copper layers, 1.6 mm thick.

What parts does the PID Controller use?

52 parts, built around the BAT54, BC639, BC640 and RHRP15120. 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 Controller KiCad files?

From the glecuy/PID_Controller repository on GitHub, at the commit this page was made from: the board is Hardware/PidController/PidController.kicad_pcb and its schematic Hardware/PidController/PidController.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

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

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

Similar boards

  • 2 layers173 × 85 mmAudio board, the printed circuit board in 3D

    Audio board

    EleonoreMizo/pedalevite

    Pédale Vite — DIY multi-FX pedalboard for guitar/bass/etc.

    268 parts101WTFPL
  • 2 layers146.3 × 41.1 mmBss500ap, the printed circuit board in 3D

    Bss500ap

    KryptonPlusPlus/bss500-sheldon-reverse

    Engenharia reversa do amplificador BSS500 da Sheldon

    63 parts
  • 2 layers50.2 × 31.1 mmTV B Gone ML v1 2, the printed circuit board in 3D

    TV B Gone ML v1 2

    curiouselectric/TVBGone

    TV-B-Gone Design Files

    25 parts6MIT
  • 2 layers50.2 × 50.2 mmDaftPunk helmet, the printed circuit board in 3D

    DaftPunk helmet

    Socketto/DaftPunk_helmet

    Project of DaftPunk helmet bluetooth

    32 parts
  • 2 layers79.9 × 49.9 mmDr frank ltz1000, the printed circuit board in 3D

    Dr frank ltz1000

    cellularmitosis/dr-frank-ltz1000

    Dr. Frank's LTZ1000 reference

    57 parts9
  • 2 layers99.7 × 149.9 mmBeta128 r0.3, the printed circuit board in 3D

    Beta128 r0.3

    alvaroalea/betadisk-clone

    Clone of the Beta 128 Disk Interface for ZX Spectrum

    89 parts7
  • 2 layers92.1 × 88.9 mmArdCurvTracer, the printed circuit board in 3D

    ArdCurvTracer

    jonsag/ardCurveTracer

    An arduino testing transistors

    64 parts2
  • 2 layers96.1 × 45.7 mmTNScizim3son, the printed circuit board in 3D

    TNScizim3son

    hakandem/kicad_dosyasi

    devre sema dosyası

    40 parts