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

feature-parity.tsx

/**
 * Existing product feature inventory, not complete reference-board parity.
 * Missing functions and reviewer closure are tracked in engineering/reference-comparison.json.
 * Components and nets are verified
 * against the generated circuit by scripts/check-feature-parity.mjs.
 */
export const FEATURE_PARITY = [
  {
    id: "usb_pd_epr",
    feature: "Separate USB-C PD POWER and USB 2.0 DATA",
    components: ["J1", "J10", "R105", "R106", "D15", "U1", "U2", "U3", "U4", "R107", "R108", "C72"],
    nets: ["PD_VBUS", "USB_DATA_VBUS", "USB_VBUS_SENSE", "USB_DP", "USB_DM", "PD_SCL", "PD_SDA"],
    evidence: "docs/pd-configuration.json",
  },
  {
    id: "protected_power",
    feature: "eFuse, reverse blocking and independent USB DATA logic power",
    components: ["U5", "U6", "Q4", "Q5", "U22", "U23", "U24", "U25", "U26", "U27", "U28"],
    nets: ["EFUSE_IN", "EFUSE_FAULT_N", "VMOTOR", "V3V3", "V3V3_USB", "V3V3_MCU", "BOARD_POWER_SENSE"],
    evidence: "docs/design.md",
  },
  {
    id: "motor_stage",
    feature: "TMC5160A and 100 V external MOSFET bridges",
    components: ["U7", "Q6", "Q7", "Q8", "Q9", "Q10", "Q11", "Q12", "Q13", "R109", "R110", "J2"],
    nets: ["MOTOR_A1", "MOTOR_A2", "MOTOR_B1", "MOTOR_B2", "SENSE_A", "SENSE_B"],
    evidence: "docs/power-routing-check.json",
  },
  {
    id: "regeneration_brake",
    feature: "Independent overvoltage brake control and external resistor interface",
    components: ["U12", "U13", "U14", "U15", "Q16", "J3"],
    nets: ["BRAKE_DRIVE", "BRAKE_RETURN", "BRAKE_SENSE"],
    evidence: "docs/design.md",
  },
  {
    id: "controller",
    feature: "STM32 control, flash and SWD programming",
    components: ["U16", "U17", "TP_SWDIO", "TP_SWCLK", "TP_NRST"],
    nets: ["SWDIO", "MCU_RUN", "POWER_PERMIT"],
    evidence: "docs/firmware-pinmap.json",
  },
  {
    id: "encoder",
    feature: "Centered optional bottom-side AS5047P (DNP) with top ABI test access",
    components: ["U18", "TP_ENC_A", "TP_ENC_B", "TP_ENC_I"],
    nets: ["ENC_A", "ENC_B", "ENC_I", "ENC_CS_N"],
    evidence: "docs/design.md",
  },
  {
    id: "thermal_inhibit",
    feature: "Board temperature diagnostics and hardware motor inhibit",
    components: ["U29", "U33", "R114", "C79", "C85"],
    nets: ["TEMP_OK", "RUN_WINDOW_OK", "RUN_SAFE"],
    evidence: "hardware-contract.json",
  },
  {
    id: "phase_diagnostics",
    feature: "Bidirectional phase-current diagnostics and separate bus telemetry",
    components: ["U30", "U31", "U32", "R115", "R116", "R117", "R118", "C83", "C84"],
    nets: ["PHASE_A_ADC", "PHASE_B_ADC", "VMON_ADC", "IIN_MON"],
    evidence: "docs/firmware-pinmap.json",
  },
  {
    id: "local_control",
    feature: "Local START/STOP and independent reset; MCU-controlled SPI ramp",
    components: ["SW1", "SW2", "R133", "U16", "U7", "U10", "U11", "U33", "Q14"],
    nets: ["USER_BUTTON_N", "SD_MODE", "RUN_SAFE", "DRV_EN_N"],
    evidence: "hardware-contract.json",
  },
  {
    id: "indicators",
    feature: "RGB status, independent power LED and reset-safe audible alarm",
    components: ["U35", "D16", "D17", "BZ1", "Q26", "D18", "R123", "R124", "R125", "R126", "R127", "R128", "R132", "C95", "C96"],
    nets: ["STATUS_GPIO", "RGB_R_DRV", "RGB_G_DRV", "RGB_B_DRV", "BUZZER_GATE", "BUZZER_LOW", "POWER_LED_A"],
    evidence: "docs/indicators.md",
  },
  {
    id: "pd_fixture",
    feature: "Isolated EEPROM programming and power-probe access",
    components: ["U36", "R129", "R130", "R131", "C97", "TP_PD_VREF", "TP_PD_GND", "TP_EEP_SDA", "TP_EEP_SCL", "TP_PD_ISO", "TP_PD_VBUS", "TP_VMOTOR", "TP_PWR_GND"],
    nets: ["EEP_PROG_SDA", "EEP_PROG_SCL", "EEP_LINK_EN", "PD_VBUS", "VMOTOR"],
    evidence: "docs/pd-programming.md",
  },
] as const