Skip to the content
PCBKitNew board
2 layers170 × 110 mmSA4000, the printed circuit board in 3D

A dumb HAT that plugs onto an [Olimex RP2350-PICO2-BB48R] and emulates a Morrow HDCA-connected M26 (Shugart SA4008) or M10 (Fujitsu M2301B) hard disk drive — four simultaneous drives, all the same type.

Size
170 × 110 mm
Copper layers
2
Thickness
1.6 mm
Parts
56
Nets
90
Pads
398
Tracks, vias
1,558, 364
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
4 Oct 2026
Updated
4 Oct 2026

Overview

SA4000 is an open-source printed circuit board by cm68, from the cm68/SA4000 repository on GitHub, published under the CERN-OHL-P-2.0 licence. It is a 2-layer board of 170 × 110 mm with 56 parts on 90 nets, routed with 1,558 tracks and 364 vias.

README

README.md

SA4000 — HDCA hard-disk drive emulator

A dumb HAT that plugs onto an Olimex RP2350-PICO2-BB48R and emulates a Morrow HDCA-connected M26 (Shugart SA4008) or M10 (Fujitsu M2301B) hard disk drive — four simultaneous drives, all the same type.

The board is deliberately dumb: no MCU, no storage, no logic. It carries only level shifters, RS-422 transceivers, and the two IDC drive connectors. The BB48R (RP2350B, 16 MB flash, 8 MB PSRAM, onboard micro-SD) is the brains: its PIO generates the NRZ data + bit clock and buffers the bit stream against the onboard SD/PSRAM.

Why this is not ST-412

The HDCA has no data separator — its parts list is pure TTL, no VCO/PLL. The drive carries the VFO and a dedicated clock track, so the cable carries NRZ data + a bit clock, not raw MFM. This is the Shugart SA4000 interface family (the Fujitsu M2301/2 CE manual calls it "SA4000 interface compatibility"). NOTES.md is the design authority for the electrical interface, pinouts, timing, and drive geometry.

Hardware

  • CNA 50-pin control/status (daisy-chained) + CNB 20-pin data (radial), one CNB per drive.
  • Control/status: 5 V TTL active-low (open-collector). Data/clock: RS-422 balanced pairs, 110 Ω termination.
  • Level shift: 74LVC245A (5 V → 3.3 V, 12 inputs), 74LVC07A (3.3 V → 5 V open-drain, 6 outputs).
  • RS-422: AM26LV31 drivers, AM26LV32 receivers (3.3 V).
  • SOIC ICs; through-hole axial resistors and disc capacitors; through-hole IDC headers.

Repository layout

filewhat it is
NOTES.mddesign authority — interface, pinouts, timing, GPIO map, parts
gen_kicad.pygenerates the schematic SA4000.kicad_sch and netlist sa4000.net
gen_pcb.pygenerates the board SA4000.kicad_pcb — footprints + placement
SA4000.kicad_pcbthe routed board (DRC-clean)
SA4000.kicad_sch / SA4000.kicad_symschematic + symbol library
dsn_gen.py / ses_import.py / ROUTING.mdFreeRouting bridge — see below

Regenerating

KiCad 10 dropped the Specctra .dsn export/import that FreeRouting needs, so routing goes through two small scripts (ROUTING.md has the full story and the gotchas):

sh
python3 gen_kicad.py       # schematic + sa4000.net
python3 gen_pcb.py         # unrouted board (footprints + placement)

# route
python3 dsn_gen.py         # board -> SA4000.dsn
java -jar ~/.local/share/freerouting/freerouting-2.4.1.jar \
     -de SA4000.dsn -do SA4000.ses -mp 20 -mt 4
python3 ses_import.py      # SA4000.ses -> routed SA4000.kicad_pcb

kicad-cli pcb drc -o drc.rpt SA4000.kicad_pcb

Status

Board generated, routed, and DRC-clean (0 violations, 0 unconnected). The firmware — the PIO clock/data engine, four drive state machines, and SD record/replay — is not yet written.

Questions

How big is the SA4000 PCB?

It measures 170 × 110 mm and has 2 copper layers, 1.6 mm thick.

What parts does the SA4000 use?

56 parts. 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 SA4000 KiCad files?

From the cm68/SA4000 repository on GitHub, at the commit this page was made from: the board is SA4000.kicad_pcb and its schematic SA4000.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the SA4000 design in my own project?

Its repository publishes it under the CERN-OHL-P-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

  • 2 layers90 × 38 mmLCD OLinuXino-5TS Rev.B, the printed circuit board in 3D

    LCD OLinuXino-5TS Rev.B

    OLIMEX/OLINUXINO

    OLINUXINO is Open Source / Open Hardware, low cost from EUR 24 Linux Industrial grade Single Board Computer capable to operate -25+85C

    56 parts1.5k
  • 2 layers50.4 × 48.4 mmDistortion, the printed circuit board in 3D

    Distortion

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    56 parts915
  • 2 layers27 × 24.7 mmKawaiiSD, the printed circuit board in 3D

    KawaiiSD

    mackieks/Kawaii

    Tiny, beautiful metal Wii keychain

    56 parts374
  • 2 layers123.9 × 94.4 mmRoba L, the printed circuit board in 3D

    Roba L

    kumamuk-git/roBa

    56 parts363GPL-3.0
  • 2 layers120.6 × 85.5 mmKLOTZ, the printed circuit board in 3D

    KLOTZ

    GEIGEIGEIST/KLOTZ

    KLOTZ is 34 keys column-staggered split keyboard. It uses an encoder and three status LEDs on each side.

    56 parts287GPL-3.0
  • 2 layers136 × 91.7 mmOne, the printed circuit board in 3D

    One

    ergonautkb/one

    Ergonaut One is an open-source ergonomic wireless split mechanical keyboard designed by Ergonaut Keyboards.

    56 parts210CERN-OHL-P-2.0
  • 2 layers78.5 × 69 mmKicad cpu board, the printed circuit board in 3D

    Kicad cpu board

    matthewcieplak/super-sixteen

    Code and schematics for the Super Sixteen Eurorack sequencer

    56 parts171
  • 2 layers45 × 45 mmAeroq Hardware v3, the printed circuit board in 3D

    Aeroq Hardware v3

    EnriqueNeyra/Aeroq

    An Indoor Air Quality Monitor Powered by ESP32, SCD40, and SEN54

    56 parts130