

Mspc
Repository for MSPC hardware design
- Size
- 100 × 100 mm
- Copper layers
- 4
- Thickness
- 1.02 mm
- Parts
- 135
- Nets
- 139
- Pads
- 571
- Tracks, vias
- 2,634, 294
- Pours
- 15
- Routed
- Yes
- KiCad
- KiCad 8.0 (file 20240108)
- Created
- 10 Feb 2022
- Updated
- 13 Sep 2026
Overview
Mspc is an open-source printed circuit board by matgla, from the matgla/mspc repository on GitHub, published under the MIT licence. It is a 4-layer board of 100 × 100 mm with 135 parts on 139 nets, routed with 2,634 tracks and 294 vias.
It is built around the BD9D321EFJ-E2, W25Q128JVSIQ and LESD5D5.0CT1G, with the ECS-120-8-36-CGN-TR among its other parts. Its parts include 57 capacitors, 26 resistors, 15 connectors, 11 ICs and 10 diodes. It belongs with the RP2350 boards of this library.
Main components
4BD9D321EFJ-E2
SOP-8-EP-40℃~+85℃@(TA) 1 3A 4.5V~18V 700kHz 700uA 765mV~7V Adjustable Buck Buck Built-in Yes SOP-8-EP DC-DC Converters ROHSROHM SemiconductorDC-DC ConvertersW25Q128JVSIQ
SOIC-8-208mil-40℃~+85℃ 100,000 cycles 120ms@(32KB) 128Mbit 133MHz 1uA 2.7V~3.6V 20 Years 3ms Power-on reset、Hardware write protection、Software write protection、Write enable latch、Absolute write protection SPI SOIC-8-208mil NOR FLASH ROHSWinbondNOR FLASHLESD5D5.0CT1G
SOD-523-55℃~+150℃ 100W 12pF 16V 1uA 5V 7A 7V Bidirectional ESD IEC 61000-4-2 SOD-523 ESD and Surge Protection (TVS/ESD) ROHSGOODWORKUncategorisedECS-120-8-36-CGN-TR
SMD2520-4P-40℃~+85℃ 12MHz 150Ω 8pF ±10ppm ±30ppm SMD2520-4P Crystals ROHSECSCrystals
README
README.mdMSPC
Hardware for MSPC: a small modular computer built from a mainboard and extension cards that plug into the MSPC bus. The mainboard runs yasos.
Versions and branches
| branch | contents |
|---|---|
main | the current hardware: the v2 boards (same as mspc_v2) |
mspc_v1 | the first generation, kept for reference |
mspc_v2 | the v2 boards as built |
mspc_v2.5 | the next revision, work in progress; main moves there when it is done and that point is tagged mspcv2.5 |
Repository layout
Every board is a KiCad project with its fabrication outputs next to it in outputs/.
| directory | board |
|---|---|
mainboard/ | Mainboard (project in mainboard/mainboard/). RP2350B (80-QFN), QSPI flash and PSRAM, microSD, HS8836A USB hub, TLV320DAC3203 audio DAC, 12 V input with BD9D321EFJ bucks, three MSPC bus sockets (2×10 and 2×15, 1.27 mm). 4 copper layers. |
gpu_vga_extension/ | VGA card: RP2350A (60-QFN), 2× W25Q32JV flash, AP2112K 3.3 V regulator, resistor-ladder RGB DAC and DB15 connector. 24 × 50 mm, 4 layers. |
gpu_dvi_card/ | DVI card: same core as the VGA card, with an HDMI-type receptacle carrying DVI. 24 × 50 mm, 4 layers. |
fpga_extension/ | FPGA card (project in fpga_extension/fpga_extension/): Lattice ECP5 LFE5UM-85F, W958D8NBYA HyperRAM, QSPI configuration flash, microSD, and an on-board RP2040 USB-C JTAG programmer. 47.5 × 50 mm, 6 layers. |
bus_adapter_20pin/ | Passive breakout from the 2×10 1.27 mm bus socket to two 1×10 2.54 mm headers. |
bus_adapter_30pin/ | Passive breakout from the 2×15 1.27 mm bus socket to two 1×15 2.54 mm headers. |
simulation/ | 2022 SPICE sandbox: KiCad/ngspice schematics (audio filter, power switch) and PySpice scripts. Not a board. |
Working with the files
- The projects are in KiCad 8 format. Newer KiCad versions upgrade them on the first save, and the result no longer opens in KiCad 8. Do such an upgrade as its own commit, with no design changes, so later diffs stay readable.
- Schematic PDFs (
outputs/schematic.pdf) are tracked, so the schematics can be read without KiCad. Gerbers and drill files are not: plot them from the KiCad project when ordering a board. Per-machine files (backups, caches,*.kicad_prl, lock files, local history) are ignored too.
Known issues
- Some outputs are older than the boards they sit next to: the mainboard stencil (from v1), the GPU cards' schematic PDFs and stencils (from before the VGA/DVI split), and the FPGA card's schematic PDF. Regenerate them before the next order.
- The silkscreen of the 20-pin bus adapter reads "2x15" (copied from the 30-pin adapter).
- The libraries are copied into each project and have diverged.
Parts
135| Qty | Value | Footprint | References |
|---|---|---|---|
| 25 | 100n | Capacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolder | C3, C4, C10, C11, C12, C13, C14, C19, C20, C27, C28, C33, C34, C42, C44, C58 +9 |
| 10 | 10k | Resistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolder | R4, R22, R23, R26, R27, R30, R31, R33, R34, R35 |
| 10 | LESD5D5.0CT1G | footprints:TVS_LESD5D5.0CT1G | D1, D2, D3, D4, D5, D6, D7, D8, D9, D10 |
| 7 | 4.7u | Capacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolder | C5, C17, C41, C43, C71, C74, C75 |
| 5 | 10u | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C23, C24, C25, C26, C57 |
| 5 | 1u | Capacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolder | C15, C22, C29, C31, C60 |
| 4 | 22u | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C37, C38, C39, C40 |
| 4 | MountingHole | MountingHole:MountingHole_3.2mm_M3_DIN965 | H1, H2, H3, H4 |
| 4 | TestPoint | TestPoint:TestPoint_Pad_D1.5mm | TP1, TP2, TP6, TP7 |
| 3 | 0 | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R3, R11, R12 |
| 3 | MountingHole | MountingHole:MountingHole_2.2mm_M2_DIN965 | H5, H6, H7 |
| 2 | 14p | Capacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolder | C1, C2 |
| 2 | 1k | Resistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolder | R1, R21 |
| 2 | 22k | Resistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolder | R7, R10 |
| 2 | 22p | Capacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolder | C35, C36 |
| 2 | 27.4R | Resistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolder | R15, R16 |
| 2 | 3300p | Capacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolder | C30, C32 |
| 2 | 47u | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C61, C62 |
| 2 | AudioJack4 | Connector_Audio:Jack_3.5mm_PJ320D_Horizontal | J9, J10 |
| 2 | BD9D321EFJ | footprints:SOIC127P600X100-9N | U5, U6 |
| 2 | Conn_01x02_Male | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J1, J16 |
| 2 | Conn_01x03_Female | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J8, J11 |
| 2 | W25Q128JVS | Package_SO:SOIC-8_5.23x5.23mm_P1.27mm | U10, U12 |
| 2 | ~ | Connector_USB:USB_A_Wuerth_61400826021_Horizontal_Stacked | J3, J4 |
| 1 | 100k | Resistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolder | R19 |
| 1 | 10u | Capacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolder | C66 |
| 1 | 10uF | Capacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolder | C21 |
| 1 | 120k | Resistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolder | R5 |
| 1 | 2.2u | footprints:IND_NR6028T4R7M | L2 |
| 1 | 2.2u | Capacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolder | C18 |
| 1 | 3.3k | Resistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolder | R6 |
| 1 | 3.3u | Inductor_SMD:L_0805_2012Metric | L3 |
| 1 | 3.3u | footprints:NRS8030 | L1 |
| 1 | 33 | Resistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolder | R25 |
| 1 | 4.7 | Resistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolder | R20 |
| 1 | 5.6k | Resistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolder | R9 |
| 1 | 68k | Resistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolder | R8 |
| 1 | AP2210 | Package_TO_SOT_SMD:SOT-23-3 | U1 |
| 1 | Barrel_Jack_Switch | Connector_BarrelJack:BarrelJack_GCT_DCJ200-10-A_Horizontal | J2 |
| 1 | Conn_01x03_Male | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J5 |
| 1 | Conn_01x04_Female | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J7 |
| 1 | Connector A 16-bit | Connector_PinSocket_1.27mm:PinSocket_2x15_P1.27mm_Vertical_SMD | J13 |
| 1 | Connector A 8-bit | Connector_PinSocket_1.27mm:PinSocket_2x10_P1.27mm_Vertical_SMD | J14 |
| 1 | Connector B 8-bit | Connector_PinSocket_1.27mm:PinSocket_2x10_P1.27mm_Vertical_SMD | J15 |
| 1 | ECS-120-8-36-CGN-TR | footprints:XTAL_ECS-120-8-36-CGN-TR | Y1 |
| 1 | LD1117S50TR_SOT223 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U2 |
| 1 | Micro_SD_Card | Connector_Card:microSD_HC_Wuerth_693072010801 | J6 |
| 1 | RP2350_80QFN | RP2350_80QFN_minimal:RP2350-QFN-80-1EP_10x10_P0.4mm_EP3.4x3.4mm_ThermalVias | U11 |
| 1 | SN74HCS151PWR | Package_SO:TSSOP-16_4.4x5mm_P0.65mm | IC1 |
| 1 | SN74LVC139APWR | Package_SO:TSSOP-16_4.4x5mm_P0.65mm | U9 |
| 1 | TLV320DAC3203IRGET | Package_DFN_QFN:VQFN-24-1EP_4x4mm_P0.5mm_EP2.45x2.45mm | U4 |
| 1 | TestPoint | TestPoint:TestPoint_THTPad_D1.5mm_Drill0.7mm | TP5 |
| 1 | hs8836a | Package_SO:SOP-16_3.9x9.9mm_P1.27mm | U7 |
Questions
How big is the Mspc PCB?
It measures 100 × 100 mm and has 4 copper layers, 1.02 mm thick.
What parts does the Mspc use?
135 parts, built around the BD9D321EFJ-E2, W25Q128JVSIQ, LESD5D5.0CT1G and ECS-120-8-36-CGN-TR. 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 Mspc KiCad files?
From the matgla/mspc repository on GitHub, at the commit this page was made from: the board is mainboard/mainboard/mainboard.kicad_pcb and its schematic bus_adapter_20pin/bus_adapter_20pin/bus_adapter_20pin.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Mspc design in my own project?
Its repository publishes it under the MIT 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 matgla/mspc
5- 6 layers47.5 × 50 mm

- 4 layers24 × 50 mm

- 4 layers24 × 50 mm

- 2 layers24 × 50 mm

- 2 layers47.5 × 50 mm

Similar boards
- 4 layers120 × 120 mm

Yellow
NabuCasa/yellow
Home Assistant Yellow - hardware for Home Assistant which grows with your needs.
322 parts116 - 2 layers100 × 100 mm

Controller
jft-t/Rotator-Controller
Rotator Controller for SPID BigRAS rotator, suited for use within SatNOGS stations
62 parts1GPL-3.0 - 4 layers87.9 × 23 mm

- 4 layers81.3 × 61 mm

- 2 layers61 × 35 mm

Esp32-1pcb
shubhisgonnastealyourcode/FT-32-esp32-s3-dev-board-
Custom ESP32-S3 Development Board with Header Pins for Display and RGB LED
44 parts1 - 2 layers86 × 54 mm

- 2 layers105.2 × 71.1 mm

Onyx PCB
CuriousMotor/Onyx-Stepper-Motherboard
The successor of the iconic Arduino-CNC-shield
96 parts56MIT - 2 layers55 × 55 mm

LeafNode v3.1
leafai-io/leaf-node-v3.x
Modular node for sensor monitoring and device control in grow environments.
91 parts47