techmannih/nema34-mounted-stepper-controller
A 48 V USB‑C PD 3.1 EPR NEMA‑34 stepper controller PCB combining STM32/TMC5160 control, external MOSFET motor bridges, protected power and regenerative braking, USB data, telemetry, diagnostics, status LEDs, and buzzer alarms.
- Version
- 0.3.92
- License
- unset
- Stars
- 1
docs/feature-parity-check.json
{
"scope": "Existing component/net presence; not hardware qualification or complete reference parity",
"reference_parity_complete": false,
"reference_comparison": "engineering/reference-comparison.json",
"reference_open_items": [
{
"id": "encoder_mechanics",
"feature": "Shaft magnet / holder / working gap",
"status": "open",
"evidence": "docs/motor-assembly.md"
},
{
"id": "pd_programming",
"feature": "Blank PD EEPROM programming and approved image",
"status": "open",
"evidence": "docs/pd-programming.md"
},
{
"id": "industrial",
"feature": "Retain only defined external functions",
"status": "open",
"evidence": "docs/connector-harnesses.md"
},
{
"id": "mechanics",
"feature": "Motor mounting, holes and cable/tool access",
"status": "open",
"evidence": "docs/motor-assembly-check.json"
},
{
"id": "thermal",
"feature": "Heatsink, enclosure and brake load",
"status": "open",
"evidence": "docs/power-validation.md"
},
{
"id": "firmware",
"feature": "Executable motor / interface application",
"status": "open",
"evidence": "firmware/README.md"
},
{
"id": "fabrication",
"feature": "Sourcing, assembly files and routed DRC",
"status": "open",
"evidence": "docs/verification.json"
}
],
"checked_at": "2026-10-15T22:58:43.685Z",
"features": 11,
"passing": 11,
"assembly_layers": {
"top": 255
},
"usb_c_standard_connectors": [
"J1",
"J10"
],
"results": [
{
"id": "usb_pd_epr",
"feature": "Separate USB-C PD POWER and USB 2.0 DATA",
"components": 12,
"nets": 7,
"evidence": "docs/pd-configuration.json",
"pass": true
},
{
"id": "protected_power",
"feature": "eFuse, reverse blocking and independent USB DATA logic power",
"components": 11,
"nets": 7,
"evidence": "docs/design.md",
"pass": true
},
{
"id": "motor_stage",
"feature": "TMC5160A and 100 V external MOSFET bridges",
"components": 12,
"nets": 6,
"evidence": "docs/power-routing-check.json",
"pass": true
},
{
"id": "regeneration_brake",
"feature": "Independent overvoltage brake control and external resistor interface",
"components": 6,
"nets": 3,
"evidence": "docs/design.md",
"pass": true
},
{
"id": "controller",
"feature": "STM32 control, flash and SWD programming",
"components": 5,
"nets": 3,
"evidence": "docs/firmware-pinmap.json",
"pass": true
},
{
"id": "encoder",
"feature": "Centered optional bottom-side AS5047P (DNP) with top ABI test access",
"components": 4,
"nets": 4,
"evidence": "docs/design.md",
"pass": true
},
{
"id": "thermal_inhibit",
"feature": "Board temperature diagnostics and hardware motor inhibit",
"components": 5,
"nets": 3,
"evidence": "hardware-contract.json",
"pass": true
},
{
"id": "phase_diagnostics",
"feature": "Bidirectional phase-current diagnostics and separate bus telemetry",
"components": 9,
"nets": 4,
"evidence": "docs/firmware-pinmap.json",
"pass": true
},
{
"id": "local_control",
"feature": "Local START/STOP and independent reset; MCU-controlled SPI ramp",
"components": 9,
"nets": 4,
"evidence": "hardware-contract.json",
"pass": true
},
{
"id": "indicators",
"feature": "RGB status, independent power LED and reset-safe audible alarm",
"components": 15,
"nets": 7,
"evidence": "docs/indicators.md",
"pass": true
},
{
"id": "pd_fixture",
"feature": "Isolated EEPROM programming and power-probe access",
"components": 13,
"nets": 5,
"evidence": "docs/pd-programming.md",
"pass": true
}
],
"errors": []
}