CAD render of the V0.4 layout. No photograph of a fabricated board is published in this repository yet.
Purpose. SPARK is a hardened breakout and target-interface board that sits between an STLINK-V3MODS debugger/programmer and a target under bring-up. It adds protected power entry, independently switched target rails, per-bus level translation, and per-line ESD and series protection, so a mis-wired or misbehaving target is contained at the interface instead of damaging the probe. It is intended for lab and educational use.
Current version: V0.4 (see CHANGELOG.md; the CHANGELOG also
tracks it as rev-0.4).
Status: Prototype / beta hardware in bring-up. The design is complete in this repository — schematic, 4-layer PCB layout, BOM, and a manufacturing (ODB++) package. Nothing on the board has been electrically verified in this repository, and no measurement records are published. See Status for a per-stage breakdown.
Read these before connecting SPARK to anything.
- VTREF ≤ 3.6 V. V0.4 has no VTREF overvoltage protection or disconnect in
hardware. A target that drives VTREF above 3.6 V is outside the design policy
and can damage the level translators. (VTREF OVP is a named V1 goal — see
CHANGELOG.md.) 5V_TARGETis power only. Its availability does not make any debug or data pin 5 V tolerant. Do not connect 5 V logic to interface pins.- Target rails default OFF.
1.8V_TARGET,3.3V_TARGET, and5V_TARGETare held off by hardware pulldowns on the load-switch enables. Powering a target is a deliberate action. - First power-on uses a current-limited bench supply. Follow
validation/bring_up.md— power-off checks first, then a current-limited ramp, then rail and VTREF measurements. - This is lab / reference hardware, not a qualified product. SPARK has not been through EMC, safety, environmental, or production qualification, and no target-compatibility testing has been recorded. Use it accordingly.
Debugger-side conditioning, internal logic rails, and exported target power are
kept separate. Full detail: docs/architecture.md,
docs/interfaces.md.
- Protected 5 V entry: STLINK
5V_OUTenters through a TPS2596-family eFuse (BOM:TPS259620DDAR) before becoming SPARK's master 5 V rail.FAULT/PGtelemetry is available if routed in the schematic implementation. - Internal logic rails: dedicated low-noise LDOs generate internal 1.8 V and 3.3 V logic rails, separate from anything exported to a target.
- Switched target rails:
1.8V_TARGET,3.3V_TARGET,5V_TARGETare gated by TPS22919 load switches with hardware default-OFF enables. - Hybrid level translation: LSF0108 for open-drain buses (I²C), SN74AXC8T245 for push-pull / higher-bandwidth signals (SWDIO, SPI, UART, GPIO/SWO as implemented).
- Per-line protection: 22 Ω series resistor and SP0503BAHTG ESD array, clamped to GND, on every external-facing signal line.
- CAN FD: TCAN1051 transceiver with switch-selectable 120 Ω termination.
- PCB: 4-layer controlled-impedance stackup (JLC04161H-7628), 88.9 mm × 88.9 mm enclosure-driven outline.
| Signal / bus | Translator | Notes |
|---|---|---|
| I²C | LSF0108 | Open-drain; pull-ups on both sides; SPARK-side pull-ups DNI by default. |
| SWDIO | SN74AXC8T245 | Push-pull path (not LSF0108). |
| SPI | SN74AXC8T245 | Push-pull / high-bandwidth path. |
| UART | SN74AXC8T245 | Push-pull path for robust edge control. |
| GPIO / SWO (as implemented) | SN74AXC8T245 | Push-pull / high-bandwidth channels. |
- TPS2596-family eFuse on the 5 V entry path
- TPS22919 target-rail gating with default-OFF hardware pulldowns
- 22 Ω series resistor on every external-facing signal line
- SP0503BAHTG ESD arrays on external signals, clamped to GND
- CAN FD transceiver: TCAN1051
- 120 Ω bus termination controlled by a switch
- CAN TVS selection must be automotive-rated for the expected surge/transient environment; the specific TVS part is not yet finalized.
- 4-layer controlled-impedance stackup: JLC04161H-7628
- Heavy ground flooding with via stitching
- Typical trace width: 12 mil
- ENIG finish with ink-plugged vias
- Board size: 88.9 mm × 88.9 mm (enclosure-driven), with reinforced mounting holes
| Item | Location |
|---|---|
| Schematic source (Autodesk Fusion Electronics) | hardware/schematic/SPARK Schematic.fsch |
| PCB layout source (Autodesk Fusion Electronics) | hardware/pcb/SPARK PCB.fbrd |
| Design archive | hardware/pcb/Electronics Design.f3z |
| Bill of Materials — machine-readable | bom/bom_master.csv |
| Bill of Materials — readable summary | bom/bom_readable.md · bom/sourcing_notes.md |
| Manufacturing package (ODB++) | hardware/fabrication/ · hardware/outputs/odb++/ · notes: hardware/README.md |
| Bench validation plan | validation/test_plan.md |
| First-power-on bring-up and known limits | validation/bring_up.md |
| Board renders | images/spark-board-perspective.png · images/spark-board-top.png |
| Portfolio case study | https://portfolio.zcohen-nerd.com/projects/stlink-v3mods/ |
Manufacturing package note: the fabrication archives and the
hardware/outputs/odb++/tree contain ODB++ only. RS-274X Gerbers and Excellon drill files are not currently exported. Seehardware/README.md.
Maturity is tracked per stage. A stage is only marked Yes where an artifact in this repository supports it.
| Stage | State | Evidence in this repository |
|---|---|---|
| Designed (schematic, PCB, BOM, fab output) | Yes | hardware/schematic/, hardware/pcb/, bom/bom_master.csv, hardware/fabrication/ (ODB++). ERC/DRC status is not published. |
| Fabrication package produced | Yes | ODB++ package present. Gerber/Excellon not exported. |
| Fabricated (bare boards ordered/received) | Not documented here | No fab order, receipt, or bare-board photo in this repository. (The portfolio case study reports beta PCBs received.) |
| Assembled (populated board) | Not documented here | No assembly photos, notes, or rework log in this repository. |
| Electrically verified (power-on, rail voltages, VTREF, continuity) | No | No measurements recorded. Procedure defined in validation/bring_up.md. |
| Firmware-supported | N/A | SPARK carries no programmable device. The attached STLINK-V3MODS runs STMicroelectronics firmware; SPARK adds no firmware. |
Bench-validated (per validation/test_plan.md) |
No | Test plan defined; validation/results/ contains no completed records. |
| Field / long-duration validated | No | Not started. No qualification, EMC, environmental, or endurance data. |
Version numbering follows rev-X.Y (see CHANGELOG.md); the current design is
rev-0.4 / "V0.4".
SPARK/
├── hardware/
│ ├── schematic/ SPARK Schematic.fsch
│ ├── pcb/ SPARK PCB.fbrd, Electronics Design.f3z
│ ├── fabrication/ ODB++ archives (.zip/.tar/.tgz)
│ ├── outputs/ ODB++ tree; assembly/ and drill/ are placeholders
│ └── 3d/ placeholder
├── bom/ bom_master.csv, bom_readable.md, sourcing_notes.md
├── docs/ architecture.md, interfaces.md
├── validation/ test_plan.md, bring_up.md, results/ (templates only)
├── images/ board renders (CAD, not photos)
├── manufacturing/ placeholder (see hardware/ for the real package)
├── compliance/ placeholder — no compliance work performed
└── archive/ placeholder
Directories marked placeholder contain only a .gitkeep and no deliverable
yet.
- Machine-readable master:
bom/bom_master.csv(46 line items, 102 placements). - The BOM is derived from a schematic export intake file (kept under a local,
git-ignored
Inbox/during import). - Known data gaps: many rows are missing
Manufacturer/Manufacturer Part Number, and a fewValuefields are duplicated strings from the export. These are catalogued inbom/sourcing_notes.mdand must be resolved during sourcing — do not infer missing data. - Any part substitution must be recorded in
CHANGELOG.md.
CONTRIBUTING.md— how changes are proposed for a single-maintainer, Fusion-Electronics project.SECURITY.md— how to report a design fault, hazard, or licensing problem.
No GitHub release has been published, by intent. The design is still moving and
key boundaries are open (BOM data gaps, ODB++-only outputs, zero recorded
measurements). A tagged release is recommended only once a defensible snapshot
exists — see the "Releases" guidance at the end of
CONTRIBUTING.md.
SPARK is licensed under the CERN Open Hardware Licence Version 2 — Strongly
Reciprocal (CERN-OHL-S-2.0). The full text is in LICENSE.
- SPDX identifier:
CERN-OHL-S-2.0 - Source Location (per the licence): https://github.com/zcohen-nerd/SPARK
- The licence is strongly reciprocal: if you make and distribute a product based on this design, or distribute a modified design, you must make the complete source (schematic, layout, BOM, and manufacturing files) available under the same licence and retain the notices.
- Third-party components listed in the BOM are covered by their own manufacturers' terms and datasheets.
