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/power-routing-check.json
{
"board": "dist/manufacturing/kicad-project/pd1180-epr-r0.3.kicad_pcb",
"fabrication_basis": {
"layers": 4,
"finished_thickness_mm": 1.6,
"copper_oz": 1,
"signal_minimum_mm": 0.09,
"power_corridor_nominal_width_mm": 2.4,
"power_corridor_clearance_mm": 0.16,
"parallel_via_size_mm": 0.6,
"parallel_via_drill_mm": 0.3
},
"ipc_2221_external_estimate": {
"temperature_rise_c": 20,
"current_a": 6.12,
"note": "Analytical screening only; inner-layer sharing, clipped geometry, connectors, and thermal environment require prototype validation."
},
"thermal_via_tie_segments": 40,
"nets": {
"PD_VBUS": {
"routed_segments": 130,
"thermal_via_tie_segments": 0,
"verified_sense_branch_segments": 0,
"corridor_eligible_segments": 130,
"segment_layers": [
"F.Cu",
"B.Cu",
"In1.Cu",
"In2.Cu"
],
"reinforced_corridors": 111,
"corridor_eligible_length_mm": 161.784,
"corridor_covered_length_mm": 148.475,
"corridor_coverage_ratio": 0.918,
"vias": 20
},
"EFUSE_IN": {
"routed_segments": 35,
"thermal_via_tie_segments": 4,
"verified_sense_branch_segments": 0,
"corridor_eligible_segments": 31,
"segment_layers": [
"F.Cu",
"B.Cu"
],
"reinforced_corridors": 32,
"corridor_eligible_length_mm": 30.617,
"corridor_covered_length_mm": 30.617,
"corridor_coverage_ratio": 1,
"vias": 4
},
"VMOTOR": {
"routed_segments": 437,
"thermal_via_tie_segments": 16,
"verified_sense_branch_segments": 0,
"corridor_eligible_segments": 421,
"segment_layers": [
"F.Cu",
"B.Cu",
"In1.Cu",
"In2.Cu"
],
"reinforced_corridors": 383,
"corridor_eligible_length_mm": 391.285,
"corridor_covered_length_mm": 363.624,
"corridor_coverage_ratio": 0.929,
"vias": 37
},
"MOTOR_A1": {
"routed_segments": 86,
"thermal_via_tie_segments": 4,
"verified_sense_branch_segments": 11,
"corridor_eligible_segments": 71,
"segment_layers": [
"F.Cu",
"B.Cu",
"In1.Cu",
"In2.Cu"
],
"reinforced_corridors": 71,
"corridor_eligible_length_mm": 83.078,
"corridor_covered_length_mm": 83.078,
"corridor_coverage_ratio": 1,
"vias": 13
},
"MOTOR_A2": {
"routed_segments": 85,
"thermal_via_tie_segments": 4,
"verified_sense_branch_segments": 0,
"corridor_eligible_segments": 81,
"segment_layers": [
"F.Cu",
"B.Cu",
"In1.Cu",
"In2.Cu"
],
"reinforced_corridors": 79,
"corridor_eligible_length_mm": 94.016,
"corridor_covered_length_mm": 92.875,
"corridor_coverage_ratio": 0.988,
"vias": 10
},
"MOTOR_B1": {
"routed_segments": 44,
"thermal_via_tie_segments": 4,
"verified_sense_branch_segments": 11,
"corridor_eligible_segments": 29,
"segment_layers": [
"F.Cu",
"B.Cu"
],
"reinforced_corridors": 33,
"corridor_eligible_length_mm": 60.099,
"corridor_covered_length_mm": 60.099,
"corridor_coverage_ratio": 1,
"vias": 13
},
"MOTOR_B2": {
"routed_segments": 27,
"thermal_via_tie_segments": 4,
"verified_sense_branch_segments": 0,
"corridor_eligible_segments": 23,
"segment_layers": [
"F.Cu",
"B.Cu",
"In1.Cu"
],
"reinforced_corridors": 26,
"corridor_eligible_length_mm": 40.555,
"corridor_covered_length_mm": 40.358,
"corridor_coverage_ratio": 0.995,
"vias": 8
},
"MOTOR_A1_OUT": {
"routed_segments": 23,
"thermal_via_tie_segments": 0,
"verified_sense_branch_segments": 11,
"corridor_eligible_segments": 12,
"segment_layers": [
"F.Cu",
"B.Cu",
"In1.Cu"
],
"reinforced_corridors": 10,
"corridor_eligible_length_mm": 25.32,
"corridor_covered_length_mm": 25.32,
"corridor_coverage_ratio": 1,
"vias": 7
},
"MOTOR_B1_OUT": {
"routed_segments": 22,
"thermal_via_tie_segments": 0,
"verified_sense_branch_segments": 12,
"corridor_eligible_segments": 10,
"segment_layers": [
"F.Cu",
"In1.Cu"
],
"reinforced_corridors": 10,
"corridor_eligible_length_mm": 16.4,
"corridor_covered_length_mm": 15.624,
"corridor_coverage_ratio": 0.953,
"vias": 4
},
"SENSE_A": {
"routed_segments": 54,
"thermal_via_tie_segments": 0,
"verified_sense_branch_segments": 17,
"corridor_eligible_segments": 37,
"segment_layers": [
"F.Cu",
"B.Cu",
"In2.Cu"
],
"reinforced_corridors": 36,
"corridor_eligible_length_mm": 45.571,
"corridor_covered_length_mm": 45.571,
"corridor_coverage_ratio": 1,
"vias": 4
},
"SENSE_B": {
"routed_segments": 46,
"thermal_via_tie_segments": 0,
"verified_sense_branch_segments": 10,
"corridor_eligible_segments": 36,
"segment_layers": [
"F.Cu",
"In2.Cu"
],
"reinforced_corridors": 36,
"corridor_eligible_length_mm": 46.529,
"corridor_covered_length_mm": 46.529,
"corridor_coverage_ratio": 1,
"vias": 5
},
"BRAKE_RETURN": {
"routed_segments": 40,
"thermal_via_tie_segments": 4,
"verified_sense_branch_segments": 16,
"corridor_eligible_segments": 20,
"segment_layers": [
"F.Cu",
"B.Cu",
"In1.Cu",
"In2.Cu"
],
"reinforced_corridors": 24,
"corridor_eligible_length_mm": 27.92,
"corridor_covered_length_mm": 22.712,
"corridor_coverage_ratio": 0.813,
"vias": 7
}
},
"errors": []
}