Skip to the content
PCBKitNew board
2 layersPDM, the printed circuit board in 3D

Rev 4.3 | ID | NAME | CAUSE |DIFFICULTY | PRIORITY | STATUS | | --- | --- | --- | --- | --- | --- | | 1. | Create test board for BTS50025-1TAE | Switch with higher Rds(on) should perform better in terms of diagnostics…

Copper layers
2
Thickness
1.6 mm
Parts
294
Nets
543
Pads
1,338
Tracks, vias
16, 0
Routed
Yes
KiCad
KiCad 6 (file 20211014)
Created
25 Oct 2022
Updated
7 Jul 2026

Overview

PDM is an open-source printed circuit board by PGRacing, from the PGRacing/PDM repository on GitHub. It is a 2-layer board with 294 parts on 543 nets, routed with 16 tracks and 0 vias.

It is built around the STM32L496ZGT6, SN65HVD230QDG4Q1 and AT25SF128A-SHB-T, with the WS2812B, B57232V5103F360 and STL135N8F7AG among its other parts. Its parts include 120 resistors, 90 capacitors, 25 ICs, 19 diodes and 11 transistors. It belongs with the STM32 boards of this library.

Main components

10

README

README.md

PDM

Schematic mockup: obraz

TODO on next PCB:

Rev 4.3

IDNAMECAUSEDIFFICULTYPRIORITYSTATUS
1.Create test board for BTS50025-1TAESwitch with higher Rds(on) should perform better in terms of diagnostics on most used loads13
2.Create schematic and brd for imporoved power delivery section optimized for autmotive use based on MP4322 TLS850F2TAV50, TVS diodes + filteringCurrent solution with MP2332 has maximum rating of 18V, which is really for load dumps33
3.Divide task to "safety critical real-time" hardware based (timer) ones and other normal operation tasksCurrent solution can cause safety issus33
4.Prepare I^2t wiring harness protectionThis should allow better WH protection32
5.Prepare OCP using curve, not only single valueThis should allow better WH protection23
6.Use buffers for MCU protectionProtect MCU I/O pins12
7.Change zenner protection diodes to extended linearity region of Is switch output13
8.Add better filtering (change RC filter values) on Is outputIs output on inductive signals or fast switched signals HFreq PWM used causes invalid readings13
9.Detect battery under-voltage and UV shutdown for battery protection12
10.Configuration over USBFor sake of user-friendly solution32
11.CAN inputs support22
12.Thermal sensingSafety critical22
13.Better 3D printed caseing (take care of screws outside of caseing envelope) + add honeycomb reinforcmentSafety critical for splash proof21
14.Add logic-level shifter for LED'sSome LED's turn red on random order13
15.Add separate voltage source for ARGB LED's and CAN busworking can bus is critical for system integrity13
16.Add external voltage sources diagnosis (at least voltage on output)23
17.Add battery insulation and reverse-polarity + huge TVS and maybe Gas Discharge TubesLoad dumps + cold crank etc.32
18.Add better connector for BAT+13
19.Add limp home mode when any peripheral is malfunctioning (detect those malfunctions)23
20.Add TVS or zenner on all inputs (in limit of absolute maximium rating) near connector13
21.Add external or on-board probes for temperature sensing22
22.Add more state/debug led's11
23.Move safety functions oc and counters and errors into separate struct or bit mask of register23

Rev. 4.1

NAMEDIFFICULTYPRIORITYSTATUS
1. Add fuse for external sensors supply (100mA). Can also be solved with second 5V regulator for sensors + fuse.13DONE - Added external LDO's to 3.3V and 5V
2. Change CPC1117N to CPC1017N (or diffrent PhotoMos)12DONE - Added diffrent (smaller) Opto-MOS
3. Add clamping diodes on any signals23Added zenner + shottky clippers
4. Change input filtration for low profile SMD capacitor instead of tht11DEPRECEATED
5. Add SWO pin22DONE
6. Current sensors output should be collected by one ADC !!! - for eg. ADC3 (change pinout)32DONE
7. Add clamping diodes on current sensor to allow lower range current detecion23DONE
8. Selection and redirection of IO is not imporant11DONE - (only four channels)
9. Fix WS2812B footprint13DONE
10. Use smaller footprint for voltage mux and can transceiver21DONE - changed voltage mux to 16 channel, CAN transceiver same
11. Change FET's to BTS50010-1LUA32DONE
12. Add RX/TX information leds to CAN bus (software driven)11DEPERECATED
13. Add MUX for mutlichannel switch22DONE - added 16 channel mux
14. Add CAN software switching22DONE
14. Remove additional header for stlink22DONE

Parts

294
QtyValueFootprintReferences
661.2kResistor_SMD:R_0402_1005MetricR11, R14, R20, R21, R100, R102, R103, R104, R105, R106, R109, R111, R112, R113, R114, R115 +50
26470nFCapacitor_SMD:C_0805_2012MetricC10, C11, C12, C19, C22, C51, C52, C53, C58, C59, C60, C66, C67, C68, C72, C73 +10
224.7kResistor_SMD:R_0402_1005MetricR4, R13, R15, R24, R25, R26, R27, R30, R34, R39, R40, R41, R42, R62, R101, R110 +6
15100nCapacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolderC5, C6, C8, C28, C29, C30, C31, C32, C33, C34, C35, C36, C37, C38, C39
14100nFCapacitor_SMD:C_0805_2012MetricC13, C20, C23, C49, C62, C64, C70, C76, C82, C88, C94, C95, C95, C96
1010kResistor_SMD:R_0402_1005MetricR10, R18, R19, R51, R58, R80, R89, R98, R107, R116
9WS2812BLED_SMD:LED_WS2812B-2020_PLCC4_2.0x2.0mmD11, D12, D13, D14, D15, D16, D17, D18, D19
810nfCapacitor_SMD:C_0805_2012MetricC14, C15, C16, C17, C24, C25, C26, C27
81mResistor_SMD:R_2512_6332MetricRS1, RS2, RS3, RS4, RS5, RS6, RS7, RS8
81uFCapacitor_SMD:C_0805_2012MetricC9, C50, C57, C65, C71, C77, C83, C89
820uFCapacitor_SMD:C_0805_2012MetricC48, C61, C63, C69, C75, C81, C87, C93
840AFuse:Fuse_2512_6332MetricF1, F2, F3, F4, F5, F6, F7, F8
847kResistor_SMD:R_0402_1005MetricR12, R52, R59, R81, R90, R99, R108, R117
8B57232V5103F360PDM_Additional:THRMC1005X60NRT1, RT2, RT3, RT4, RT5, RT6, RT7, RT8
8BAT54BRW-7-FPDM_Additional:SOT65P210X110-6ND3, D6, D7, D8, D9, D10, D20, D21
8VNF1048FTRPDM_Additional:QFN32L_5x5_STMU1, U4, U5, U6, U7, U8, U9, U10
6STL135N8F7AGPDM_Additional:STL135N8F7AGQ4, Q5, Q6, Q7, Q8, Q9
40Resistor_SMD:R_0402_1005MetricR16, R118, R119, R119
410pFCapacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolderC3, C7, C55, C56
4120Resistor_SMD:R_0402_1005MetricR16, R17, R17, R118
4SN65HVD230QDG4Q1PDM_Additional:SOIC127P600X175-8NIC3, IC3, IC9, IC9
20,1mFCapacitor_SMD:C_0805_2012MetricC13, C96
21uCapacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolderC4, C54
2220pFCapacitor_SMD:C_0402_1005MetricC18, C21
247Resistor_SMD:R_0402_1005MetricR28, R32
2470Resistor_SMD:R_0402_1005MetricR29, R33
27VDiode_SMD:D_0805_2012MetricD4, D5
2BTS722204ESAXUMA1PDM_Additional:SOP65P600X115-25NIC7, IC8
2IAUA250N04S6N007AUMA1PDM_Additional:IAUA250N04S6N007AUMA1Q2, Q3
2LM5050MK-1_NOPBPDM_Additional:SOT95P280X110-6NIC12, IC13
2MCP2561-E-SNPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU2, U3
2STL225N6F7AGPDM_Additional:POWERFLAT_5X6Q10, Q11
2TMP126NDCKRPDM_Additional:SOT65P210X110-6NIC5, IC6
2TS5A21366DCURPDM_Additional:SOP50P310X90-8NIC4, IC4
11kResistor_SMD:R_0402_1005MetricR72
11kResistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolderR2
132KHzCrystal:Crystal_SMD_3215-2Pin_3.2x1.5mmY2
148MhzCrystal:Crystal_SMD_5032-2Pin_5.0x3.2mmY1
14u7Capacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolderC2
16473427-1PDM_Additional:64734271J2
1AT25SF128A-SHB-TPDM_Additional:SOIC127P798X216-8NIC2
1MMBT3904Package_TO_SOT_SMD:SOT-23Q1
1N01_036_6501_001PDM_Additional:N010366501001J3
1STM32L496ZGT6PDM_Additional:QFP50P2200X2200X160-144NIC1
1SolderJumper_3_OpenJumper:SolderJumper-3_P1.3mm_Open_RoundedPad1.0x1.5mmJP1
1TLE9104SHXUMA1PDM_Additional:SOP50P1030X260-21NIC14

Questions

What parts does the PDM use?

294 parts, built around the STM32L496ZGT6, SN65HVD230QDG4Q1, AT25SF128A-SHB-T and WS2812B. 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 PDM KiCad files?

From the PGRacing/PDM repository on GitHub, at the commit this page was made from: the board is PCB/PDM/PDM.kicad_pcb and its schematic PCB/PDM/BTS50010-1TAE.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the PDM design in my own project?

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

More from PGRacing/PDM

1
  • 4 layers102.5 × 113.8 mmPdms, the printed circuit board in 3D

    Pdms

    PGRacing/PDM

    Rev 4.3 | ID | NAME | CAUSE |DIFFICULTY | PRIORITY | STATUS | | --- | --- | --- | --- | --- | --- | | 1. | Create test board for BTS50025-1TAE | Switch with higher Rds(on) should perform better in terms of diagnostics…

    501 parts1

Similar boards

  • 4 layers72 × 55 mmExhaust mic, the printed circuit board in 3D

    Exhaust mic

    HasiKe/Exhaust-Mic

    Motorcycle Exhaust and Intake Microphone for best soud on Videos.

    135 parts
  • 8 layers45.2 × 29.7 mmOrbitESC, the printed circuit board in 3D

    OrbitESC

    brandonbraun653/OrbitESC

    An attempt at creating my own ESC module

    161 parts2MIT
  • 2 layersBadge, the printed circuit board in 3D

    Badge

    hex-inverter/badge_display

    18 parts
  • 4 layers63.5 × 165.4 mmPCB 2, the printed circuit board in 3D

    PCB 2

    nathaniel-krueger/Capstone_PCB_2

    115 parts
  • 4 layers310 × 125 mmDev board, the printed circuit board in 3D

    Dev board

    sammaclennan/dev-board

    An 84-key mechanical keyboard

    208 parts
  • 4 layers97.3 × 90.3 mmDashboard, the printed circuit board in 3D

    Dashboard

    patwitt/PGRacingElectronics

    https://www.pgracingteam.pl/

    102 parts4
  • 4 layers50.8 × 50.8 mmController, the printed circuit board in 3D

    Controller

    oats-center/avena-rs

    Avena On The Road: Bringing pavement health data to your fingertips

    63 parts3
  • 4 layers99 × 53.3 mmPSLab, the printed circuit board in 3D

    PSLab

    fossasia/pslab-hardware

    PSLab Hardware Design and Schematics https://pslab.io

    199 parts1.7kApache-2.0