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": []
}