P8X KiCad Boards — Status¶
KiCad 4-layer boards (F/B signals, In1=GND, In2=VCC planes), generated from the
canonical gen_eagle netlists by generators/gen_kicad.py (per-card) /
gen_backplane.py, autorouted with Freerouting via
generators/build_kicad_card.sh <card>. Standard per card: bypass cap above each
IC, LED/jumper labels + part values on silk, placement PDF + top/3D renders +
gerbers.
Uniform card size: 280 × 140 mm — status LEDs on the edge opposite the connector. Every plug-in card is the same dimensions (the connector-edge is 140 mm — the DIN41612 is only ~94 mm, so the extra room lets components use more rows and keeps the depth down). The backplane is the motherboard (262 × 128 mm).
None of these boards has been fabricated yet. Each kicad/ directory holds the
orderable Gerbers (p8x-<board>-gerbers.zip), the DRC report, a placement PDF and
the renders. The DRC reports list 0 unconnected pads on every board; the remaining
DRC items are silkscreen warnings.
| Board | Routed | Unconn. | Notes |
|---|---|---|---|
| memory-card | ✅ | 0 | rev F, bespoke gen_mem.py |
| cf-card | ✅ | 0 | rev B: two 8-bit True IDE drives — drive 0 $FF10-17 (J2), drive 1 $FF18-1F (J5), each own 74245 buffer + strobe glue + pull-ups + activity LED; headers 71mm apart for two CF-IDE adapters; bespoke gen_cf.py. NOTE: drive 1 needs the firmware/emulator port-base change (pending); drive 0 works on current firmware |
| control-card | ✅ | 0 | 14-pin oscillator |
| alu-card | ✅ | 0 | |
| io-card | ✅ | 0 | rev B: 2x ACIA/DB9 — ACIA1 $FF04/5 + ACIA2 $FF08, two DB9 sockets with RX/TX-swap jumpers (one MAX232 for both), switches, LED bars, bus monitor; bespoke gen_io.py (DB9s+switch bottom, LED bars top). RTC/coin cell is DNP |
| ps2-card | ✅ | 0 | keyboard + mouse, ATmega1284P latch-bridge at $FF58-5F; custom mini-DIN-6 sockets (bottom edge), 4 status LEDs (right edge), ICSP; no level-shift (5V-native); bespoke gen_ps2.py |
| regbank-card | ✅ | 0 | 95 parts — routed (5m45s auto + ~13min optimizer) |
| bustest-card | ✅ | 0 | Pico (RP2040) + 5× MCP23S17 + 16 LEDs; routed with right-edge LED bank |
| backplane | ✅ | 0 | 8-slot DIN41612 motherboard, 262×128mm (28mm slot pitch, slots left-justified, power/pull-up parts on the right; power entry = Phoenix MSTBA 2,5/2-G-5,08, Digikey 1729128). Routes clean at 0.13mm clearance (netclass in the .kicad_pro) with nylon-screw 2mm keepouts. |
Deprecated: the led-card (previously routed here) was a CAD-workflow test card, never planned to be built. It was moved to
hardware/deprecated/led-card/on 2026-09-18 and its I/O address$FF0Cfreed. Not rebuilt or maintained going forward.Parked: the peripheral-card (combined I/O + CF + PS/2, bespoke
gen_periph.py, routed + PASS) was moved tohardware/parked/peripheral-card/on 2026-09-19 when the design reverted to three separate cards (io + cf + ps2). Its netlist is kept intact behindPARK_PERIPHERALingen_eagle.pyso it can return whole; it is not built or checked in the active flow. Its I/O extras (a 2nd ACIA at$FF08and two DB9s with RX/TX-swap jumpers) were carried over to the standalone io-card rev B the same day.
Known follow-ups¶
- Cosmetic silk crowding on the densest cards — part values on every part get tight; readable and fab-clipped over pads, but not as clean as the memory card.
- Placement is auto (courtyard-spaced flow, 0 overlaps) — a hand pass would tidy grouping/silk further; the MiniDIN-6 / DB9 connectors are auto-placed, not yet guaranteed on a board edge for cable access.
Not built¶
- Graphics card — Tang Nano 20K FPGA/video board; no TTL netlist.
Exotic parts use the closest standard KiCad footprint (flagged at build time).