astra/nema17-stepper-motor-controller-spring-clamp-rp2040
A 4-layer RP2040 controller board that negotiates USB‑C PD motor power and drives a NEMA17 stepper via a DRV8825, with current sensing, thermal shutdown, RGB status LED, buzzer alarm, optional AS5600 encoder, protection/filtering, and test points.
- Version
- 1.4.0
- License
- unset
- Stars
- 0
reports/tests.log
$ CIRCUIT_JSON_PATH=dist/index/circuit.json bun test
bun test v1.3.2 (b131639c)
tests/thermal-protection.test.tsx:
(pass) sensor uses the correct pins, rail and pull resistors; enable passes through both interlocks [19.55ms]
tests/nema17-mechanical.test.tsx:
trace: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)
Each child in a list should have a unique "key" prop.
Check the render method of `footprint`. It was passed a child from MotorOutputConnectors. See https://react.dev/link/warning-keys for more information.
(pass) Original NEMA17 outline, four mounting drills and shared ground are preserved [5649.14ms]
tests/board.test.tsx:
(pass) renders the complete RP2040 stepper-motor controller [3581.16ms]
tests/schematic-sheets.test.tsx:
(pass) renders eight readable schematic sheets with local component groups [3595.57ms]
tests/spring-connector.test.ts:
(pass) WAGO lever terminal has four isolated motor potentials and the eight manufacturer-specified solder tails [9.36ms]
tests/saved-routing.test.ts:
(pass) saved routing refuses moved terminals, changed connections and changed clearances [91.84ms]
(pass) saved routing supplies a fresh copy of the complete route geometry [15.66ms]
(pass) saved routing accepts deduplicated connectivity IDs from newer core [17.44ms]
(pass) saved routing still rejects changed obstacle connectivity [63.83ms]
tests/feedback.test.tsx:
(pass) optional bottom encoder, buzzer switching/flyback and low-profile motor capacitor [98.58ms]
tests/ground-pour-selection.test.ts:
(pass) only the independently audited floating copper is removed [0.42ms]
(pass) changed copper geometry, layer, net or count requires a fresh ground audit [0.09ms]
(pass) placement-only CLI renders still run normal DRC without applying a routed-pour selection
tests/drv8825.test.tsx:
(pass) DRV8825 physical pins, isolated reference, microstep mode and charge pump [3355.73ms]
tests/current-telemetry.test.tsx:
(pass) two inline current sensors, safe ADC nets, RGB and independent voltage probes [3340.84ms]
(pass) each sense lead terminates directly at its shunt pad without a via [5609.12ms]
tests/jlcpcb-stock-audit.test.ts:
(pass) keeps displayed stock separate from available order quantity
(pass) ignores price records and other suggested components
(pass) reassembles records split between script chunks
(pass) fails closed instead of assuming missing stock means available
tests/common-ground.test.tsx:
(pass) all grounds and mounting rings share connectivity; a missing ground connection is detected [3932.48ms]
21 pass
0 fail
2581 expect() calls
Ran 21 tests across 12 files. [29.88s]