Skip to the content
2 layers120 × 70 mmProtected buck, the printed circuit board in 3D

KiCad protected buck converter with Python-based automated hardware validation, fault injection, and CI reporting

Size
120 × 70 mm
Copper layers
2
Thickness
1.6 mm
Parts
35
Nets
20
Pads
98
Tracks, vias
214, 35
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
8 Sep 2026
Updated
9 Sep 2026

Overview

Protected buck is an open-source printed circuit board by Shanshan3133, from the Shanshan3133/automated-hardware-validation-framework repository on GitHub. It is a 2-layer board of 120 × 70 mm with 35 parts on 20 nets, routed with 214 tracks and 35 vias.

It is built around the TPS5431DDA, TPS26600PWP and B340A, with the SMBJ24A among its other parts. Its parts include 16 resistors, 7 capacitors, 3 connectors, 2 ICs and 2 diodes. It belongs with the power boards of this library.

Main components

4

README

README.md

Automated Hardware Validation Framework

Python KiCad Tests Validation Hardware

A portfolio project combining a protected 5 V buck-converter PCB with a Python automated validation bench. It demonstrates PCB design, instrument automation, fault injection, safety interlocks, data logging, and CI-style reporting—the day-to-day concerns of hardware validation and systems-integration engineering.

Engineering status: the software framework is operational. The KiCad 10 schematic passes ERC with zero violations, and the routed PCB passes DRC with zero violations and zero unconnected pads. This is still an engineering prototype, not a fabrication release: land patterns, thermal-via design, compensation, derating, enclosure constraints, and schematic/PCB parity need independent review.

PCB preview

Rev-A protected buck PCB 3D render

KiCad schematic

Protected 5 V buck KiCad schematic

The editable source is hardware/protected_buck.kicad_sch; its generated PDF is included for design review. KiCad 10.0.6 reports zero ERC errors and zero ERC warnings, and the automated parity check matches all 88 schematic pins to 88 PCB pads.

Electrical architecture

Protected 5 V buck schematic overview

This review overview explicitly separates the TPS26600 RTN domain from SYSTEM_GND, shows the required 10 nF BOOT-to-PH capacitor, and identifies the protected DAQ signals.

The DUT uses a TPS26600 eFuse front end and a TPS5431 asynchronous buck stage. It targets 8–18 V input, regulated 5 V output, and a 1 A continuous validation load. The fixture connector exposes divided VIN/VOUT measurements, active-low fault status, shutdown control, and current-monitor signals.

System architecture

mermaid
flowchart LR
    PY[Python test runner] -->|SCPI / USB| PSU[Programmable supply]
    PSU --> DUT[Protected 5 V buck DUT]
    DUT --> LOAD[Electronic load]
    DUT -->|VIN and VOUT| ADC[MCP3008 ADC]
    DUT -->|FLT and SHDN| GPIO[Raspberry Pi GPIO]
    ADC --> PI[Raspberry Pi]
    GPIO --> PI
    PI --> PY
    PY --> DATA[CSV and JSON results]
    DATA --> REPORT[CI-style HTML report]

All test logic depends on an abstract Bench interface. The same suite runs against a deterministic behavioral simulator in CI or against physical SCPI instruments and Raspberry Pi I/O in the lab.

Automated test coverage

TestStimulusMeasurementPass criterion
Line regulationVIN from 8 V to 18 VVOUT5.0 V ±3%
Load regulationLoad from 0 A to 1 AVOUT5.0 V ±3%
Output ripple2,000 samples at 10 MS/sRobust Vpp<50 mVpp
UVLO risingVIN from 6 V to 9 VTurn-on threshold7.1–7.9 V
OVP risingVIN from 17 V to 21 VFault threshold18.4–19.6 V
Overcurrent tripLoad from 0.5 A to 1.8 AFault threshold1.35–1.65 A

The MCP3008 measures DC rails and low-frequency behavior. The physical ripple test deliberately requests a 10 MS/s window through a SCPI oscilloscope adapter because a low-speed ADC cannot characterize the TPS5431's 500 kHz switching ripple. Use a bandwidth-limited scope measurement with a short ground spring and verify the scope's actual acquisition settings.

Example validation result

text
PASS   Line regulation: VOUT range 4.995–5.011 V
PASS   Load regulation: VOUT range 4.992–5.010 V
PASS   Output ripple: Ripple 30.3 mVpp; mean 4.993 V
PASS   UVLO rising: Turn-on detected at 7.50 V
PASS   OVP rising: Trip detected at 19.05 V
PASS   Overcurrent trip: Trip detected at 1.500 A

View the self-contained HTML report with measurement plots, machine-readable results, and individual CSV files in artifacts/.

Fault injection verifies that real specification failures are detected:

powershell
python -m validation.cli run --backend sim --fault high-ripple --output artifacts-failing

This produces a failing 91.3 mVpp result and a nonzero process exit code suitable for CI gating.

Repository layout

text
hardware/
  protected_buck.kicad_pro      KiCad project
  protected_buck.kicad_sch      complete editable schematic; ERC clean
  protected_buck.kicad_pcb      routed two-layer PCB; DRC clean
  protected_buck.dsn/.ses       reproducible Specctra routing exchange
  protected_buck_3d.png         generated 3D preview
  protected_buck_layout.pdf     copper-layer review PDF
  protected_buck_schematic.pdf  schematic review PDF
  BOM.csv                       preliminary bill of materials
  DESIGN.md                     calculations and layout rationale
  BRINGUP.md                    controlled first-power procedure
validation/
  instruments.py                bench abstraction
  simulator.py                  deterministic behavioral DUT model
  real_bench.py                 PyVISA supply/load/scope, MCP3008, and GPIO adapters
  test_cases.py                 validation procedures and limits
  report.py                     CSV, JSON, and HTML reporting
tests/                          software unit tests
scripts/generate_board.py       reproducible KiCad PCB generator
scripts/finalize_route.py       imports routing session and finalizes reviewed nets
scripts/generate_schematic_modern.py  reproducible KiCad 10 schematic generator
scripts/check_design_parity.py  checks every schematic pin against its PCB pad net
.github/workflows/              simulated validation workflow

Quick start

Simulation requires Python 3.10+ and no third-party runtime packages:

powershell
python -m validation.cli run --backend sim --output artifacts
python -m unittest discover -s tests -v

Open artifacts/report.html after the run.

Physical bench setup

powershell
pip install -e ".[raspberry-pi]"
Copy-Item validation/real_bench.example.json bench.json
python -m validation.cli run --backend real --config bench.json --output artifacts-real

Before using the real backend:

  1. Verify SCPI resource names and commands against the exact instruments.
  2. Calibrate every ADC divider and verify the oscilloscope probe ratio, bandwidth limit, and channel.
  3. Install an independent physical emergency-off.
  4. Configure the supply limit to 2 A or less and OVP to 22 V.
  5. Complete BRINGUP.md with the first run attended.

The real-bench factory rejects configurations above the 2 A project safety ceiling before opening hardware resources. safe_shutdown() removes the electronic load and source output if a test raises an exception.

Hardware design targets

CharacteristicTarget
Operating input range8–18 V
Output voltage5.0 V ±3%
Validation load1.0 A continuous
Automated ripple screen<50 mVpp
UVLO rising threshold7.5 V ±0.4 V
OVP rising threshold19.0 V ±0.6 V
Current-limit trip1.50 A ±0.15 A

See DESIGN.md for calculations, VALIDATION_STATUS.md for the exact engineering status, and ROUTING_CHECKLIST.md for the post-routing review gates.

Before fabrication

  • Verify exposed-pad thermal-via patterns with the PCB manufacturer.
  • Recheck compensation, bootstrap, current-limit mode, component derating, and fault behavior against the ordered part numbers.
  • Add and mechanically validate mounting holes and enclosure clearances.
  • Run schematic/PCB parity checks, inspect the autorouted geometry manually, and complete an independent engineering review.
  • Assemble one prototype and complete the controlled bring-up and physical validation plan.

This repository is an engineering portfolio artifact and learning platform. It is not a certified power product or production manufacturing release.

Parts

35
QtyValueFootprintReferences
510k 1%R_0603_1608MetricR2, R4, R9, R11, R12
310uF 50VC_1210_3225MetricC1, C2, C6
2100kR_0603_1608MetricR7, R16
247uF 10VC_1210_3225MetricC8, C9
1+5VTestPoint_Plated_Hole_D2.0mmTP3
10RR_0603_1608MetricR14
110nF BOOTC_0603_1608MetricC7
1150k 1%R_0603_1608MetricR3
115k 1%R_0603_1608MetricR13
115uH 4AL_10.4x10.4_H4.8L1
116.9k 1%R_0603_1608MetricR15
11kR_0603_1608MetricR6
122nFC_0603_1608MetricC5
130.9k 1%R_0603_1608MetricR8
152.3k 1%R_0603_1608MetricR1
156k 1%R_0603_1608MetricR10
15V OUTTerminalBlock_Phoenix_MKDS-1,5-2_1x02_P5.00mm_HorizontalJ2
18.06k 1%R_0603_1608MetricR5
1B340AD_SMAD2
1DAQPinHeader_1x06_P2.54mm_VerticalJ3
1GNDTestPoint_Plated_Hole_D2.0mmTP4
1PROTECTED_INTestPoint_Plated_Hole_D2.0mmTP2
1SMBJ24AD_SMBD1
1TPS26600PWPHTSSOP-16-1EP_4.4x5mm_P0.65mm_EP3.4x5mm_Mask2.66x2.46mmU1
1TPS5431DDATI_SO-PowerPAD-8U2
1VINTestPoint_Plated_Hole_D2.0mmTP1
1VIN 8-18VTerminalBlock_Phoenix_MKDS-1,5-2_1x02_P5.00mm_HorizontalJ1

Similar boards

  • 4 layers81 × 53 mmPratham, the printed circuit board in 3D

    Pratham

    PeriwalPratham/FlightController

    A basic PCB design which contains all components for a solo yet affordable basic drone controller

    102 partsMIT
  • 2 layers41 × 55 mmStm32, the printed circuit board in 3D

    Stm32

    zaidhajji/STM32F030C8T6-MCU-Circuit

    Custom STM32 Board Design with KiCad

    40 parts
  • 2 layers100 × 50 mmPd power supply, the printed circuit board in 3D

    Pd power supply

    ziteh/pd-power-supply

    Adjustable power supply based on USB PD (WIP)

    110 partsCERN-OHL-P-2.0
  • 2 layers25.4 × 42.9 mmTPS26600 ePuse, the printed circuit board in 3D

    TPS26600 ePuse

    Mario8472/TPS26600-eFuse

    KiCad files for TPS26600 eFuse PCB

    22 parts1
  • 6 layers87 × 81 mmOvc2 mobo, the printed circuit board in 3D

    Ovc2 mobo

    osrf/ovc

    the Open Vision Computer

    189 parts207Apache-2.0
  • 2 layers129.8 × 92.5 mmSignalization by fireplace, the printed circuit board in 3D

    Signalization by fireplace

    RomLab/pcb-system-for-underfloor-heating-v2.0

    PCB for underfloor heating system

    204 parts1
  • 2 layers1 8V Power Switch, the printed circuit board in 3D

    1 8V Power Switch

    SlugSat/Schematics_PCBs

    PCB Schematics for all of SlugSat

    13 parts1
  • 6 layers245 × 190 mmAkd safe interlock node, the printed circuit board in 3D

    Akd safe interlock node

    zinedkahitaf-lang/AKD-SAFE-SourceControl

    Infrastructure-Based Active Engineering Safety Platform. Move the safety burden from the worker to the hazard. Engineering prototype - not a certified safety device.

    200 parts

Questions

How big is the Protected buck PCB?

It measures 120 × 70 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Protected buck use?

35 parts, built around the TPS5431DDA, TPS26600PWP, B340A and SMBJ24A. 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 Protected buck KiCad files?

From the Shanshan3133/automated-hardware-validation-framework repository on GitHub, at the commit this page was made from: the board is hardware/protected_buck.kicad_pcb and its schematic hardware/protected_buck.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Protected buck design in my own project?

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