imrishabh18/nema-23-stepper-controller
A four-layer NEMA23 stepper motor controller PCB featuring an RP2040 MCU, DRV8452 dual-phase driver, USB‑C PD power input/protection, current and temperature sensing, status LED/buzzer, and optional magnetic encoder.
- Version
- 1.3.2
- License
- unset
- Stars
- 1
verification.md
# Revision F validation
Cloud command removes worker-provided node_modules symlinks and installs the frozen dependencies, runs the geometry preflight, compiles only the main board and rejects generated circuit errors. Local revision F (1.3.2-local) retains the CH224A redesign and fixes cloud dependency resolution. Checker, copper utility and Flatten geometry packages are explicitly pinned and overridden so they share class identities. DRC remains enabled. Node and Bun interoperability checks pass, and all PCB geometry matches revision 1.3.0. All 18 release checks passed at 2026-10-06T21:18:13.932Z (2026-10-07 in India). Manufacturing remains on hold for the findings in [fabrication-review.md](fabrication-review.md).
Circuit JSON SHA-256: `791e1326201938cd4862ebaf835939bc543103c625b509015bf388a69a53409c`.
## Changed parts and routing
CH224A preserves the 28 V EPR and I²C control/status interface. Its larger ESSOP-10 footprint was imported directly from C42459160 with easyeda-converter 0.0.371. Nearby passives were moved and affected branches rerouted. The stocked TPS26630RGET / C2864391 eFuse also uses its exact supplier import, including its different CAD baseline rotation and land lengths. A wider power feed was adjusted to clear those lands.
The selected-part footprint check compares all 11 CH224A pads and 25 eFuse pads with untouched supplier-import reference files: geometry, dimensions, physical pin numbers and supplier pin-1 baselines match after placement rotation. Export rotations are 90° for U_PD and 270° for U_EFUSE. The 220 µF / 63 V Panasonic bulk capacitor is C178712; its 5 mm nominal pitch and 1 mm holes match the manufacturer dimensions. Supplier CAD rounds the pitch to 5.08 mm; that discrepancy is documented rather than silently replacing the nominal pitch.
All 457 physical source trace connections are preserved. Of the saved branches, 38 changed and 258 retained their geometry. The driver pads and all 18 thermal vias are unchanged. The bulk capacitor remains at (20, 6.5) mm, with 6.54 mm courtyard clearance from the driver. `checks/ch224a-layout-change.json` and `checks/selected-part-footprints.json` record these comparisons.
## Validation results
| Check | Result |
|---|---|
| Toolchain | tscircuit 0.0.2748 / CLI 0.1.2253 / EasyEDA-converter 0.0.371 |
| TypeScript, source and electrical audits | Pass |
| Netlist, schematic placement and schematic style | Zero errors; no waivers |
| Schematic layout | 17 standard A4 sheets; native automatic placement, explanatory text, yellow IC symbols and standard USB-C connector symbols; no hardcoded component schX/schY |
| PCB placement and independent DRC | Zero errors |
| Exact supplier footprint and pin-1 checks | Pass for changed ICs; bulk polarity and manufacturer pitch/holes verified |
| Heatsink clearance | Pass; driver thermal geometry retained |
| Power layers | All 144 supply, charge-pump and load traces on top/bottom |
| Four-layer shorts and all-net physical connectivity | No unintended shorts, opens or floating copper |
| Ground | One physical network, with drills subtracted and plated barrels included |
| Kelvin branches | All four paths separate from load copper outside shunt pads |
| Previews | Regenerated from the checked JSON and visually inspected |
The compiled design contains 125 source components, 169 PCB components, 362 PCB traces, 321 vias, 10 pours and 17 schematic sheets. There are 283 small vias with 0.30 mm holes / 0.45 mm pads and 38 larger vias, including 18 original driver thermal vias. The bottom encoder and its two bypass capacitors remain DNP.
The physical audit finds 118 electrical copper networks and 120 bare-copper components. Two terminal pairs join internally through populated SKRPACE010 switches; the audit records those explicitly. Six fault-injection cases test shorts, opens, floating copper and drilling failures. Detailed current reports and logs are in `checks/release/` and the matching top-level reports.
## Delivery and limits
`fabrication/gerbers.zip`, `fabrication/bom.csv` and `fabrication/pick_and_place.csv` are one matched revision F export. Replace the previous JLCPCB upload with this complete set: CH224A cannot fit the old CH224Q footprint. Export consistency and drill counts are in `checks/ch224a-fabrication-export-manifest.json`. The delivery manifest hashes each included file except itself. Historical source evidence under `engineering/` is labeled by its original revision/date.
Run `bun install --frozen-lockfile`, then `node start-preview.mjs` in the delivered folder. The launcher uses the supported standalone Canvas override because the experimental WebGPU renderer rejects through-pad routes.
This revision is local and has not been pushed to tscircuit.com. Published v1.3.0 has the CH224A footprint but a routing-checker runtime error; the dependency correction is in this revision. Earlier v1.2.7 contains the old PD footprint. No inventory was reserved or order placed. Source checks are not manufacturer DFM or physical testing: fine-track compatibility with 2 oz copper, three remaining legacy component rotations, via processing, actual motor/heatsink fit, firmware and thermal/current behavior still need review or qualification. See the README and fabrication review before ordering.