Design Log DEC 091 j3 esd protection extended to actuate request pins and actuation gating resolved to cypher cpld - thepinkmile/Enigma-NG GitHub Wiki
DEC-091 - J3 ESD Protection Extended to ACTUATE_REQUEST_IN_N/OUT_N; Actuation Gating Resolved to Cypher CPLD (Amends DEC-090)
| Field | Value |
|---|---|
| Decision ID | DEC-091 |
| Status | Decided |
| Date | 2026-09-01 |
| Author | Izzyonstage & GitHub Copilot |
| Amends | DEC-090 |
| Amends (files) | Cypher/Design_Spec.md §3, §7, §8 (ESD section, mermaid diagram, BOM); Stack-Input/Design_Spec.md §4 (open-item note) |
Context
DEC-090 added ACTUATE_REQUEST_IN_N/ACTUATE_REQUEST_OUT_N to Cypher's J3 but left two items
unresolved:
J3is explicitly ESD-protected per DEC-045/DEC-048 (live mini-stack swap), but the two new signal pins had no allocated ESD channel — the existing 4 ESD ICs (U9–U12) were already fully utilised across the other 16 signal pins on this connector.- The previous design ANDed the actuation trigger with a keypress-active indication
(
ENC_ACTIVE_N), but that signal was confirmed HID-local-only and not present onJ3— leaving the gating condition with no local signal source on the Stack-Input Board.
Decision
- A new ESD IC, U19 (TPD4E05U06QDQARQ1), is added to the Cypher Board — an additional count
of the same part already used for U9–U16, providing 2 protected channels (2 spare) for
ACTUATE_REQUEST_IN_N/ACTUATE_REQUEST_OUT_N. Placed within 3mm of theJ3mating edge, per the same DEC-045/DEC-048 pattern as U9–U12. - The actuation-request gating condition is resolved at the Cypher Board's own CPLD (U1), not
locally on the Stack-Input Board. U1 only asserts
ACTUATE_REQUEST_IN_NontoJ3while a key is actively depressed (U1 already has internal visibility of keypress-active state via its existing HID/ENC_ACTIVE_N-sourced logic). The Stack-Input Board's STM32G071 (U1) can therefore act directly onACTUATE_REQUEST_IN_Nwith no local AND-gating against any second signal — the previously-flagged gap (DEC-090 open item) required no new signal or hardware, only this clarification of which board is responsible for the gating behaviour.
Rationale
- Reusing the existing TPD4E05U06QDQARQ1 part for U19 (rather than sourcing a new ESD part) keeps BOM part-count low and avoids a new qualification/sourcing cycle for a single extra 4-channel array with 2 channels unused.
- Placing the gating responsibility upstream at the Cypher Board (the only board with direct visibility of keypress-active state before any HID-local signal reaches the rotor chain) avoids propagating a second signal down the actuation-request chain purely for gating purposes, keeping the IN/OUT pair (DEC-090) a clean single-purpose trigger signal at every downstream board.
Impact
Cypher/Design_Spec.md §8 Thermal & ESD— new U19 bullet; ESD working-voltage note range extended to include U19.Cypher/Design_Spec.md §3— component block diagram (mermaid) gains a U19 node andJ3edge.Cypher/Design_Spec.mdFR-STA-13 / DR-STA-16 — BOM references updated to include U19.Cypher/Design_Spec.mdBOM table — new U19 row (TPD4E05U06QDQARQ1, qty 1).Stack-Input/Design_Spec.md §4— the DEC-090 open item regarding gating logic is resolved; no local hardware/signal change required on this board.- Not yet updated:
design/Electronics/Consolidated_BOM.mdstill reflects the pre-merge board naming (STA/REF/EXT abbreviations) for this TPD4E05U06QDQARQ1 line and has not been reconciled with the current Cypher/Stack-Input/Stack-Output board family — tracked separately underpost-merge-final-design-bom-sweep, not addressed by this decision.