Skip to the content
2 layers125 × 104 mmHecuba, the printed circuit board in 3D

Read-only imager for Priam DISKOS 8-inch Winchester drives: interface board, Pico 2 W firmware, and host recovery tools

Size
125 × 104 mm
Copper layers
2
Thickness
1.6 mm
Parts
48
Nets
88
Pads
299
Tracks, vias
412, 58
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
4 Sep 2026
Updated
12 Sep 2026

Overview

Hecuba is an open-source printed circuit board by jflitton, from the jflitton/hecuba repository on GitHub, published under the MIT licence. It is a 2-layer board of 125 × 104 mm with 48 parts on 88 nets, routed with 412 tracks and 58 vias.

It is built around the SN74LVC4245ADWRE4, SN74LVC14ADRG3 and SN74LVC1T45DBVRE4. Its parts include 26 resistors, 10 capacitors, 5 ICs and 1 connector. It belongs with the interfaces and adapters boards and the RP2350 boards of this library.

Main components

3

README

hardware/README.md

Hecuba hardware

KiCad project for the Hecuba interface board. It sits between a Priam DISKOS 8-inch Winchester drive's native 50-pin interface and a Raspberry Pi Pico 2 W (ref A1), which runs the firmware in ../firmware. Rev 0.9A is fabricated, assembled, and has imaged a full Priam 3450. Read-only by design.

Why a custom board

The Priam 3450 (about 35 MB, 3,600 RPM, 5 heads, 525 cylinders) fits none of the usual readers.

  • No STEP line. Heads are positioned by a closed-loop voice-coil servo under an on-board 8035. A seek is a register write plus a Seek command, and the drive must be powered, spun up, and taking commands before it returns a bit.
  • Not a flux interface. The drive does its own data separation and outputs recovered NRZ data plus clock on RS-422 pairs at 6.4 Mbit/s.
  • The sector format belongs to the controller that wrote the disk (an Intel iSBC 215 here), not to the drive. Decoding happens offline in ../software.
  • Not SASI, despite the 50-pin ribbon and 8-bit active-low bus. PRIAM has no REQ/ACK handshake and carries read data on separate differential pairs.

Building one

Board2 layers, 125 x 104 mm, 1.6 mm. Signals on top; bottom is a ground pour with +5 V and +3.3 V routed through it as 1 mm paths
Tracks and vias0.2 mm signal, 1.0 mm power. Vias 0.6 mm / 0.3 mm hole (1.0 / 0.6 on power)
Smallest features0.2 mm track, 0.3 mm hole, 0.5 mm copper to edge
PackagesSOIC and SOT-23-6 ICs, 0805 passives. Hand-solderable in about an hour
MountingFour 3 mm plated holes, grounded
Parts listbom/bom.csv, with a column for parts deliberately left unpopulated
Placement guidebom/ibom.html, interactive; click a part to see where it goes

All ICs are current-production TI parts as of 2026. Gerbers are plotted from KiCad when needed and are not committed.

Routing rules for a respin:

  • Only READ DATA and READ/REF CLOCK need care. Route each as a tight parallel pair over unbroken ground, and keep the two pairs apart. No impedance control and no length matching (the skew budget at 6.4 Mbit/s is about 170 mm).
  • Everything else is slow. Keep the 8 data-bus lines grouped.
  • Damping resistors at the source, termination at the receiver, and each 100 nF capacitor hard against its power pin with its own ground via.

Parts

RefPartFunctionDatasheet
A1Pico 2 W (RP2350)Controller. Powers the board over USBraspberrypi.com
U1SN74LVC4245A8-bit data bus, bidirectional. Direction set by the Pico (GP8)ti.com
U2SN74LVC4245AOutbound control lines: address, strobes, head select, read gate. Direction strappedti.com
U3SN74LVC14ASchmitt-trigger inverters on INDEX, READY, SECTOR MARKti.com
U4AM26LV32ERS-422 receivers for READ DATA and READ/REF CLOCK. Receive onlyti.com
U5SN74LVC1T45-RESET driver. Direction strappedti.com
J12x25 IDC header50-pin ribbon to the drive

Termination

Measured on one drive. Measure yours before populating. The manual's generic values assume the controller terminates everything; this drive terminates most of the bus internally. Values were measured at the connector with the drive unpowered and the ribbon off.

PartValueFittedReason
R1-R16, R280 ohmyesSeries damping on outbound lines. The drive terminates this bus at about 179 ohm; even 33 ohm in series lifts a logic low to about 0.72 V against a 0.8 V threshold. Fit 10 ohm or less only if a scope shows overshoot
R17 / R20220 / 330 ohmyesINDEX pull-up and pull-down. INDEX measured open at the drive. Settles near 3.0 V released
R18-R19 / R21-R22220 / 330 ohmnoREADY and SECTOR MARK are pulled up inside the drive (130 / 175 ohm measured). Fit only if J1 pin 28 is left unpowered
R261 kyesBias across the CLOCK pair, which measured 95 ohm. 100 ohm here would load the pair to 49 ohm
R27100 ohmyesTermination across the DATA pair, which measured 252 ohm
R2910 kyesPull-up on GP17 (-RESET). Holds reset deasserted through boot
C1-C8100 nFyesDecoupling, one per power pin
C9 / C1010 uFyesBulk on each rail at the Pico's power pins
JP12-pin headershunt open+5 V to J1 pin 28 (terminator power). Not needed on the drive tested

50-pin connector (J1)

SignalPinDirectionConnects to
DBUS 0-72-9bothU1 via R1-R8
-READ GATE11to driveU2 via R9
-RESET13to driveU5 via R28
-WRITE GATE15to drivenot connected
-RD / -WR17 / 18to driveU2 via R10 / R11
+AD 1 / +AD 019 / 20to driveU2 via R12 / R13
-DRIVE SELECT 122to driveground (always selected)
-DRIVE SELECT 2-423-25to drivenot connected
+5 V to terminator28powerJP1 (open)
-HEAD SELECT 4 / 2 / 129 / 30 / 31to driveU2 via R14 / R15 / R16
-INDEX33from driveU3, with R17 / R20
-READY35from driveU3
-SECTOR MARK37from driveU3
WRITE DATA pair39 / 40to drivenot connected
WRITE CLOCK pair42 / 43to drivenot connected
READ/REF CLOCK pair45 / 46from driveU4, R26 across
READ DATA pair48 / 49from driveU4, R27 across

Ground pins 1, 10, 12, 14, 16, 21, 26, 27, 32, 34, 36, 38, 41, 44, 47, 50 connect to the ground plane.

Power

  • Drive rails (+24 V, +5 V, -5 V, -12 V, about 100 W total) come from a bench supply into the drive's own connector. The board neither carries nor senses them. Current-limit and watch +24 V at power-up; it runs the spindle and the voice coil.
  • Board rails come from the Pico's USB. VBUS (pin 40) feeds the drive-facing side of the translators and the status pull-ups. The Pico's 3.3 V regulator (pin 36) feeds the Pico-facing side.
  • Board draw is about 250 mA idle and 400 to 600 mA peak (the radio spikes on transmit). Use a 1.5 A supply or powered hub.

Power the Pico first, then the drive, and do not replug USB while the drive is powered. Until firmware init runs, the Pico's pins are inputs with pull-downs, which asserts every active-low control line through U2. Only -RESET is protected in hardware (R29).

Noteworthy facts

  • Write lines have no copper. WRITE GATE, WRITE DATA, and WRITE CLOCK appear on the connector symbol only. No trace, no resistor. Writing would require adding wires to the board. The drive's own Write Enable switch is also off, and its internal terminator holds WRITE GATE deasserted.
  • The drive is 5 V TTL; the RP2350 is 3.3 V and not 5 V tolerant. Every signal crosses a translator. Net names carry the level: DBUS0 on the drive side, DBUS0_3V3 on the Pico side.
  • Status lines invert. U3 inverts, so INDEX, READY, and SECTOR MARK read active-high at the Pico while every other PRIAM signal is active-low. The schematic writes active-low nets as ~{NAME}; the drive manual uses a leading minus. The full per-line chain is in ../firmware/include/board_pins.h.
  • U3 is a Schmitt trigger on purpose. The drive's status outputs are open-collector 75462s with slow RC rising edges. Hysteresis turns each into one clean transition. The drive's own end uses 74LS14s for the same reason.
  • U4 is the E variant on purpose. AM26LV32E adds hysteresis and an open-input fail-safe, so the read pairs hold a defined level before READ GATE asserts and before the drive's clock recovery locks.
  • R29 is load-bearing. U5 has no output enable and follows GP17 from power-on, and the RP2350 boots GP17 as an input with a pull-down. Without R29 every power-up would reset the drive.
  • DRIVE SELECT 1 is tied to ground. One drive, permanently selected, no chip-select GPIO. The data bus still only drives back during a read strobe.
  • Unused U3 and U4 inputs are tied off. Floating Schmitt or differential inputs oscillate.
  • R26 and R27 differ by 10x for two pairs on the same connector. Only measurement finds that.

Files

PathContents
hecuba.kicad_proProject settings, net classes, design rules
hecuba.kicad_schSchematic, one sheet
hecuba.kicad_pcbBoard layout
hecuba.kicad_prlKiCad UI state
hecuba.kicad_symFive project symbols. PRIAM_50 is the drive connector with real PRIAM signal names
footprints.pretty/Footprints for the four ICs, registered by fp-lib-table so the project opens standalone
fp-lib-tablePoints KiCad at the folder above
lib/<PART>/Vendor symbol and footprint downloads per chip, untouched. Datasheets are linked from the parts table, not stored here
bom/bom.csvParts list with populate / do-not-populate column
bom/ibom.htmlInteractive BOM

.gitignore covers KiCad backups and netlist output.

License

CERN Open Hardware Licence Version 2, Permissive (CERN-OHL-P-2.0). The full text is in LICENSE. Keep the copyright and license notices with any copy or derivative of the design files, and on boards where practicable (the silkscreen already carries the author line). The design is provided as is, with no warranty, and the risk of building and using a board from it is yours.

Files under lib/<PART>/ are Texas Instruments vendor downloads under TI's own terms and are not covered by this license.

Parts

48
QtyValueFootprintReferences
170ΩResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR1, R2, R3, R4, R5, R6, R7, R8, R10, R11, R12, R13, R14, R15, R16, R28 +1
8100nFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC1, C2, C3, C4, C5, C6, C7, C8
4MountingHole_PadMountingHole:MountingHole_3mm_PadH1, H2, H3, H4
3220ΩResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR17, R18, R19
3330ΩResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR20, R21, R22
210uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC9, C10
2SN74LVC4245ADWRfootprints:DW24-MU1, U2
1100ΩResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR27
110kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR29
11kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR26
1AM26LV32EIDRfootprints:D16-MU4
1POWER TERMINATIONConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJP1
1PRIAM_50Connector_IDC:IDC-Header_2x25_P2.54mm_VerticalJ1
1RaspberryPi_Pico_2W - RP2350Module:RaspberryPi_Pico_W_SMD_HandSolderA1
1SN74LVC14ADRfootprints:D14-MU3
1SN74LVC1T45DBVRfootprints:DBV0006A_MU5

Similar boards

  • 2 layers100 × 100 mmControl, the printed circuit board in 3D

    Control

    mamaheux/CNC

    160 partsMIT
  • 2 layers100 × 65 mmSection, the printed circuit board in 3D

    Section

    BennetLeff/temper

    a breville control freak ++

    25 parts1
  • 2 layers160 × 100 mmSignal source V1p0, the printed circuit board in 3D

    Signal source V1p0

    sOrzada/STASIS_Exposure_Hardware

    This is the repository for the exposition hardware of the STASIS project.

    65 partsCERN-OHL-W-2.0
  • 4 layers100 × 77.4 mmWasca, the printed circuit board in 3D

    Wasca

    hitomi2500/wasca

    Sega Saturn multipurporse cartridge

    145 parts80MIT
  • 2 layers66 × 59 mmMicroPicoDrive, the printed circuit board in 3D

    MicroPicoDrive

    gusmanb/micropicodrive

    Internal microdrive replacement for the Sinclair QL

    16 parts29MIT
  • 4 layers65 × 56.5 mmHashat, the printed circuit board in 3D

    Hashat

    skot/hashat

    A Bitcoin ASIC mining HAT for Raspberry Pi

    109 parts27
  • 2 layers63.1 × 56.1 mmMicroPicoDrive, the printed circuit board in 3D

    MicroPicoDrive

    Silveriomrs/micropicodrive

    Internal Microdrive replacement for the Sinclair QL

    31 parts7MIT
  • 2 layers66 × 59 mmMicroPicoDrive, the printed circuit board in 3D

    MicroPicoDrive

    arleybls/micropicodrive-ng-hardware

    KiCad hardware design for an internal Microdrive replacement for the Sinclair QL. The device emulates a Microdrive cartridge drive using a Raspberry Pi Pico (RP2040) and stores data on a microSD card, fitting in the…

    21 parts2MIT

Questions

How big is the Hecuba PCB?

It measures 125 × 104 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Hecuba use?

48 parts, built around the SN74LVC4245ADWRE4, SN74LVC14ADRG3 and SN74LVC1T45DBVRE4. 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 Hecuba KiCad files?

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

Can I use the Hecuba 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).