Mechanical Rotor Design Spec - thepinkmile/Enigma-NG GitHub Wiki
Rotor Mechanical Design Specification
Status: Draft Project: Enigma-NG Author: Izzyonstage & GitHub Copilot Version: v1.0.0 Associated Hardware Revision: Rev A Last Updated: 2026-04-12
1. Overview
The Enigma-NG rotor is a split two-board assembly consisting of Board A (input side) and Board B (output side), both circular PCBs (Ø92mm), housed inside an aluminium shroud (Ø100mm outer diameter). The shroud is the outer rotating element; the PCB/chassis assembly is the static inner hub.
Total outer diameter matches the original Enigma machine (~100mm) for authentic proportions.
Cross-reference: For the electrical specification (CPLD, FDC2114 encoder ICs, connector pinouts, BOM, FR/DR requirements), see
design/Electronics/Rotor/Design_Spec.md.
2. Rotor Assembly Dimensions
| Feature | Nominal | Notes |
|---|---|---|
| Outer rotor diameter (shroud) | Ø100mm | Matches original Enigma rotor |
| Shroud wall thickness (radial) | 4mm | Houses rolling-pin bearing pockets |
| PCB diameter (Board A and Board B) | Ø92mm | Inside shroud |
| Total rotor assembly thickness | ~15mm | Board A + gap + Board B |
| PCB thickness (each board) | 1.6mm | Standard PCB |
| Internal board gap | ~11.8mm | Between inner faces of boards |
| Character engraving radius | r=50mm | On outer cylindrical face of shroud |
| Capacitive sensor electrode radius | r=44mm | On PCB flat face |
3. Manufacturing Tolerances
All mechanical parts must be manufactured to the tolerances specified below.
| Feature | Nominal | Tolerance | Standard / Notes |
|---|---|---|---|
| Shroud outer diameter | Ø100mm | ±0.1mm | CNC machined aluminium |
| Shroud inner bore (PCB fit) | Ø92mm | H7 (+0.000/+0.035mm) | Clearance fit for rotation |
| Shroud wall thickness | 4mm | ±0.1mm | CNC machined |
| PCB outer diameter | Ø92mm | ±0.2mm | JLCPCB PCB fabrication |
| PCB thickness | 1.6mm | ±0.1mm | PCB fabrication standard |
| Board gap | ~11.8mm | ±0.5mm | IDC connector + PCB thickness stack |
| Capacitive sensor gap (PCB face to shroud flange) | 0.5mm | ±0.15mm | Controlled by bearing precision — critical for FDC2114 sensor reliability |
| Gray code slot angular position | — | ±0.1° | CNC milled, per-slot angular tolerance |
| Gray code slot depth | 0.5mm | ±0.05mm | Milled into shroud flange inner face |
| Character engraving depth | 0.4mm | ±0.1mm | Milled on shroud outer cylindrical face |
| Character engraving width | per-character | ±0.1mm | CNC |
| Rolling element diameter | TBD | ±0.01mm | Matched set required for even load |
Note on capacitive gap: The FDC2114RGHR sensor sensitivity must be validated across the full tolerance range (0.35mm minimum to 0.65mm maximum gap). Bearing precision directly determines sensor reliability.
4. Shroud Design
- Material: Aluminium alloy (grade TBD — suggest 6061-T6 for machinability and surface finish)
- Manufacturing: CNC machined
- Style: Dish-shaped outer shell. Board A PCB and chassis mount inside the dish. A cover plate (Board B side) screws down from the Board B side.
- Bearing mechanism: Rolling-pin style cylindrical bearings around the inner circumference of the shroud. Bearing pockets machined into the shroud inner wall.
- Rolling elements: Must use ceramic or nylon rolling elements — electrically isolating required. The aluminium shroud must remain electrically floating relative to PCB ground. Metal rolling elements must NOT be used.
- Outer face: Characters engraved on the outer cylindrical face at r=50mm. Engraving depth 0.4mm ±0.1mm. Character height/width to suit per-segment arc width (N=26: 12.08mm arc; N=64: 4.91mm arc at r=50mm).
- Inner flanges (brake-caliper style): The shroud flanges extend over both PCB flat faces. The inner face of each flange carries the Gray code encoder slot pattern (see §5).
- Electrical isolation: The shroud must remain floating. Do not ground the shroud to the PCB or chassis. Specify this explicitly on assembly drawings.
5. Capacitive Encoder Slot Patterns
The Gray code encoder pattern is machined as slots/pockets into the inner face of the shroud flanges. No electronic components are present on the shroud.
Sensing principle: Solid aluminium over a sensor electrode = high capacitance; milled slot (air) = low capacitance. The FDC2114RGHR on the PCB measures these changes as the shroud rotates.
Sensor electrode radius: r=44mm on the PCB flat face (bare copper electrode pads, no components).
5.1 N=64 Rotor (dual-track)
- Track A (bits[5:3]): milled into inner face of shroud dish (Board A side flange)
- Track B (bits[2:0]): milled into inner face of shroud cover (Board B side flange)
- 3 sensor electrodes per track (6 total, 3 per PCB)
- Encoding: standard 6-bit reflected (binary) Gray code — perfect Gray code, zero multi-bit transitions including wrap-around
- Arc per segment at r=44mm: 4.32mm
Cross-reference:
design/Electronics/Rotor/Rotor_64_Char_Design.md §7for full bit patterns.
5.2 N=26 Rotor (single-track, Board A only)
- Track A (5-bit STGC): milled into inner face of shroud dish (Board A side flange) only
- Board B side flange: no encoder slots (plain inner face)
- 5 sensor electrodes on Board A only (4 read by U2, addr 0x2A, STGC bits[3:0]; 1 read by U4, addr 0x2B, STGC bit[4]; both FDC2114RGHR ICs on Board A)
- Encoding: Single-Track Gray Code (STGC) — nearest achievable to Gray code for N=26 (non-power-of-2)
- Arc per segment at r=44mm: 10.63mm
Cross-reference:
design/Electronics/Rotor/Rotor_26_Char_Design.md §7for track pattern.
6. Internal Header Assembly
- Connector type: Four single-row 2.54mm THT pin headers (H_SW3: Adam Tech PH1-07-UA 1×7; H_PWR: Adam Tech RS1-05-G 1×5 or PH1-05-UA 1×5; H_JTAG: same as H_PWR; H_SENS: same as H_PWR inverse gender). Mixed gender provides physical keying.
- Keying: Board A carries H_SW3/H_SENS as male and H_PWR/H_JTAG as female; Board B carries the inverse. The unique 7-pin footprint of H_SW3 makes incorrect board orientation geometrically impossible.
- Assembly sequence:
- JLCPCB SMT pick-and-place assembly is performed on the outward-facing side of each board (Board A and Board B separately).
- After JLCPCB assembly, all four headers are manually soldered to the inner-facing side of each board.
- The two boards are then mated via the four headers and secured within the shroud dish.
- The shroud cover is fitted and secured.
- Mated height: ~8.5mm (fits within 11.8mm board gap; 3.3mm clearance)
Cross-reference:
design/Electronics/Rotor/Design_Spec.md §3.4for full signal pinout of all four headers.
7. Component Height Constraints
| Zone | Max component height | Notes |
|---|---|---|
| Board A outward face (external) | 5.0mm | Clearance to shroud dish inner wall |
| Board B outward face (external) | 5.0mm | Clearance to shroud cover inner wall |
| Board A inner face | 8.5mm (IDC only) | IDC header + mating header height |
| Board B inner face | 8.5mm (IDC only) | IDC header + mating header height |
8. Cross-References
| Document | Description |
|---|---|
design/Electronics/Rotor/Design_Spec.md |
Electrical design, BOM, FR/DR requirements |
design/Electronics/Rotor/Board_Layout.md |
PCB layout, component placement, ASCII diagrams |
design/Electronics/Rotor/Rotor_26_Char_Design.md |
N=26 encoder track pattern and geometry |
design/Electronics/Rotor/Rotor_64_Char_Design.md |
N=64 encoder track pattern and geometry |
design/Design_Log.md |
DEC-026 (capacitive encoder), DEC-028 (split-board architecture) |