Skip to the content
PCBKitNew board
2 layers100 × 80 mmPhase3-manager, the printed circuit board in 3D

Phase3-manager

udaravima/Lab_Bench1

A modular, rack-style DC power supply: up to 8 hot-pluggable 600 W buck modules on a shared DC input bus, coordinated by a central manager over CAN.

Size
100 × 80 mm
Copper layers
2
Thickness
1.6 mm
Parts
87
Nets
78
Pads
343
Tracks, vias
1,394, 475
Pours
3
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
13 Jul 2026
Updated
20 Oct 2026

Overview

Phase3-manager is an open-source printed circuit board by udaravima, from the udaravima/Lab_Bench repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 100 × 80 mm with 87 parts on 78 nets, routed with 1,394 tracks and 475 vias.

It is built around the ESP32-S3-WROOM-1-N8R2, TCAN1042HGVD and LMR36015AQRNXRQ1, with the TCA9535PWR(UMW), TPD2E001DZD and 1N4148W among its other parts. Its parts include 37 resistors, 18 capacitors, 6 ICs, 5 connectors and 4 diodes. It belongs with the power boards and the ESP32 boards of this library.

Main components

8

README

README.md

Lab_Bench — Multi-Channel Modular Power Supply

CI

A modular, rack-style DC power supply: up to 8 hot-pluggable 600 W buck modules on a shared DC input bus, coordinated by a central manager over CAN. Each channel is a self-contained analog CV/CC supply with bench-grade precision, usable for lab work, bulk DC power, and battery charging.

Headline specification

ParameterValue
Input bus24–30 V DC nominal (12 V tolerated, output ceiling drops with it)
Channels1–8, hot-pluggable, slot-addressed
Per-channel output0 … (V_in − 2 V), 0–30 A, 600 W envelope (first limit binds)
RegulationAnalog CV/CC (diode-OR min-selector), firmware never in the loop
Setpoint resolution~0.5 mV / ≤0.8 mA (16-bit DAC, per-module calibration)
Readback20-bit INA228, ±0.05 % class
CommsCAN 2.0B @ 500 kbit/s, heartbeat-supervised
ScalingChannels parallel into droop-share groups (firmware feature)
GroundingAll outputs share input ground — parallel OK, no series stacking
Global limitsManager-enforced total power budget + hardwired E-stop line

Documentation index

DocContents
docs/01-system-architecture.mdTopology, backplane, grounding, power budget
docs/02-module-design.md600 W module: power stage, CV/CC loop, sensing, MCU
docs/03-can-protocol.mdBus parameters, ID map, payloads, fault semantics
docs/04-protection-matrix.mdEvery fault: detection, response, latching, recovery
docs/05-build-plan.mdPhased build with exit criteria (150 W proto → 8-ch rack)
docs/06-phase1-circuit-design.mdWorked component values for the 150 W prototype
docs/07-module-firmware.mdSTM32G431 firmware architecture, pin map, bring-up
docs/08-phase2-circuit-design.mdWorked component values for the 600 W module (LM5143 + LM5069)
docs/09-phase3-circuit-design.mdBackplane + ESP32-S3 manager design (slots, E-stop chain, bus metering, UI)
docs/10-manager-firmware.mdManager firmware architecture (host-tested core + ESP-IDF shell)
docs/11-build-guide.mdHow to build one: ordering, assembly, firmware, first power-up
docs/12-phase1-bench-tests.mdPhase-1 bench test procedure against the exit criteria (+ results template)
hardware/SOURCING.mdLCSC-first part sourcing, prices, order-early list
HANDOVER.mdSession handover: state, decisions, gotchas, next steps
hardware/phase1-module/tools/README.mdSchematic/PCB generation + verification pipeline
hardware/phase1-module/lib/PARTS-TO-DOWNLOAD.mdExact orderables, package corrections, verified pricing

Repository layout

text
docs/                         Design docs 01..10, build guide 11, bench tests 12
  test-results/               Bench results (template + one file per board run)
hardware/common/              Shared generators, checkers, bom.py + lcsc_parts.py
hardware/phase1-module/       KiCad 7 project (schematics hand-owned; board generated + routed)
  tools/                      Generators + mechanical checkers (see README)
  lib/                        Vetted symbol + footprint libraries (shared by phase 2)
hardware/phase2-module/       KiCad 7 project — GENERATED (600 W module, docs/08)
hardware/phase3-backplane/    KiCad 7 project — GENERATED (8-slot backplane, docs/09)
hardware/phase3-manager/      KiCad 7 project — GENERATED (ESP32-S3 manager, docs/09)
firmware/
  common/labbench_can.h       CAN codec, shared module <-> manager
  module/core/                Portable control core (host-tested)
  module/                     STM32G431 bare-metal firmware (Makefile+arm-gcc)
  manager/core/               Portable manager core (host-tested)
  manager/idf/                ESP-IDF shell (needs IDF >= 5.1; unproven on silicon)
  tests/                      Host unit tests — `cd firmware/tests && make test`
  tools/lbcan.py              Bench helper: build cansend frames, decode candump

Status (2026-10-06)

Nothing has run on silicon yet; the first board to be built is the Phase-1 module. v0.1.0 was released from master on 2026-09-29.

AreaState
Design docsComplete: 01–10, plus the build guide (11) and Phase-1 bench test procedure (12)
Phase-1 module (150 W)100 × 80 mm, routed, 0 unconnected, 0 DRC errors, fab zip and CPL committed. OVP_TRIP routed to the MCU (PB4) for the firmware 0.2 OVP latch. L2 moved to a 5 × 5 mm land (2026-10-06). Next: order and run docs/12. The older 120 × 80 layout on branch phase1-120x80 has wrong L1/U7 lands: do not order it
Phase-2 module (600 W)130 × 90 mm, routed, 0 unconnected, 0 DRC errors, fab zip and CPL committed; pre-order review closed (HANDOVER); L2 moved to a 5 × 5 mm land (2026-10-06)
Phase-3 backplane330 × 100 mm, fab-ready; gated on the XT60 polarity buzz-out (MECHANICAL.md)
Phase-3 manager100 × 80 mm, routed, 0 unconnected, 0 DRC errors; L2 moved to a 5 × 5 mm land (2026-10-05)
Module firmwarev0.2 builds (~7 KB, bare-metal STM32G431) with the OCP backup and OVP latch; control core host-tested
Manager firmwarev0.2 builds on ESP-IDF 5.3.2; manager, SCPI and UI cores host-tested
BOM / sourcingLCSC numbers in the schematics and per-board BOM and CPL files (hardware/common/bom.py); no CHECK: rows left (closed 2026-10-06); INA228 stock is thin (5 at LCSC); generic R/C parts not yet numbered
CIGitHub Actions: host tests, module and manager firmware builds on every PR

Complete Phase-1 build (parts, five PCBs, stencil, shipping) ≈ US$100–125. HANDOVER.md has the detailed resume points. Work lands on the development branch through pull requests; master receives batched merges.

License

GPL-3.0 (see LICENSE).

Parts

87
QtyValueFootprintReferences
2510KResistor_SMD:R_0603_1608MetricR64, R65, R66, R72, R75, R76, R77, R78, R79, R80, R81, R82, R83, R84, R85, R86 +9
9100nCapacitor_SMD:C_0603_1608MetricC52, C65, C66, C69, C70, C73, C74, C75, C76
4100KResistor_SMD:R_0603_1608MetricR52, R71, R73, R98
4M3MountingHole:MountingHole_3.2mm_M3H1, H2, H3, H4
32N7002Package_TO_SOT_SMD:SOT-23Q8, Q9, Q10
3FiducialFiducial:Fiducial_1mm_Mask2mmFID1, FID2, FID3
21KResistor_SMD:R_0603_1608MetricR69, R70
21uCapacitor_SMD:C_0603_1608MetricC53, C68
222u/16VCapacitor_SMD:C_1210_3225MetricC54, C55
24.7KResistor_SMD:R_0603_1608MetricR62, R63
24.7u/50VCapacitor_SMD:C_1210_3225MetricC50, C51
25.1KResistor_SMD:R_0603_1608MetricR67, R68
1100K 1%Resistor_SMD:R_0603_1608MetricR50
110uCapacitor_SMD:C_1210_3225MetricC64
110u/16VCapacitor_SMD:C_1210_3225MetricC56
11N4148WDiode_SMD:D_SOD-323D9
122u/10VCapacitor_SMD:C_1210_3225MetricC57
124.9K 1%Resistor_SMD:R_0603_1608MetricR51
12A mini bladeFuse:Fuse_Blade_Mini_directSolderF1
133u/1.2AInductor_SMD:L_Changjiang_FNR5040SL2
1AO3401A-class PMOSPackage_TO_SOT_SMD:SOT-23Q11
1BACKPLANEConnector_PinHeader_2.54mm:PinHeader_1x20_P2.54mm_VerticalJ1
1BOOTButton_Switch_SMD:SW_SPST_TL3342SW2
1EC11Rotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mmENC1
1ESP32-S3-WROOM-1-N8R2RF_Module:ESP32-S3-WROOM-1U10
1ILI9341 LCD MODULEConnector_PinHeader_2.54mm:PinHeader_1x14_P2.54mm_VerticalJ6
1LED_CANLED_SMD:LED_0603_1608MetricD8
1LED_STATLED_SMD:LED_0603_1608MetricD7
1LMR36015AQRNXRQ1labbench:LMR36015_RNX_VQFN-HR-12U8
1MLT-8530labbench:MLT-8530BZ1
1NCP1117-3.3Package_TO_SOT_SMD:SOT-223-3_TabPin2U9
1PANEL KEYSConnector_PinHeader_2.54mm:PinHeader_1x09_P2.54mm_VerticalJ5
1RESETButton_Switch_SMD:SW_SPST_TL3342SW1
1SMBJ33ADiode_SMD:D_SMBD5
1TCA9535PWRPackage_SO:TSSOP-24_4.4x7.8mm_P0.65mmU13
1TCAN1042HGVPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU11
1TPD2E001Package_TO_SOT_SMD:Texas_R-PDSO-N5_DRL-5U12
1UARTConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ4
1USB-CConnector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_HorizontalJ3

Questions

How big is the Phase3-manager PCB?

It measures 100 × 80 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Phase3-manager use?

87 parts, built around the ESP32-S3-WROOM-1-N8R2, TCAN1042HGVD, LMR36015AQRNXRQ1 and TCA9535PWR(UMW). 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 Phase3-manager KiCad files?

From the udaravima/Lab_Bench repository on GitHub, at the commit this page was made from: the board is hardware/phase3-manager/phase3-manager.kicad_pcb and its schematic hardware/phase1-module/aux-rails.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Phase3-manager design in my own project?

Its repository publishes it under the GPL-3.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).

More from udaravima/Lab_Bench

3
  • 4 layers130 × 90 mmPhase2-module, the printed circuit board in 3D

    Phase2-module

    udaravima/Lab_Bench

    A modular, rack-style DC power supply: up to 8 hot-pluggable 600 W buck modules on a shared DC input bus, coordinated by a central manager over CAN.

    180 parts1GPL-3.0
  • 4 layers100 × 80 mmPhase1-module, the printed circuit board in 3D

    Phase1-module

    udaravima/Lab_Bench

    A modular, rack-style DC power supply: up to 8 hot-pluggable 600 W buck modules on a shared DC input bus, coordinated by a central manager over CAN.

    144 parts1GPL-3.0
  • 2 layers330 × 100 mmPhase3-backplane, the printed circuit board in 3D

    Phase3-backplane

    udaravima/Lab_Bench

    A modular, rack-style DC power supply: up to 8 hot-pluggable 600 W buck modules on a shared DC input bus, coordinated by a central manager over CAN.

    39 parts1GPL-3.0

Similar boards

  • 4 layers72.5 × 34 mmXr25, the printed circuit board in 3D

    Xr25

    KreativeName1/Renault-PiDash

    digital gauge pods for the Renault 19 and other cars

    47 partsMIT
  • 4 layers62 × 105 mmPT100 Datalogger, the printed circuit board in 3D

    PT100 Datalogger

    rasusmilch/PT100_Mesh_Datalogger

    This application turns an ESP32-S3 N8R2 into a UTC-centric PT100 data logger with FRAM-first buffering, SD-card CSV batching/verification, DS3231 RTC support, mesh streaming, and serial-console calibration.

    139 parts
  • 10 layers177.8 × 141 mmProc101d, the printed circuit board in 3D

    Proc101d

    gingerologist/am64x

    This project starts from proc101d (TMDS64EVM).

    798 parts
  • 2 layers80.8 × 80.8 mmBeacon Task, the printed circuit board in 3D

    Beacon Task

    rzy-5712/Beacon_practice

    Practice Beacon Board PCB

    45 parts
  • 2 layers96 × 50 mmPager, the printed circuit board in 3D

    Pager

    justinlindh/bramble

    Privacy-first LoRa mesh networking for ESP32-S3, built with ESP-IDF

    97 parts2MIT
  • 4 layers230 × 135 mmVancontroller, the printed circuit board in 3D

    Vancontroller

    Camperlux/vancontroller

    VanController: ESP32-S3 12 V campervan controller board (6 fused relays, 6 PWM dimmers, CAN, RS485, GPS) - KiCad 10 design, manufacturing files and enclosure. Free for non-commercial use.

    259 parts
  • 4 layers193.5 × 105 mmBMU v1, the printed circuit board in 3D

    BMU v1

    KomplexKapharnaum/KXKM_Batterie_Parallelator

    Battery Management Unit for parallel 24-30V packs Up to 32 batteries ESP32-S3 BLE + MQTT + InfluxDB iOS companion app

    143 partsGPL-3.0
  • 4 layers70 × 116 mmPanel, the printed circuit board in 3D

    Panel

    Dennis960/Blumy

    A smart, WiFi-enabled ESP32 soil moisture and plant sensor

    174 parts3