techmannih/nema34-mounted-stepper-controller
A USB-C PD-powered RP2040 motor controller with protected 48 V power, DRV8262 dual-bridge drive for a NEMA34 motor, regenerative-braking resistor, isolated sensing, hardware interlocks, and telemetry/status interfaces.
- Version
- 0.3.113
- License
- unset
- Stars
- 1
engineering/rp2040-redesign.json
{
"revision": "0.5.0-RP2040-DRAFT",
"base_commit": "50350344ec36ee153ca9e64e8e67c66ce1141f8a",
"architecture": [
"RP2040",
"DRV8262DDVR + MCP4822-E/SN",
"TPS26750SRSMR",
"AS5600-ASOM (optional DNP)"
],
"status": "native-cad-verified-hardware-unqualified",
"hardware_tested": false,
"fabrication_orderable": false,
"reviewed_at": "2026-11-06T05:23:07.958126+00:00",
"native": {
"board_sha256": "000495f20437bd5cbef3d1ed4b5b1eb64360de8e61818af3300d16093b128255",
"raw_drc_sha256": "59f88b91e3711459db6a614f829700e99769ae9a4d5094bf33352c7f388f8852",
"raw_erc_sha256": "4401065c2db42d5534e88347980335fda4a198516bb37fb2fc569abc822fa4c6",
"errors": 8,
"retained_usb_hole_errors": 8,
"other_errors": 0,
"warnings": 488,
"unconnected_items": 0,
"schematic_parity": 0,
"erc_findings": 0,
"archive": "engineering/rp2040-native-review.zip",
"gui_screenshot": "docs/drv8262-kicad-drc.png",
"gui_schematic_parity": "not run; CLI parity checked separately",
"gui_screenshot_sha256": "9d3bf1986dddbed6621945ec08cb5864080639f7728542ee8ceadee3af6baacd",
"gui_screenshot_current": false,
"gui_status": "Actual GUI capture before R35/C97 reference alignment: 8 USB errors, 494 cosmetic warnings, 0 unconnected; final text-only correction yields 488 warnings in CLI. All other native geometry and filled power copper are exactly unchanged. GUI parity not run; final CLI parity and ERC zero."
},
"input_sha256": {
"index.circuit.tsx": "8adf5b50c0ef045fa1df9f517fe2be44f0376a5550d084afd0b52256dc45caa0",
"schematic-pages.tsx": "65c0a40fdf4819fe08b72380409158af565bd36fb2884db0bfc9e7afa360dff5",
"hardware-contract.json": "d7e2b6fd88cc14468efb1d6bae08572feac7461e618300b8c4c45b1cec98b579",
"board-standards.json": "1c834b8befaf2d3f4d961e51878d879a6e829733552474217cdf56df9f6116e0",
"docs/firmware-pinmap.json": "75b8338ebf536ebf7277fadb87bdfa7b1fabb1a9d5373b44d40aa1962ff28d89",
"release/pd1180-commissioning-firmware.zip": "97744bfc457583d4acb50ffb6e8e77bbddd7aa5a209cff6b3dbce9269b988277"
},
"native_checks": {
"local_bypass_paths": 58,
"kelvin_terminal_only_branches": 4,
"usb_reference_paths": 4,
"power_copper_evidence": "engineering/rp2040-copper-evidence.zip",
"source_rules": "docs/source-design-rules-check.json",
"all_checks": "docs/verification.json"
},
"firmware": {
"compiled_architecture": "RP2040",
"image_bytes": 90588,
"physical_programming_verified": false,
"all_four_qualification_flags": false,
"commissioning_rpm_limit": 10,
"requested_commissioning_current_rms_a": 0.8,
"nominal_peak_dac_reference_v": 0.359,
"physical_current_calibrated": false
},
"remaining": [
"Eight J1/J10 hole-clearance errors remain as explicitly requested; this is an engineering review exception, not fabrication acceptance. Cosmetic silkscreen findings remain visible.",
"The enlarged bulk bank passes the nominal-delay 6 A winding simulation with the allocated reserve (54.321 V peak), but the 100 us delay screen reaches 54.745 V and fails that reserve. Hardware timing, load and full-current operation remain unqualified.",
"DDV top-side heatsink/TIM/mechanical clearance and motor-current operating envelope are not qualified.",
"Stocked replacements and exact package identities pass the fresh five-board lot check; inventory is unreserved. Use docs/stock-report.json at allocation.",
"Rear fastening, single-shaft encoder magnet attachment and physical acceptance of the selected WAGO clamps, actual harnesses and PD_READY/ADC fault behavior require closure.",
"TI EEPROM and RP2040 flash programming/readback/cold boot, USB current, brake and loaded thermal/EMC tests require assembled hardware. All four firmware qualification locks remain false.",
"U41 now switches phase/encoder sensors off in suspend; firmware disables both PH/EN bridges and idles at 60 MHz. USB current, discharge and wake timing remain unmeasured and must be qualified on hardware."
],
"full_review": {
"command": "bun run review",
"report": "docs/verification.json",
"delivery_report": "docs/delivery-check.json",
"requirement": "All verification checks and release delivery integrity must pass. Read the current reports; this architecture summary is not a substitute for their results."
},
"reviewer_eco": {
"raw_pd_sensor": "INA237AIDGSR, 85 V, I2C 0x40",
"motor_terminal": "WAGO 2601-3104",
"brake_terminal": "WAGO 236-402",
"pd_power_good": "Derived PD_READY from fresh TPS contract plus independent fresh raw PD ADC; physical eFuse MOTOR_PG retained",
"motor_step": "engineering/mechanical/34HS31-6004S1-manufacturer.zip",
"mounting_qualified": false
},
"data_only_eco": {
"mcu_power": "J10 DATA only; U26 removed",
"interface_isolation": [
"U39 TCA9517A",
"U40 SN74LVC244A"
],
"sensor_power": "U41 TPS22919, SENSE_EN low during suspend/reset",
"bulk": "C22/C23 EEUFS1J102, 2 x 1000 uF/63 V",
"ramp": "C18 1 uF/25 V",
"manufacturing_via_in_pad_count": 78,
"physical_tests_performed": false
},
"stocked_driver_eco": {
"driver": "DRV8262DDVR C33828788",
"dual_dac": "MCP4822-E/SN C16040",
"control": "PH/EN software sequencing, 16 microsteps/full step; no driver SPI register/readback interface",
"ipropi_resistors_ohm": 1500,
"replacements": {
"R60": "PTFR0805B180KN9 C351604",
"BZ1": "FMB09A03-3V C417385",
"U36": "SN74LVC2G66DCTR C2651913",
"R66": "AT0603BRD071K2L C5454462"
}
}
}