Electronics Extension Design Spec - thepinkmile/Enigma-NG GitHub Wiki
Extension Board (V1.0) Design Specification
Status: Draft Project: Enigma-NG Author: Izzyonstage & GitHub Copilot Version: v1.0.0 Associated Hardware Revision: Rev A Last Updated: 2026-04-20
1. Overview
The Extension Board acts as a mid-stack JTAG signal repeater and power injection point between 5-rotor sub-groups in extended rotor configurations. It buffers TCK and TMS drive signals to compensate for capacitive loading, and bridges the TTD_RETURN signal and 3V3_ENIG power rail transparently between rotor groups via the Extension Port connectors (J7/J8).
- Role: Mechanical anchor and Power Injection for 5-rotor groups.
- Capacity: Up to ×5 Extension boards in a full 30-rotor build (Rev A power budget). Rev A prototype validates with 1 Extension board (10 rotors). Minimum configuration requires 0 Extensions (5 rotors: Stator → [5 Rotors] → Reflector). Each Extension board adds one further group of 5 rotors. The 30-rotor / 5-extension limit is a power budget constraint — the architecture is theoretically scalable beyond 30 rotors with increased power.
Functional & Design Requirements
Functional Requirements
| ID | Functional Requirement | Notes | Satisfied By / Cross-Ref |
|---|---|---|---|
| FR-EXT-01 | Act as a JTAG signal repeater between rotor sub-groups in extended stacks | Restores TCK/TMS drive strength mid-chain; up to ×5 units in system | §2 Connectivity; BOM U1 (SN74LVC2G125DCUR) |
| FR-EXT-02 | Buffer TCK and TMS signals to compensate for capacitive loading of upstream rotors | Dual-channel buffer preserves timing margins | §2 Connectivity; BOM U1 (SN74LVC2G125DCUR), C6 (100nF bypass) |
| FR-EXT-03 | Pass 3V3_ENIG power and encoder data bus transparently between rotor groups | Power: J7 → J5 (J2 power pins NC); ENC data: J3/J6 pass-through | §2 Connectivity; BOM J5 (ERF8-005), J3, J6 (ERM8/ERF8-010) |
| FR-EXT-04 | Connect on the input side to a Stator or upstream rotor group | J1–J3 (ERM8 male input headers) | §2 Connectivity; BOM J1–J3 (ERM8-005/010) |
| FR-EXT-05 | Connect on the output side to a downstream rotor group | J4–J6 (ERF8 female output sockets) | §2 Connectivity; BOM J4–J6 (ERF8-005/010) |
Design Requirements
| ID | Design Requirement | Specification | Satisfied By / Cross-Ref |
|---|---|---|---|
| DR-EXT-01 | PCB stackup | 4-layer, 2oz finished copper (JLC04161H-7628) | §4 PCB Fabrication & Stackup |
| DR-EXT-02 | Input connectors | J1 = ERM8-005 (JTAG in), J2 = ERM8-005 (Power in), J3 = ERM8-010 (ENC in) | §2 Connectivity; BOM J1–J3 |
| DR-EXT-03 | Output connectors | J4 = ERF8-005 (JTAG out), J5 = ERF8-005 (Power out), J6 = ERF8-010 (ENC out) | §2 Connectivity; BOM J4–J6 |
| DR-EXT-04 | JTAG buffer | U1 = SN74LVC2G125DCUR (dual-channel; TCK and TMS only; TDI passes unbuffered) | §2 Connectivity; BOM U1 (SN74LVC2G125DCUR) |
| DR-EXT-05 | Buffer output pin assignment | TCK → J4 pin 2; TMS → J4 pin 4 (per DEC-018 pinout) | §2 Connectivity; Design_Log.md DEC-018 |
| DR-EXT-06 | Buffer bypass capacitor | C6 = 100 nF 0402 within 2 mm of U1 VCC pin (L1) | §4 PCB Fabrication & Stackup; BOM C6 (100nF X7R) |
| DR-EXT-07 | System quantity | Up to ×5 Extension boards per system (Rev A power budget); Rev A prototype uses ×1 | §1 Overview; System_Architecture.md |
2. Connectivity
-
Extension Port (J7 IN / J8 OUT): 16-pin 2×8 shrouded box header.
Connector Definition Owner:
Stator/Board_Layout.md — J10. This board uses the mating connector on both J7 and J8 (Adam Tech BHR-16-VUA — see BOM). Authoritative pinout: Pin 1 = 3V3_ENIG, Pin 2 = SYS_RESET_N, Pins 3–8 = ENC_IN[0:5], Pins 9–14 = ENC_OUT[0:5], Pin 15 = TTD_RETURN, Pin 16 = GND. -
Rotor Interface Connectors (3 per rotor-facing side × 2 sides = 6 connectors total): The Extension board provides ERM8 male headers on the input side (J1–J3, plugging into the previous rotor group's last rotor J4/J5/J6 ERF8 output sockets) and ERF8 female sockets on the output side (J4–J6, receiving the next rotor group's first rotor J1/J2/J3 ERM8 male headers).
Connector Definition Owner:
Rotor/Design_Spec.md §3.4. This board uses ERM8 male headers on the input side and ERF8 female sockets on the output side:Ref Side Signal Group Type MPN J1 Input (plugs into previous group's last rotor J4) JTAG ERM8-005 (10-pin, 0.8mm pitch, male) ERM8-005-05.0-S-DV-K-TR J2 Input (plugs into previous group's last rotor J5) Power (3V3_ENIG × 5, GND × 5) — power pins NC on this board ERM8-005 (10-pin, 0.8mm pitch, male) ERM8-005-05.0-S-DV-K-TR J3 Input (plugs into previous group's last rotor J6) ENC Data (ENC_IN/ENC_OUT + GND) ERM8-010 (20-pin, 0.8mm pitch, male) ERM8-010-05.0-S-DV-K-TR J4 Output (receives next group's first rotor J1) JTAG ERF8-005 (10-pin, 0.8mm pitch, female) ERF8-005-05.0-S-DV-K-TR J5 Output (receives next group's first rotor J2) Power (3V3_ENIG × 5, GND × 5) ERF8-005 (10-pin, 0.8mm pitch, female) ERF8-005-05.0-S-DV-K-TR J6 Output (receives next group's first rotor J3) ENC Data (ENC_IN/ENC_OUT + GND) ERF8-010 (20-pin, 0.8mm pitch, female) ERF8-010-05.0-S-DV-K-TR J2 power pins (3V3_ENIG and GND) are not connected to the board power plane. J2 is present for mechanical engagement with the upstream rotor group only. The Extension board's sole power entry is J7 (Extension Port IN, pin 1 = 3V3_ENIG, pin 16 = GND). This prevents a parallel power path / ground loop between the rotor daisy-chain and the Extension Port ribbon. C1–C5 decouple at the J7 power entry. Power is passed to the downstream rotor group via J5 (driven from J7).
Note: The ERM8/ERF8 0.8mm pitch is physically incompatible with 2.54mm connectors — label distinctly on silkscreen. Connector part numbers: ERM8-005 = Mouser 200-ERM8005050SDVKTR / DigiKey 612-ERM8-005-05.0-S-DV-K-TRCT-ND / JLCPCB C3649741; ERM8-010 = Mouser 200-ERM8010050SDVKTR / DigiKey SAM8610CT-ND / JLCPCB C374877; ERF8-005 = Mouser 200-ERF8005050SDVKTR / DigiKey SAM13517CT-ND / JLCPCB C7273978; ERF8-010 = Mouser 200-ERF8010050SDVKTR / DigiKey SAM8618CT-ND / JLCPCB C3646170.
-
JTAG Signal Buffering: The Extension board provides JTAG re-buffering for the 5-rotor group connected to its output side (J4–J6). A 74LVC2G125 dual-channel 3-state buffer (U1) buffers the TCK and TMS lines, providing a fresh drive from the Extension board's 3V3_ENIG rail:
- TCK buffer output → J4 pin 2 (TCK) and broadcast to all 5 rotors in the output group.
- TMS buffer output → J4 pin 4 (TMS) and broadcast.
- Buffer enable (OE#): tied to GND permanently (always enabled).
- Part: SN74LVC2G125DCUR (TI, VSSOP-8) — Mouser 595-SN74LVC2G125DCUR, DigiKey 296-SN74LVC2G125DCURCT-ND, JLCPCB C21404.
- At 5 rotors per group connected via BtB (ERM8/ERF8), signal integrity analysis confirms this buffer interval is sufficient: 5 rotors × EPM570T100I5N input capacitance (≈6pF) + connector capacitance ≈ 30–40pF total load; well within the 50ns half-period at 10MHz TCK.
-
GND_CHASSIS Single-Point Bond: Per
design/Standards/Global_Routing_Spec.md §5, the Extension board implements a localGND_CHASSISnet tied to its mounting holes and any deliberate enclosure-contact features, but it does not implement a local GND-to-GND_CHASSIS bond. J7/J8 pin 16 remains signal/power return only; the system's only galvanic GND ↔ GND_CHASSIS bond is on the Power Module at the common power-entry point immediately before the eFuse. -
Power Injection: Receives 3V3_ENIG and GND via Extension Port to prevent voltage sag across long stacks.
-
Decoupling and bulk entry capacitor requirements per
design/Standards/Global_Routing_Spec.md §3. -
JTAG TTD_RETURN / TDI: TTD_RETURN (TDO chain return) is carried passively via Extension Port pin 15. TDI passes unbuffered board-to-board via BtB throughout the rotor stack — no series resistors are placed at each BtB hop. The JTAG chain terminates at the Reflector (R1 22 Ω end-of-chain damping). TTD_RETURN then returns from the Reflector to the Stator via the dedicated Reflector J4 → Stator J10 ribbon cable. The 75 Ω series resistors on the Stator (R7–R12, R27–R32, R33–R38) and Encoder boards (R6) are for the encoder ribbon cable ports (J4–J9) only — they are NOT placed on the BtB rotor stack interface. See
design/Electronics/Investigations/JTAG_Integrity.mdand DEC-016. TCK and TMS are actively re-buffered by U1 (see JTAG Signal Buffering above). -
SYS_RESET_N: Received via Extension Port pin 2; broadcast to all local rotor CPLDs in this group.
-
Cross-ref: For interconnect pinouts on power (3V3_ENIG/GND), ENC_IN/ENC_OUT, and JTAG TTD_RETURN lines used for reflector loopback/plugboard mapping, See:
Stator/Design_Spec.mdReflector/Design_Spec.md
2.1 Prototype Bench-Testing Provision (Break-Off Coupons)
Each board panel includes 6 break-off PCB coupons (one per ERx8 connector), attached by mousebite perforations. Each coupon fans out the 0.8mm pitch Samtec pads to a standard 2.54mm pitch shrouded IDC box header, permitting standard ribbon cable assemblies to be used for bench testing before full stack assembly. For final production the coupons are snapped off at the mousebite perforations.
| Coupon | Connector | IDC Header | Signal |
|---|---|---|---|
| 1 | J1 — ERM8-005 (10-pin male) | 2×5 IDC box header, 2.54mm | JTAG in |
| 2 | J2 — ERM8-005 (10-pin male) | 2×5 IDC box header, 2.54mm | Power in |
| 3 | J3 — ERM8-010 (20-pin male) | 2×10 IDC box header, 2.54mm | ENC Data in |
| 4 | J4 — ERF8-005 (10-pin female) | 2×5 IDC box header, 2.54mm | JTAG out |
| 5 | J5 — ERF8-005 (10-pin female) | 2×5 IDC box header, 2.54mm | Power out |
| 6 | J6 — ERF8-010 (20-pin female) | 2×10 IDC box header, 2.54mm | ENC Data out |
IDC part numbers and coupon PCB fanout geometry to be defined at schematic/layout phase.
3. Diagnostics & Branding
- Diagnostics: Integrated 2x8 ENIG Gold Diagnostic Looped Probe Pad Bank (Mid-Stack troubleshooting).
- Identity: 2oz Copper / Inverted White Data Plate (V1.0 traceability).
4. PCB Fabrication & Stackup
- Layers: 4-Layer (JLC04161H-7628).
- Finish: ENIG (Gold) for connector and diagnostic pad surfaces.
- Layer Mapping: L1: Signal (JTAG pass-through / routing) | L2: GND | L3: 3V3_ENIG | L4: Signal (Data Plate).
- Aesthetics: Dark Green Solder Mask; Typewriter font (ALL-CAPS GERMAN).
- JTAG Trace Width Rule: The Extension board carries only the TTD_RETURN signal on its J7/J8 pass-through path
(TCK, TMS, and TDI travel to the rotor stack via Stator J1–J3, not via the Extension Port). TTD_RETURN traces on L1 shall be routed at 0.127 mm (5 mil)
over the L2 GND plane, targeting 50 Ω controlled impedance. See
design/Electronics/Investigations/JTAG_Integrity.mdand DEC-016. Stackup defined per DEC-017. - U1 Bypass: C6 (100nF) must be placed within 2mm of U1 VCC pin on L1.
5. Thermal & ESD
-
Thermal: No active cooling required on the Extension board. U1 (SN74LVC2G125DCUR) is the only active IC; it dissipates <10mW and requires no heatsinking. C6 (0.1µF X7R 0402) provides the mandatory local bypass. All other components are passive.
⚠️ U1 must never be removed. The Extension board actively re-buffers TCK and TMS for every 5-rotor group. Without U1, signal integrity in long rotor stacks will fail. See FR-EXT-01, DR-EXT-04/05/06.
-
ESD: TVS diode on exposed signal lines; board relies on enclosure shielding.
6. Bill of Materials
| Ref | Component | Value | Package | Mouser Part # | DigiKey Part # | JLCPCB Part # |
|---|---|---|---|---|---|---|
| C1-C5 | Bulk entry decoupling bank (star/spoke) | 10uF X7R 50V | 1206 | 187-CL31B106KBHNNNE | 1276-6767-1-ND | C89632 |
| C6 | 100nF X7R 50V bypass — U1 VCC | Samsung CL05B104KB5NNNC | 0402 | 187-CL05B104KB5NNNC | 1276-1009-1-ND | C1525 |
| J1 | Rotor group input — JTAG (ERM8-005, 10-pin male, 0.8mm pitch) | Samtec ERM8-005-05.0-S-DV-K-TR | SMT | 200-ERM8005050SDVKTR | 612-ERM8-005-05.0-S-DV-K-TRCT-ND | C3649741 |
| J2 | Rotor group input — Power (ERM8-005, 10-pin male, 0.8mm pitch) | Samtec ERM8-005-05.0-S-DV-K-TR | SMT | 200-ERM8005050SDVKTR | 612-ERM8-005-05.0-S-DV-K-TRCT-ND | C3649741 |
| J3 | Rotor group input — ENC Data (ERM8-010, 20-pin male, 0.8mm pitch) | Samtec ERM8-010-05.0-S-DV-K-TR | SMT | 200-ERM8010050SDVKTR | SAM8610CT-ND | C374877 |
| J4 | Rotor group output — JTAG (ERF8-005, 10-pin female, 0.8mm pitch) | Samtec ERF8-005-05.0-S-DV-K-TR | SMT | 200-ERF8005050SDVKTR | SAM13517CT-ND | C7273978 |
| J5 | Rotor group output — Power (ERF8-005, 10-pin female, 0.8mm pitch) | Samtec ERF8-005-05.0-S-DV-K-TR | SMT | 200-ERF8005050SDVKTR | SAM13517CT-ND | C7273978 |
| J6 | Rotor group output — ENC Data (ERF8-010, 20-pin female, 0.8mm pitch) | Samtec ERF8-010-05.0-S-DV-K-TR | SMT | 200-ERF8010050SDVKTR | SAM8618CT-ND | C3646170 |
| J7 | Extension Port IN header | Adam Tech BHR-16-VUA — 16-pin 2×8 2.54mm shrouded box | 2.54mm | 737-BHR-16-VUA | 2057-BHR-16-VUA-ND | C17692295 |
| J8 | Extension Port OUT header | Adam Tech BHR-16-VUA — 16-pin 2×8 2.54mm shrouded box | 2.54mm | 737-BHR-16-VUA | 2057-BHR-16-VUA-ND | C17692295 |
| J9 | Diagnostic looped probe pads | 2x8 ENIG Gold | 2.54mm | N/A | N/A | N/A — bare PCB pads; no component |
| R1 | GND plane isolating resistor (optional) | 0Ω or 10Ω | 0603 | 667-ERJ-3GEY0R00V | P0.0BYCT-ND | C25807 |
| U1 | JTAG TCK/TMS dual buffer for output rotor group | SN74LVC2G125DCUR | VSSOP-8 | 595-SN74LVC2G125DCUR | 296-SN74LVC2G125DCURCT-ND | C21404 |