

Sbc baseboard
Baseboard for remote management of an attached SBC: K64 MCU as USB HID to the target and Ethernet to the workstation, six switched USB-A ports, isolated SPDT relays, level-shifted console, switched target power
- Size
- 140 × 100 mm
- Copper layers
- 6
- Thickness
- 1.67 mm
- Parts
- 271
- Nets
- 222
- Pads
- 1,100
- Tracks, vias
- 451, 189
- Pours
- 91
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 13 Sep 2026
- Updated
- 16 Oct 2026
Overview
Sbc baseboard is an open-source printed circuit board by calicopizzadelivery, from the calicopizzadelivery/sbc-development-baseboard repository on GitHub, published under the Apache-2.0 licence. It is a 6-layer board of 140 × 100 mm with 271 parts on 222 nets, routed with 451 tracks and 189 vias.
It is built around the MK20DX128VFM5, MK64FN1M0VLL12 and KSZ8081RNACA, with the FT231XS-R, USBLC6-2SC6 and TPS2553DBV among its other parts. Its parts include 102 resistors, 82 capacitors, 27 diodes, 16 ICs and 13 connectors. It belongs with the computers and single-board computers and home automation and IoT boards and the NXP (LPC, Kinetis, i.MX RT) boards of this library.
Main components
12MK20DX128VFM5
QFN-32-EP(5x5)-40℃~+105℃ 1.71V~3.6V 128KB 16KB 16bit 20 2KB 32 Bit 50MHz ARM Cortex-M4 Built-in FLASH QFN-32-EP(5x5) Microcontrollers (MCU/MPU/SOC) ROHSNXP SemiconductorsMicrocontrollers (MCU/MPU/SOC)MK64FN1M0VLL12
LQFP-100(14x14)-40℃~+105℃ 1.71V~3.6V 120MHz 12bit 16bit 1MB 256KB 32 Bit 66 ARM Cortex-M4 Built-in FLASH LQFP-100(14x14) Microcontrollers (MCU/MPU/SOC) ROHSNXP SemiconductorsMicrocontrollers (MCU/MPU/SOC)KSZ8081RNACA
QFN-24-EP(4x4)0℃~+70℃ 1.8V、2.5V、3.3V 10BASE-T、100BASE-TX 10Mbit/s、100Mbit/s PHY Transceiver RMII QFN-24-EP(4x4) Ethernet Transceivers ROHSMicrochip TechnologyEthernet TransceiversFT231XS-R
SSOP-20-150mil-40℃~+85℃ 125uA 5V 8.4mA USB 2.0 USB to UART SSOP-20-150mil USB Converters ROHSFTDIUSB ConvertersUSBLC6-2SC6
SOT-23-60.35pF、0.8pF 100nA 150W@8/20us 15V 2 5V 6A@8/20us 6V ESD SOT-23-6 ESD and Surge Protection (TVS/ESD) ROHSUMWESD And Surge Protection (TVS/ESD)TPS2553DBV
SOT-23-6-40℃~+150℃ 1 1.5A 2.5V~6.5V 85mΩ Active High High Side Switch 过压保护、软启动、欠压锁定、反向电压保护、集成电荷泵、Overcurrent Protection、Over temperature protection、锁存保护、Short-Circuit Protection SOT-23-6 Power Distribution Switches ROHSTexas InstrumentsPower Distribution SwitchesLTV-817
DIP-4-55℃~+110℃ 1 1.2V 100mV@20mA,1mA 200mW 35V 3us 4us 50% 50mA 50mA 5kV 600% 6V DC Phototransistor DIP-4 Transistor, Photovoltaic Output Optoisolators ROHSLite-OnTransistor, Photovoltaic Output OptoisolatorsPESD5V0S1UL
DFN1006-21 100nA 150W 152pF 15A@8/20us 20V 5V 6.4V ESD IEC 61000-4-2、IEC 61000-4-5 Unidirectional DFN1006-2 ESD and Surge Protection (TVS/ESD) ROHSNexperiaESD And Surge Protection (TVS/ESD)1N4148W
SOD-123150mA 1A 1V@50mA 1uA@75V 400mW 4ns 75V Independent SOD-123 Switching Diodes ROHSSTMicroelectronicsSwitching DiodesAO3400A
SOT-23-55℃~+150℃ 1 N-channel 1.45V 1.4W 30V 48mΩ@2.5V 5.7A 50pF 630pF 75pF 7nC@10V N-Channel SOT-23 MOSFETs ROHSAlpha & Omega SemiconductorMOSFETsBAT54
SOT-23200mA 2uA@25V 30V 800mV@100mA Independent SOT-23 Schottky Diodes ROHSFOSANSchottky DiodesDMP3013SFV
PowerDI3333-8-55℃~+150℃ 1 P-Channel 1.674nF 1.94W 17mΩ@4.5V 230pF 30V 33.7nC@10V 35A 3V P-Channel PowerDI3333-8 MOSFETs ROHSDiodes IncorporatedMOSFETs
README
README.mdsbc-development-baseboard
One board carrying the hardware you need to develop on and remotely manage an attached single-board computer: a microcontroller that is a USB device to the target and a console to you, four individually switched USB-A ports, an FTDI header straight to the workstation, two isolated SPDT relays on screw terminals, a level-shifted serial console, and a switched supply for the target itself.
It replaces a bench that currently takes an FRDM-K64F, a QT Py, an 8-channel relay board, a two-tier USB hub cascade and a CP2102N dongle, wired together by hand and documented in a port map that has to be re-surveyed whenever anything is replugged.
What it does
| Function | How |
|---|---|
| Type at the target | USB HID keyboard + mouse from the K64's device port |
| Cut power to any USB device | Four USB-A ports on two stacked receptacles, each with its own current-limited switch |
| Hard power-cycle the target | Switched +5V_TGT rail up to 3 A behind an eFuse, or any PSU up to 30 V / 5 A through an isolated relay |
| Toggle target I/O — FORCE_RECOVERY and friends | Two SPDT relays, dry contacts, Phoenix terminals |
| Read the target's serial console | MCU-owned UART, auto level translation 1.2–3.6 V |
| Read it from the workstation directly | FT231X on an internal hub port, standard 6-pin FTDI header, 3.3 V |
| Do all of it from somewhere else | 10/100 Ethernet to the workstation |
| Do all of it with no network | USB CDC console over the onboard DAPLink |
Every one of those is addressable from the same ASCII protocol the relay
controller and the HID injector already speak — one line in, one line out,
starting OK or ERR. See docs/protocol.md.
The shape of it
workstation ──USB-C──> hub ──> 4x USB-A (switched) ──> whatever you hang on the bench
──> FT231X, FTDI header ──> target's console, direct
──RJ45───> K64 ──> USB-C device port ──> target's USB host port
──> UART + VREF ──> target's console
──> 2x SPDT dry contacts ──> target's recovery/reset pins
──> switched +5V, 3 A ──> target's supply
target PSU ──Phoenix──> isolated relay, NO, 5 A ──> target's supply, any voltage
5 V adapter ──barrel──> +5V, one rail, 4 A, 20 W ──> everything but the passthrough140 × 100 mm, four M3 corner holes. Your connectors leave the left edge, the target's the right; an LED on every rail, every switched output and every relay coil, and none on the passthrough, whose voltage is whatever you plugged in.
One USB-C for the workstation and a barrel jack for power (2026-10-10; two USB-C inlets, a PD charger beside the workstation port, until then). A workstation port that carries data offers 15 W at best, and four switched ports plus a target rail need more than that, so power has its own connector: a 5 V 4 A adapter on a 2.5 mm barrel jack, 20 W, which firmware budgets across the ports and the target rail. A USB-C PD sink feeding two 5 V bucks did that job first, and went because of what it cost the board rather than the bench: 339 parts became 270, and the one rail layer no longer carries a 3 A inlet beside two 6 A rails, which is where the router stalled at 98 open connections on six layers. Keeping power off the workstation link also means the board stays alive when that link is down, so the MCU can power-cycle the entire USB tree including its own path back to you.
Where the design came from
Most of the non-obvious decisions here are bench scars from the Jetson work, not preferences. They are written up in full in docs/hardware-spec.md; the short version:
- Nothing the MCU depends on sits downstream of a switch it controls. The
DAPLink, the Ethernet PHY and the MCU itself are all upstream.
OFF ALLcan never take out the console. - Rails boot to the state that does no harm. USB ports and the target rail come up powered; relays come up de-energized. Resistors set this while the MCU is still in reset, so a reset never drops a load or asserts recovery.
- The device port cannot back-feed the target. Its VBUS is sense-only through a blocking element. This is the fix for the failure where cutting the target's power left it half-alive for 90 seconds because a self-powered FRDM-K64F was pushing 5 V up its own device port.
- The relays are signal relays with gold-clad contacts. Switching a 1.8 V logic pin is a dry circuit; silver power-relay contacts grow an oxide film that such a signal cannot break down.
- The MCU owns the target's console. No USB-UART bridge to wedge and look exactly like a target that is not booting.
- The target's PSU passes through on its own nets. A 19 V / 3 A return current has no business on the board's ground plane or its USB shields. It crosses one relay contact — normally open — so nothing powers until the baseboard says so, and a dead baseboard leaves the target off.
Status
Specification, a generated schematic (KiCad 10, a root sheet and eight sub-sheets, ERC clean) and
a generated, placed six-layer board, both in
hardware/kicad/sbc-baseboard/ with a
PDF of the schematic for
review. The board is placed and bulk-routed by the house standard's engine
(see hardware/kicad/README.md) and is being
routed again for the barrel-jack inlet (2026-10-10; the board routed before
it, with the PD inlet and the two bucks, stopped at 98 open connections on
six layers and 116 on four); the hand pass that finishes the routing is open.
No firmware.
Next: the routing and the hand pass on the board, then firmware.
Layout
docs/hardware-spec.md block diagram, part selection, power and pin budgets,
safe states, and the open questions
docs/protocol.md the console protocol, across both transports
docs/block-diagram.* the diagram above, SVG source and rendered PNG
scripts/block-diagram.py regenerates both; run it with every configuration change
hardware/kicad/ the KiCad project (sbc-baseboard/) and the generator that
produced its first pass (gen/) — see hardware/kicad/README.md
hardware/datasheets/ the parts that matterRelated
frdm-k64f-hid— the HID injector firmware this board inheritsqtpy-relay-controller— the relay protocol and its safe-state rulesnvidia-jetson-tv— the target that motivated all of it
Licence
Apache-2.0. See LICENSE.
Parts
271| Qty | Value | Footprint | References |
|---|---|---|---|
| 40 | 100n | C_0603_1608Metric | C104, C206, C207, C208, C209, C210, C211, C213, C301, C302, C305, C309, C310, C403, C404, C405 +24 |
| 37 | 10k | R_0603_1608Metric | R203, R204, R208, R209, R210, R211, R214, R308, R403, R405, R406, R407, R408, R409, R410, R411 +21 |
| 12 | 1k | R_0603_1608Metric | R101, R309, R310, R426, R429, R432, R435, R438, R705, R803, R806, R809 |
| 9 | 100k | R_0603_1608Metric | R102, R104, R216, R401, R402, R701, R802, R805, R808 |
| 9 | LED GREEN | LED_0603_1608Metric | D401, D402, D403, D404, D405, D504, D505, D601, D703 |
| 6 | 10u | C_0805_2012Metric | C105, C212, C214, C426, C504, C709 |
| 6 | 470 | R_0603_1608Metric | R103, R501, R502, R503, R507, R605 |
| 6 | PESD5V0S1UL | D_SOD-882 | D501, D502, D503, D506, D701, D702 |
| 6 | USBLC6-2SC6 | SOT-23-6 | U202, U401, U408, U409, U410, U411 |
| 5 | 1u | C_0603_1608Metric | C203, C401, C402, C411, C413 |
| 5 | 22u | C_1206_3216Metric | C418, C420, C422, C424, C710 |
| 5 | 23.7k | R_0603_1608Metric | R425, R428, R431, R434, R437 |
| 5 | 2u2 | C_0603_1608Metric | C201, C202, C304, C602, C605 |
| 5 | 330 | R_0603_1608Metric | R205, R206, R207, R301, R302 |
| 5 | TPS2553DBV | SOT-23-6 | U403, U404, U405, U406, U407 |
| 4 | 1N4148W | D_SOD-123 | D801, D803, D805, D807 |
| 4 | 5.1k | R_0603_1608Metric | R201, R202, R422, R423 |
| 4 | 75 | R_0603_1608Metric | R303, R304, R305, R306 |
| 4 | M3 | MountingHole_3.2mm_M3_Pad | H1, H2, H3, H4 |
| 3 | 2.2k | R_0603_1608Metric | R801, R804, R807 |
| 3 | 22u | C_0805_2012Metric | C106, C107, C308 |
| 3 | 33 | R_0603_1608Metric | R307, R602, R603 |
| 3 | LED RED | LED_0603_1608Metric | D802, D804, D806 |
| 2 | 1.8k | R_1206_3216Metric | R810, R811 |
| 2 | 12p | C_0603_1608Metric | C204, C205 |
| 2 | 18p | C_0603_1608Metric | C606, C607 |
| 2 | 22p | C_0603_1608Metric | C306, C307 |
| 2 | 27 | R_0603_1608Metric | R504, R505 |
| 2 | 2N7002 | SOT-23 | Q801, Q802 |
| 2 | 33p | C_0603_1608Metric | C415, C416 |
| 2 | 4.7k | R_0603_1608Metric | R212, R213 |
| 2 | 47p | C_0603_1608Metric | C502, C503 |
| 2 | 47u/10V | C_1210_3225Metric | C101, C102 |
| 2 | 600R@100MHz | L_0603_1608Metric | FB201, FB301 |
| 2 | COM/NO/NC | PhoenixContact_MC_1,5_3-G-3.5_1x03_P3.50mm_Horizontal | J11, J12 |
| 2 | G6K-2F-Y DC5 | Relay_DPDT_Omron_G6K-2F-Y | K801, K802 |
| 2 | LED AMBER | LED_0603_1608Metric | D102, D103 |
| 2 | USB-A x2 | USB_A_Wuerth_61400826021_Horizontal_Stacked | J4, J5 |
| 1 | +5V_TGT out | PhoenixContact_MSTBA_2,5_2-G-5,08_1x02_P5.08mm_Horizontal | J14 |
| 1 | 100u/10V | CP_Elec_8x10.5 | C103 |
| 1 | 10n | C_0603_1608Metric | C712 |
| 1 | 12.0k 1% | R_0603_1608Metric | R404 |
| 1 | 120p | C_0603_1608Metric | C108 |
| 1 | 196k | R_0603_1608Metric | R703 |
| 1 | 1n | C_0603_1608Metric | C711 |
| 1 | 1n/2kV | C_1206_3216Metric | C303 |
| 1 | 20k | R_0603_1608Metric | R707 |
| 1 | 24MHz | Crystal_SMD_3225-4Pin_3.2x2.5mm | Y401 |
| 1 | 25MHz | Crystal_SMD_3225-4Pin_3.2x2.5mm | Y301 |
| 1 | 32.768kHz | Crystal_SMD_3215-2Pin_3.2x1.5mm | Y201 |
| 1 | 453k | R_0603_1608Metric | R105 |
| 1 | 470n/4A | L_1210_3225Metric | L101 |
| 1 | 47k | R_0603_1608Metric | R215 |
| 1 | 4u7 | C_0805_2012Metric | C410 |
| 1 | 5 V in, 2.5 mm | BarrelJack_Kycon_KLDX-0202-xC_Horizontal | J2 |
| 1 | 6.04k 1% | R_0603_1608Metric | R708 |
| 1 | 6.49k 1% | R_0603_1608Metric | R311 |
| 1 | 75k | R_0603_1608Metric | R702 |
| 1 | 8MHz | Crystal_SMD_3225-4Pin_3.2x2.5mm | Y601 |
| 1 | AO3400A | SOT-23 | Q803 |
| 1 | BAT54 | D_SOD-123 | D201 |
| 1 | Console | PhoenixContact_MC_1,5_4-G-3.5_1x04_P3.50mm_Horizontal | J13 |
| 1 | DAP RESET | SW_SPST_PTS645Sx43SMTR92 | SW601 |
| 1 | DMP3013SFV | Diodes_PowerDI3333-8 | Q101 |
| 1 | FT231XS | SSOP-20_3.9x8.7mm_P0.635mm | U501 |
| 1 | FTDI header | PinHeader_1x06_P2.54mm_Horizontal | J9 |
| 1 | GPIO + I2C | PinHeader_2x06_P2.54mm_Vertical | J15 |
| 1 | JW1FSN-DC5V | Relay_SPDT_Panasonic_JW1_FormC | K803 |
| 1 | KSZ8081RNA | QFN-24-1EP_4x4mm_P0.5mm_EP2.6x2.6mm | U301 |
| 1 | LTV-817 | DIP-4_W7.62mm | U801 |
| 1 | MK20DX128VFM5 | QFN-32-1EP_5x5mm_P0.5mm_EP3.45x3.45mm | U601 |
| 1 | MK64FN1M0VLL12 | LQFP-100_14x14mm_P0.5mm | U201 |
| 1 | PSU in (isolated) | PhoenixContact_MSTBA_2,5_2-G-5,08_1x02_P5.08mm_Horizontal | J18 |
| 1 | PSU out (isolated) | PhoenixContact_MSTBA_2,5_2-G-5,08_1x02_P5.08mm_Horizontal | J19 |
| 1 | RESET | SW_SPST_PTS645Sx43SMTR92 | SW201 |
| 1 | RGB heartbeat | LED_RGB_1210 | D202 |
| 1 | RJ45 magjack 10/100 | RJ45_Kycon_G7LX-A88S7-BP-xx_Horizontal | J10 |
| 1 | RTS/DTR | SolderJumper-3_P1.3mm_Bridged12_RoundedPad1.0x1.5mm | JP501 |
| 1 | SMAJ5.0A | D_SMA | D101 |
| 1 | SWD | PinHeader_2x05_P1.27mm_Vertical | J16 |
The 261 most common of 271 parts.
Questions
How big is the Sbc baseboard PCB?
It measures 140 × 100 mm and has 6 copper layers, 1.67 mm thick.
What parts does the Sbc baseboard use?
271 parts, built around the MK20DX128VFM5, MK64FN1M0VLL12, KSZ8081RNACA and FT231XS-R. 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 Sbc baseboard KiCad files?
From the calicopizzadelivery/sbc-development-baseboard repository on GitHub, at the commit this page was made from: the board is hardware/kicad/sbc-baseboard/sbc-baseboard.kicad_pcb and its schematic hardware/kicad/sbc-baseboard/daplink.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Sbc baseboard design in my own project?
Its repository publishes it under the Apache-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).
Similar boards
- 4 layers116 × 62 mm

- 4 layers100 × 60 mm

- 2 layers405 × 135 mm

Keyboard
jasperhax0r/CompaqPortableKeyboard
Mechanical Keyboard for the original Compaq Portable XT-Class
188 parts2MIT - 4 layers99.9 × 99.9 mm

- 2 layers159 × 99 mm

Controller f407
wa1hco/rotator_controller
Clean slate rebuild of full featured rotator controller.
122 partsGPL-3.0 - 6 layers53.3 × 101.6 mm

Mega2560plus
sneakylizard123-4/Mega2560plus
Mega 2560+ is an upgraded version of the Arduino Mega 2560. It keeps the same form factor and pinout as the original so it still works with every Mega shield, but it adds an onboard sensor suite and an ESP32-S3…
149 parts - 4 layers144 × 127 mm

Frothfet
hoeken/frothfet
Yarrboard load controller board with current sense, volt sense, fuses, and sender support.
394 parts14GPL-3.0 - 4 layers100 × 100 mm

Phmod
gallicchio/AMOD-and-RFMOD
The tutorial's 2x12 adapter (/mudd/133electronics/icepi-zero-dac-adc/adapterboard/) with a 2 x 6 right-angle Pmod socket on a 15 mm extension of its right-hand end, so an Icepi Zero can drive AMOD-A's and RF-MOD's Pmod…
234 parts
