Skip to the content
4 layers100 × 90 mmVbench pod, the printed circuit board in 3D

An open hardware bench tool that plugs into your CI: sensor sim, CAN, analog I/O, power control, and a Python SDK with pytest integration

Size
100 × 90 mm
Copper layers
4
Thickness
1.61 mm
Parts
536
Nets
400
Pads
1,795
Tracks, vias
7,022, 1,267
Pours
3
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
2 Jun 2026
Updated
7 Nov 2026

Overview

Vbench pod is an open-source printed circuit board by embeddedci-com, from the embeddedci-com/benchpod repository on GitHub, published under the CERN-OHL-W-2.0 licence. It is a 4-layer board of 100 × 90 mm with 536 parts on 400 nets, routed with 7,022 tracks and 1,267 vias.

It is built around the SRV05-4.TCT, AP2112K-1.8TRG1 and CC0603KRX7R9BB104, with the CL21B105KBFNNNE, HC-SMA-KWE-14.5H-D002-01 and LBAT54SLT1G among its other parts. Its parts include 242 capacitors, 166 resistors, 27 ICs, 17 diodes and 7 connectors.

Main components

11

README

README.md

BenchPod

NOTE1: Some tagged versions will have obvious mistakes in them, but as those got built, they're in the repo for historical reasons.

NOTE2: Don't build these boards yourself without any necessary changes. The current tagged versions are not production-ready yet.

An open hardware bench tool with sensor sim, CAN, analog I/O, and power control, with a Python SDK and pytest integration.

Embedded teams often end up with a bench full of equipment that's hard to share, hard to automate, and difficult to use remotely. Setting up tests often means being physically present, and that doesn't scale well across a team.

BenchPod is an attempt to make that easier. One board with sensor simulation over I2C and SPI, CAN bus, analog input and output, programmable power control, a logic analyzer, and an FPGA for fast protocol mocking, connected over WiFi so it can be shared across a team or accessed remotely. A Python SDK and pytest integration make it straightforward to go from manual bench work to automated tests without changing your setup.

This repo contains the KiCad source files for the board, plus the SPICE simulations used while designing the analog front ends.


What's in this repo

text
pcb/
  benchpod/                      # KiCad project for the analog + digital board
    vbench-pod.kicad_pro         #   KiCad project file
    vbench-pod.kicad_pcb         #   PCB layout
    vbench-pod.kicad_sch         #   Top-level schematic
    analog-power-v2.kicad_sch    #   Analog supply rails
    analog-switching.kicad_sch   #   Analog signal routing / muxing
    analog-to-digital-v2.kicad_sch  # ADC front end
    digital-to-analog-v2.kicad_sch  # DAC output stage
    LogicAnalyzer.kicad_sch      #   Logic analyzer
    power.kicad_sch              #   Power control
    ethernet.kicad_sch           #   Ethernet
    usb.kicad_sch                #   USB
    fp-lib-table                 #   Footprint library references
    sym-lib-table                #   Symbol library references
  benchpod-digital/              # KiCad project for the digital-only board (same sheet layout)
  libs/                          # Shared symbol, footprint, and 3D-model libraries

spice/                           # LTspice / ngspice simulations for the analog front ends
  adc-v1/  adc-v2/  dac-v2/

Library paths in fp-lib-table, sym-lib-table, and the PCB are stored relative to the project (${KIPRJMOD}/..), so the project opens in KiCad straight after cloning.


Which board do I have?

The board name is printed on the silkscreen (for example "BenchPod v3-r1"). Find it in the table below to get the git tag with the exact design files for your board:

SilkscreenBoardTagKiCad projectWhat changed
BenchPod v3Analog + digitalanalog-v3pcb/benchpodFirst v3 board. STM32H563ZIT6, INA238 current monitors.
BenchPod v3-DigitalDigital onlydigital-v3pcb/benchpod-digitalFirst digital-only board: the v3 without the analog section. STM32H563ZGT6 (1 MB flash), INA226 current monitors.
BenchPod v3-r1Analog + digitalanalog-v3r1pcb/benchpodSTM32H563ZGT6 and INA226 like the digital board. Monitors the pod's own current (INA226 at 0x41). The 5.5 V analog rail comes from a 7 V boost instead of the 14 V rail, so U50 no longer runs hot. TPS65131 compensation caps fixed. THS4551 and TPS7A2050 in their smaller packages (RUN, DQN).
BenchPod v3r2-DigitalDigital onlydigital-v3r2pcb/benchpod-digitalMonitors the pod's own current (INA226 at 0x41).
BenchPod v3-r2Analog + digitalanalog-v3r2pcb/benchpodOne DAC8554 quad DAC (a channel per output) replaces the DAC8551 and its two TMUX1104 muxes. The ±14 V supply starts off and the firmware switches it on. 0.1 % resistors around the ADC driver for a smaller zero offset between pods. Fixed 9.1 pF ADC compensation instead of the trimmer. SWD and USART2 on DNP 2x2 headers instead of H1-H3. More ESD clamps (USB CC, +1V8, LA_VCCIO, the 0-5 V SMA). Board revision strap 2.70 V.
BenchPod v3r3-DigitalDigital onlydigital-v3r3pcb/benchpod-digital24-pin FFC connector (CN1) for the analog module. The module 5 V and the USB-A bridge 5 V are switched by SY6280AAC power switches, with TVS diodes on the 5 V outputs. 3.3 V buck becomes a TPS62130A with a 2.2 uH inductor. PSRAM in SOP-8. Ethernet EMI changes from the Microchip and TI reference designs: RJ45 chassis ground straight to GND, center taps fed through a 0 ohm resistor, 8.2 pF on the four data lines, a flow-through TPD4E05U06 ESD clamp. 100 nF + 470 pF at the J4, J5 and J6 terminals. Connectors placed for the enclosure.
BenchPod v3-r3-analogAnalog moduleanalog-v3r3pcb/benchpod-analogFirst analog module: the analog section on its own board, connected to the v3r3 digital board by a 24-pin FFC (CN1). Front-panel connectors for the enclosure: a lead-free BNC for the ADC input (ready for 10x probes), pluggable terminal blocks for the DAC outputs (one 6-pin block) and the 4-20 mA loop. Module ID EEPROM. +3V3 from an AP2112K-3.3.

To get the files for your board, check out its tag:

text
git checkout analog-v3r1

Every tag holds all KiCad projects; use the folder from the table. Older boards: v1.0.0 and v1.0.1 are v1, v2.0.0 is v2.

The v3 tags used to be named v3.0.0 (now analog-v3), v3.0.1-digital (now digital-v3), v3.0.1-analog (now analog-v3r1) and v3.0.2-digital (now digital-v3r2).

One firmware runs on all v3 boards. The pod's own current needs firmware newer than 3.5.1. The v3-r2 board needs firmware newer than 3.9.4: older firmware runs it as a v3-r1 and its DAC outputs and ±12 V stay off.


License

Hardware (schematics, PCB layout) is released under CERN OHL-W v2.

Parts

536
QtyValueFootprintReferences
110100nCapacitor_SMD:C_0402_1005MetricC1, C11, C13, C101, C109, C112, C113, C114, C116, C118, C120, C121, C124, C125, C128, C129 +94
611uCapacitor_SMD:C_0402_1005MetricC10, C12, C107, C110, C111, C115, C117, C126, C127, C130, C133, C134, C136, C137, C145, C147 +45
5310kResistor_SMD:R_0402_1005MetricR10, R11, R12, R13, R14, R114, R120, R137, R139, R142, R143, R149, R156, R157, R161, R163 +37
2010uCapacitor_SMD:C_0603_1608MetricC15, C21, C28, C61, C100, C106, C122, C123, C170, C175, C178, C210, C246, C257, C262, C263 +4
15330Resistor_SMD:R_0402_1005MetricR42, R43, R44, R45, R46, R47, R48, R49, R54, R55, R56, R57, R87, R88, R174
1222uCapacitor_SMD:C_0805_2012MetricC16, C91, C92, C103, C108, C154, C157, C181, C186, C196, C197, C250
100Resistor_SMD:R_0402_1005MetricR2, R16, R19, R20, R150, R165, R166, R167, R168, R169
104.7uCapacitor_SMD:C_0805_2012MetricC2, C3, C5, C62, C63, C64, C65, C150, C153, C220
10FerriteBeadlcsc_footprints:C85833_L0603FB2, FB3, FB4, FB5, FB6, FB7, FB8, FB9, FB10, FB11
810nCapacitor_SMD:C_0402_1005MetricC104, C105, C191, C195, C228, C243, C258, C259
84.7kResistor_SMD:R_0402_1005MetricR26, R31, R38, R50, R170, R171, R172, R173
733Resistor_SMD:R_0402_1005MetricR23, R24, R25, R99, R100, R101, R106
749.9Resistor_SMD:R_0402_1005MetricR125, R134, R135, R145, R146, R147, R148
5100kResistor_SMD:R_0402_1005MetricR86, R105, R136, R151, R152
51kResistor_SMD:R_0402_1005MetricR21, R22, R92, R93, R175
5SN74LVC2G66DCURlcsc:VSSOP-8_L2.1-W2.4-P0.50-LS3.2-BRU18, U19, U20, U21, U24
5SRV05-4.TCTlcsc:SOT-23-6_L2.9-W1.6-P0.95-LS2.8-BRU22, U23, U25, U28, U34
5Screw_Terminal_01x02lcsc:CONN-TH_2P-P5.00_WJ500V-5.08-2PJ4, J5, J6, J8, J9
410k-0.1pctResistor_SMD:R_0402_1005MetricR109, R110, R111, R123
411.8kResistor_SMD:R_0402_1005MetricR127, R129, R132, R133
42.2kResistor_SMD:R_0402_1005MetricR58, R62, R122, R164
42kResistor_SMD:R_0402_1005MetricR126, R128, R130, R131
43.3nCapacitor_SMD:C_0402_1005MetricC99, C102, C119, C226
48.2pCapacitor_SMD:C_0402_1005MetricC29, C30, C50, C51
4G6K-2F-Y DC5lcsc:RELAY-TH_G6K-2F-YK1, K2, K3, K4
4HC-SMA-KWE-14.5H-D002-01lcsc:SMA-TH_BWSMA-KWE-Z001RF1, RF2, RF3, RF4
4HX PZ2.54-1X2P ZZlcsc_footprints:C32713268_HDR-TH_2P-P2_54-V-M-3U11, U12, U13, U14
4LBAT54SLT1Glcsc:SOT-23_L2.9-W1.3-P1.90-LS2.4-BRD13, D14, D17, D18
4SMAJ36CAlcsc:SMA_L4.3-W2.6-LS5.0-BID6, D7, D8, D10
4SS34lcsc:SMA_L4.3-W2.6-LS5.2-RDD3, D9, D15, D16
31.5kResistor_SMD:R_0402_1005MetricR15, R94, R102
31MResistor_SMD:R_0603_1608MetricR115, R118, R160
3INA226lcsc:VSSOP-10_L3.0-W3.0-P0.50-LS4.9-BLU29, U33, U35
3MountingHoleMountingHole:MountingHole_2.7mm_M2.5_Pad_ViaH10, H11, H14
3SMF13CAlcsc:SOD-123FL_L3.0-W1.8-LS3.7-BID19, D20, D21
3TCA9554PWRlcsc:TSSOP-16_L5.0-W4.4-P0.65-LS6.4-TLU54, U56, U58
3TPS259470ARPWRlcsc:VQFN-10_L2.0-W2.0-P0.45-TLU26, U27, U57
2100Resistor_SMD:R_0402_1005MetricR113, R177
210pCapacitor_SMD:C_0402_1005MetricC185, C190
212.1kResistor_SMD:R_0402_1005MetricR144, R181
22.2uCapacitor_SMD:C_0603_1608MetricC218, C219
222Resistor_SMD:R_0402_1005MetricR97, R98
2270Resistor_SMD:R_0603_1608MetricR140, R141
2270pCapacitor_SMD:C_0402_1005MetricC74, C139
23.3ulcsc:IND-SMD_L2.0-W1.6_AOTA-B201610S3R3-101-TL2, L3
230mResistor_SMD:R_2512_6332MetricR83, R138
25.1kResistor_SMD:R_0402_1005MetricR75, R76
25.1pCapacitor_SMD:C_0603_1608MetricC207, C208
256Resistor_SMD:R_0402_1005MetricR18, R176
25kResistor_SMD:R_0402_1005MetricR95, R96
26pF ±10ppm SMD2016-4P Crystals - 25MhzCrystal:Crystal_SMD_2016-4Pin_2.0x1.6mmY1, Y2
295kResistor_SMD:R_0402_1005MetricR116, R180
2AP2112K-1.8TRG1lcsc:SOT-25_L3.0-W1.6-P0.95-LS2.8-BLU39, U52
2Conn_02x02_Counter_ClockwiseConnector_PinSocket_2.54mm:PinSocket_2x02_P2.54mm_VerticalJ10, J11
2OPA2992IDRlcsc:SOIC-8_L4.9-W3.9-P1.27-LS6.0-BLU45, U51
2TS-1088-AR02016lcsc:SW-SMD_L3.9-W3.0-P4.45SW1, SW2
2TestPointTestPoint:TestPoint_Pad_2.0x2.0mmTP3, TP7
2USBLC6-4SC6lcsc:SOT-23-6_L2.9-W1.6-P0.95-LS2.8-BLD4, D11
11.10kResistor_SMD:R_0402_1005MetricR80
11.5nCapacitor_SMD:C_0402_1005MetricC131
11.65kResistor_SMD:R_0402_1005MetricR79
11.8MResistor_SMD:R_0402_1005MetricR70
110Resistor_SMD:R_0402_1005MetricR103
1100pCapacitor_SMD:C_0402_1005MetricC72
1102kResistor_SMD:R_0603_1608MetricR162
1105kResistor_SMD:R_0402_1005MetricR71
110uH ±20%lcsc_footprints:C38117_IND-SMD_L4_0-W4_0L1
1150kResistor_SMD:R_0603_1608MetricR155
11nfCapacitor_SMD:C_1206_3216MetricC58
12.4kResistor_SMD:R_0603_1608MetricR108
120mResistor_SMD:R_2512_6332MetricR84
1220nCapacitor_SMD:C_0603_1608MetricC189
1240kResistor_SMD:R_0402_1005MetricR104
1249Resistor_SMD:R_1206_3216MetricR81
125.5kResistor_SMD:R_0603_1608MetricR82
1316kResistor_SMD:R_0402_1005MetricR85
134.8kResistor_SMD:R_0402_1005MetricR121
137.4kResistor_SMD:R_0402_1005MetricR67
14.7nCapacitor_SMD:C_0402_1005MetricC184
14.99kResistor_SMD:R_0603_1608MetricR159

The 489 most common of 536 parts.

More from embeddedci-com/benchpod

2
  • 4 layers98.5 × 122.4 mmVbench pod, the printed circuit board in 3D

    Vbench pod

    embeddedci-com/benchpod

    An open hardware bench tool that plugs into your CI: sensor sim, CAN, analog I/O, power control, and a Python SDK with pytest integration

    335 parts2CERN-OHL-W-2.0
  • 4 layers98.5 × 120.2 mmVbench pod, the printed circuit board in 3D

    Vbench pod

    embeddedci-com/benchpod

    An open hardware bench tool that plugs into your CI: sensor sim, CAN, analog I/O, power control, and a Python SDK with pytest integration

    247 parts2CERN-OHL-W-2.0

Similar boards

  • 4 layers190 × 100 mmRioctrl controller, the printed circuit board in 3D

    Rioctrl controller

    festlv/rioctrl-hw

    Hardware design for modular CNC controller

    281 parts16CERN-OHL-S-2.0
  • 4 layers50 × 69.5 mmRia, the printed circuit board in 3D

    Ria

    B44ken/ria

    ria is a small wheeled biped built for jumping and fast ground motion.

    107 parts
  • 6 layers90 × 89 mmModular processing board, the printed circuit board in 3D

    Modular processing board

    igorwolfs/modular-processing-hw

    MCU Breakout board with Hirose BM28B connector

    177 parts1
  • 4 layers100 × 70 mmSEM, the printed circuit board in 3D

    SEM

    Serhio4522/SEM_hitachi-

    Digitization of a Hitachi scanning electron microscope (SEM) — hardware design, FPGA firmware, and analog frontend schematics.

    288 parts1
  • 2 layers92 × 69 mmBase controller, the printed circuit board in 3D

    Base controller

    dy-ma/halloween26

    A small LED/resistor practice board used to learn KiCad schematic capture, footprints, routing, silkscreen, and Gerber export. It is not the tractor controller and was not intended for manufacture.

    64 partsCERN-OHL-P-2.0
  • 4 layers92.5 × 70 mmClock, the printed circuit board in 3D

    Clock

    stevel1212-droid/stm32-rtc-climate-controller

    Kicad project of an STM32-based board climate controller utilizing an RTC module for time-scheduled environmental reading of temperature/humidity with SHT30 sensor and optional small relay for control.

    69 partsMIT

Questions

How big is the Vbench pod PCB?

It measures 100 × 90 mm and has 4 copper layers, 1.61 mm thick.

What parts does the Vbench pod use?

536 parts, built around the SRV05-4.TCT, AP2112K-1.8TRG1, CC0603KRX7R9BB104 and CL21B105KBFNNNE. 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 Vbench pod KiCad files?

From the embeddedci-com/benchpod repository on GitHub, at the commit this page was made from: the board is pcb/benchpod/vbench-pod.kicad_pcb and its schematic pcb/benchpod-analog/LogicAnalyzer.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Vbench pod design in my own project?

Its repository publishes it under the CERN-OHL-W-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).