Skip to the content
PCBKitNew board
4 layers160 × 135 mmZ80 romless sbc, the printed circuit board in 3D

Z80 romless sbc

gloveboxes/pcb-z80

pcb-z80 is a container-only, repeatable build of the four-layer Z80 ROMless SBC PCB engineering design. It regenerates the KiCad schematic, places the four-layer board, routes a fresh Specctra session, imports and fills…

Size
160 × 135 mm
Copper layers
4
Thickness
1.6 mm
Parts
55
Nets
79
Pads
361
Tracks, vias
1,395, 80
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
14 Sep 2026
Updated
14 Sep 2026

Overview

Z80 romless sbc is an open-source printed circuit board by gloveboxes, from the gloveboxes/pcb-z80 repository on GitHub, published under the MIT licence. It is a 4-layer board of 160 × 135 mm with 55 parts on 79 nets, routed with 1,395 tracks and 80 vias.

It is built around the SN74AHCT244N, SN74LVC244AN and AS6C1008-55PCN, with the MCP23S17-E/SP among its other parts. Its parts include 15 resistors, 12 capacitors, 8 ICs, 1 diode and 1 transistor. It belongs with the computers and single-board computers and retro computing and games boards and the RP2040 and FPGA and CPLD boards of this library.

Main components

4

README

README.md

pcb-z80

pcb-z80 is a container-only, repeatable build of the four-layer Z80 ROMless SBC PCB engineering design. It regenerates the KiCad schematic, places the four-layer board, routes a fresh Specctra session, imports and fills the board, runs strict ERC/DRC and net-parity checks, measures timing-sensitive buses, and exports a fabrication package.

The design is derived from the deterministic generators in gloveboxes/Z80ROMlessSBC at the revision recorded in SOURCE.md. The board uses F.Cu, In2.Cu, and B.Cu for signals while In1.Cu remains a continuous GND reference plane. The self-contained image pins its Java base digest, Python packages, Freerouting checksum, and exact KiCad 10.0.6 packages. No host Java, Python packages, Freerouting, pcbnew, or kicad-cli are used. Apple Container is the only runtime entry point.

Build and run

sh
cd /Users/dave/GitHub/pcb-z80
./scripts/container-run build
./scripts/container-run info
./scripts/container-run all

Generated design and manufacturing artifacts are written under hardware/kicad/; tool provenance is recorded in build/toolchain.txt. Close the schematic editor, PCB editor, and KiCad project manager before running all, and keep them closed until it finishes. Builds refuse existing KiCad .lck files (including PCB locks) and never remove them.

all snapshots the generators and source/ inputs into a private staging workspace beside hardware/kicad/. Generation, routing, checks, and every fabrication/export step must succeed before the accepted output directory is replaced using same-filesystem renames. A failed build or interrupted promotion restores the previous directory; existing PCB, routing sessions, exports, and fabrication files are not deleted up front. Source inputs are never modified, and existing .kicad_prl local preferences are preserved on success. The generated .kicad_pro rules still come from source/, not local project edits.

If rollback cannot complete, the script reports the retained hardware/.kicad-build-*/ workspace; its accepted-kicad/ directory contains the previous accepted outputs. Do not start another build until that directory has been recovered. Uncatchable termination (for example SIGKILL or a host shutdown) can also leave this workspace: inspect it before rebuilding. info only updates tool provenance in build/ and container configuration; it does not create, remove, or modify files under hardware/kicad/. Unknown modes and extra arguments fail without running the pipeline.

The generated silkscreen labels J1's +5V/GND rails and retains the positive marks and negative-side shading on C9-C12. Do not remove polarity information to resolve drawing collisions. The board-only 3D render cannot establish socket-body clearance when component and socket models are absent; the 5.76 mm U1/U4 pin-row spacing is not the gap between purchased socket bodies.

Fit R23-R26 as 4.7 kOhm (5% or better), not 10 kOhm: the supported ATF22V10B's internal input pull-ups require stronger startup pull-downs. Apply external +5 V before connecting USB and disconnect USB before removing external +5 V. USB-only operation/programming of the populated board is unsupported because U9's AHCT245 data ports lack power-off isolation. Unexpected external-supply loss with USB connected requires additional hardware protection, not merely an inactive output enable.

Ubuntu dependency/security updates can change lower-level image contents, so the image is controlled and fail-closed but not claimed to be byte-identical across rebuild dates.

The routed board to open in KiCad is:

text
hardware/kicad/z80_romless_sbc.kicad_pcb

It is the only .kicad_pcb retained by a successful build. The temporary unrouted placement used to export the Specctra DSN is deleted immediately.

Completion criteria

  • 79 electrical nets and 341 component endpoints match the independent manifest.
  • Schematic ERC and PCB DRC complete with zero violations.
  • Every selected address, data, clock, WAIT, and SRAM-control endpoint pair is routed.
  • In1.Cu contains no signal tracks; PICO_CLK is via-free on F.Cu and D4 is via-free on In2.Cu.
  • Gerbers, plated/non-plated drills, BOM, placement CSV, IPC-D-356, schematic exports, PCB drawings, and a 3D render are produced.

DRC completion is an electrical/manufacturing check, not physical hardware qualification. Initial bring-up still starts at a 1 MHz Z80 clock and proceeds through measured steps before claiming the design's at-least-8-MHz target.

Parts

55
QtyValueFootprintReferences
910kR_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR17, R18, R19, R20, R21, R22, R27, R28, R31
8100nC_Disc_D5.0mm_W2.5mm_P2.50mmC1, C2, C3, C4, C5, C6, C7, C8
54.7kR_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR23, R24, R25, R26, R29
58x10k bussedR_Array_SIP9RN1, RN2, RN3, RN4, RN5
4M3 mounting holeMountingHole_3.2mm_M3H1, H2, H3, H4
322uCP_Radial_D8.0mm_P3.50mmC9, C10, C11
1100uCP_Radial_D10.0mm_P5.00mmC12
11N5819D_DO-41_SOD81_P10.16mm_HorizontalD1
12N3904 MCP RESETTO-92_InlineQ1
147kR_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR30
1AS6C1008-55PCNDIP-32_W15.24mmU2
1ATF22V10B/CDIP-24_W7.62mmU3
1BUSACK# TESTTestPoint_Loop_D2.60mm_Drill0.9mm_BeadedTP6
1BUSREQ# TESTTestPoint_Loop_D2.60mm_Drill0.9mm_BeadedTP5
1CLK TESTTestPoint_Loop_D2.60mm_Drill0.9mm_BeadedTP2
1GND TESTTestPoint_Loop_D2.60mm_Drill0.9mm_BeadedTP7
1M1# TESTTestPoint_Loop_D2.60mm_Drill0.9mm_BeadedTP1
1MCP23S17-E/SPDIP-28_W7.62mmU8
1REGULATED 5V INPUTAltech_AK100_1x02_P5.00mmJ1
1RESET# TESTTestPoint_Loop_D2.60mm_Drill0.9mm_BeadedTP3
1Raspberry Pi Pico 2 WRaspberryPi_Pico_Common_THTA1
1SN74AHCT244NDIP-20_W7.62mmU4
1SN74AHCT245N Pico-to-busDIP-20_W7.62mmU9
1SN74LVC244ANDIP-20_W7.62mmU7
1SN74LVC245AN bus-to-PicoDIP-20_W7.62mmU10
1WAIT# TESTTestPoint_Loop_D2.60mm_Drill0.9mm_BeadedTP4
1Z84C0020PECDIP-40_W15.24mmU1

Questions

How big is the Z80 romless sbc PCB?

It measures 160 × 135 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Z80 romless sbc use?

55 parts, built around the SN74AHCT244N, SN74LVC244AN, AS6C1008-55PCN and MCP23S17-E/SP. 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 Z80 romless sbc KiCad files?

From the gloveboxes/pcb-z80 repository on GitHub, at the commit this page was made from: the board is hardware/kicad/z80_romless_sbc.kicad_pcb and its schematic hardware/kicad/z80_romless_sbc.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Z80 romless sbc 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).

Similar boards

  • 4 layers85 × 96 mmZ80 romless sbc, the printed circuit board in 3D

    Z80 romless sbc

    gloveboxes/Z80ROMlessSBC

    This is a separate KiCad project for a 98.3 × 60 mm, four-layer board. JLCPCB assembles every top-side SMT part, including the Raspberry Pi Pico 2 W module, and only four parts are hand-soldered:

    34 parts1MIT
  • 4 layers243.8 × 245.5 mmNeotron Common Hardware, the printed circuit board in 3D

    Neotron Common Hardware

    Neotron-Compute/Neotron-Common-Hardware

    Contains KiCad footprints and symbols shared across multiple Neotron projects.

    287 parts4CC-BY-SA-4.0
  • 4 layers100 × 79 mmESP32 Interface, the printed circuit board in 3D

    ESP32 Interface

    dennowiggle/ESP32_Interface

    Facilitate learning the Z80 Retro! hardware and software.

    114 parts1LGPL-2.1
  • 2 layers76.2 × 83.8 mmNeotron Expansion Template, the printed circuit board in 3D

    Neotron Expansion Template

    Neotron-Compute/Neotron-Expansion-Template

    Example Neotron Expansion card

    28 parts1
  • 2 layers61 × 54.3 mmYM2151 UNIT, the printed circuit board in 3D

    YM2151 UNIT

    hornet0018/pcb-designs

    28 parts
  • 4 layers255.9 × 224.5 mmCentral control unit, the printed circuit board in 3D

    Central control unit

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

    PCB for underfloor heating system

    929 parts1
  • 6 layers144.8 × 106.7 mmLoriques, the printed circuit board in 3D

    Loriques

    skot/Loriques

    A solar powered Meshtastic LoRa gateway

    122 parts17CERN-OHL-S-2.0
  • 2 layers95.3 × 50.8 mmTinyDiskII, the printed circuit board in 3D

    TinyDiskII

    GLGPrograms/tinyDiskII

    Homemade floppy disk emulator for Apple II series computers

    52 parts12GPL-3.0