imrishabh18/rp2040-motor-controller
An RP2040-based NEMA17 stepper-motor controller with USB-C programming and PD motor-power negotiation, DRV8825 dual H-bridge drive, current/temperature telemetry, protected power filtering, status RGB LED, buzzer alarm, and optional magnetic encoder.
- Version
- 1.0.41
- License
- unset
- Stars
- 3
reports/pcb-placement.log
placement summary: 10 suboptimal orientations
worst issues:
1. D_VBUS connections cross the routing path between its pads. Suggested move: rotate D_VBUS 180 degrees.
2. R_3V3_EN connections cross the routing path between its pads. Suggested move: rotate R_3V3_EN 180 degrees.
3. R_DRV_ENABLE_PU connections cross the routing path between its pads. Suggested move: rotate R_DRV_ENABLE_PU 180 degrees.
4. C_VM_HF connections cross the routing path between its pads. Suggested move: rotate C_VM_HF 180 degrees.
5. R_FAULT_PU connections cross the routing path between its pads. Suggested move: rotate R_FAULT_PU 180 degrees.
board top-layer utilization:
- occupied: 67.837% (1214.368mm^2 of 1790.136mm^2)
- empty spaces over 5% of board area: none
board-edge status:
- D_VBUS: 6.35mm inside left edge
- R_3V3_EN: 6.33mm inside left edge
- C_IOVDD1: 6.845mm inside left edge
- C_IOVDD2: 8.245mm inside left edge
- C_IOVDD3: 3.12mm inside left edge
- C_IOVDD4: 6.845mm inside left edge
- C_IOVDD5: 4.83mm inside left edge
- C_IOVDD6: 6.33mm inside left edge
- R_RUN: 8.84mm inside top edge
- C_FLASH: 11.305mm inside left edge
- C_USB_VDD: 12.105mm inside left edge
- C_ADC: 10.69mm inside top edge
- J_USB: 0.786mm inside bottom edge
- U1: 8.175mm inside left edge
- U2: 7.218mm inside left edge
- U3: 2.55mm inside left edge
- Y1: 7.61mm inside top edge
- SW_BOOT: 8.985mm inside bottom edge
- SW_RUN: 5.235mm inside top edge
- D_PWR: 2.001mm inside left edge
- R_BOOT: 6.38mm inside bottom edge
- R_PWR_LED: 1.33mm inside left edge
- R_CC1: 9.84mm inside bottom edge
- R_CC2: 8.54mm inside bottom edge
- R_USB1: 15.545mm inside left edge
- R_USB2: 15.545mm inside left edge
- C_VBUS: 2.675mm inside left edge
- C_3V3: 5.925mm inside left edge
- C_CORE: 13.305mm inside left edge
- C_USB: 14.505mm inside left edge
- C_XIN: 5.29mm inside top edge
- C_XOUT: 5.29mm inside top edge
- R_XOUT: 9.29mm inside top edge
- C_DVDD1: 10.905mm inside left edge
- C_DVDD2: 10.59mm inside top edge
- L_AVDD: 12.3mm inside left edge
- TP_SWCLK: 0.61mm inside top edge
- TP_GND: 0.61mm inside top edge
- TP_SWDIO: 1.61mm inside top edge
- TP_3V3: 3.11mm inside top edge
- DRIVER: 5.013mm inside top edge
- J_MOTOR_USB: 0.786mm inside bottom edge
- U_PD: 8.41mm inside bottom edge
- J1: 3.275mm inside right edge
- D_MOTOR_BLOCK: 11.733mm inside left edge
- F_MOTOR_VBUS: 12.96mm inside bottom edge
- C_PD_VBUS: 14.885mm inside top edge
- C_MOTOR_BULK: 1.65mm inside left edge
- D_MOTOR_TVS: 9.25mm inside left edge
- C_PD_VDD: 12.985mm inside bottom edge
- R_PD_VDD: 2.135mm inside bottom edge
- R_PD_VBUS: 5.87mm inside left edge
- C_CP: 4.38mm inside top edge
- C_VCP: 5.38mm inside top edge
- R_VCP: 1.83mm inside right edge
- C_VMA: 6.38mm inside top edge
- C_DRV_3V3: 13.34mm inside top edge
- R_DRV_REF_TOP: 9.88mm inside top edge
- R_DRV_REF_BOTTOM: 7.88mm inside top edge
- C_DRV_REF: 11.84mm inside top edge
- R_DRV_ENABLE_PU: 8.63mm inside top edge
- C_VM_BULK: 0.635mm inside top edge
- C_VM_HF: 11.38mm inside top edge
- R_ISEN_A: 5.317mm inside right edge
- R_ISEN_B: 0.567mm inside right edge
- R_SLEEP_PD: 6.84mm inside top edge
- R_FAULT_PU: 5.09mm inside top edge
- Q_PD_ENABLE: 1.4mm inside left edge
- R_PD_ENABLE_PU: 18.84mm inside bottom edge
- U_TEMP: 8.76mm inside top edge
- C_TEMP: 10.83mm inside right edge
- R_TEMP_SDA: 10.87mm inside right edge
- R_TEMP_SCL: 6.63mm inside top edge
- R_MCU_ENABLE_PD: 3.09mm inside top edge
- MH1: 2.85mm inside left edge
- MH2: 2.85mm inside left edge
- MH3: 2.85mm inside right edge
- MH4: 2.85mm inside right edge
- BZ1: 1.35mm inside right edge
- Q_BUZZER: 12.66mm inside bottom edge
- D_BUZZER: 7.835mm inside bottom edge
- R_BUZZER_GATE: 5.62mm inside right edge
- R_BUZZER_PD: 17.87mm inside right edge
- C_BUZZER: 8.425mm inside right edge
- R_PHASE_A: 14.81mm inside top edge
- U_CURRENT_A: 17.47mm inside left edge
- C_CURRENT_A: 16.33mm inside left edge
- R_ADC_A: 16.38mm inside bottom edge
- C_ADC_A: 16.38mm inside bottom edge
- R_PHASE_B: 11.567mm inside right edge
- U_CURRENT_B: 9.97mm inside right edge
- C_CURRENT_B: 14.37mm inside right edge
- R_ADC_B: 16.83mm inside right edge
- C_ADC_B: 14.87mm inside right edge
- D_STATUS: 5.525mm inside left edge
- R_STATUS_R: 16.62mm inside left edge
- Q_STATUS_R: 2.41mm inside top edge
- R_STATUS_G: 0.63mm inside top edge
- Q_STATUS_G: 8.65mm inside right edge
- R_STATUS_B: 1.18mm inside top edge
- Q_STATUS_B: 8.15mm inside right edge
- TP_PD: 8.16mm inside bottom edge
- TP_VMOTOR: 6.91mm inside bottom edge
- TP_PD_GND: 12.65mm inside right edge
- U_ENCODER: 17.48mm inside top edge
- C_ENCODER: 15.58mm inside top edge
- C_ENCODER_BULK: 15.58mm inside top edge
- R_ENC_SDA: 7.84mm inside bottom edge
- R_ENC_SCL: 12.37mm inside left edge
- Q_PD_CFG1: 2.96mm inside top edge
- R_PD_CFG1_PU: 3.62mm inside right edge
- Q_PD_CFG2: 1.76mm inside top edge
- R_PD_CFG2_PU: 1.62mm inside right edge
- Q_PD_CFG3: 1.76mm inside top edge
- R_PD_CFG3_PU: 4.12mm inside left edge
flagged components:
- D_VBUS
source placement: placement_mode=none
resolved placement: center=(-12.5mm, 11mm) on top; bounds=(minX=-14.8mm, maxX=-10.2mm, minY=10.525mm, maxY=11.475mm); size=(width=4.6mm, height=0.95mm); anchor_alignment="center"
board edge status: 6.35mm inside left edge
issues:
- D_VBUS connections cross the routing path between its pads. Suggested move: rotate D_VBUS 180 degrees.
- R_3V3_EN
source placement: placement_mode=none
resolved placement: center=(-14.5mm, 8mm) on top; bounds=(minX=-14.82mm, maxX=-14.18mm, minY=7.22mm, maxY=8.78mm); size=(width=0.64mm, height=1.56mm); anchor_alignment="center"
board edge status: 6.33mm inside left edge
issues:
- R_3V3_EN connections cross the routing path between its pads. Suggested move: rotate R_3V3_EN 180 degrees.
- R_DRV_ENABLE_PU
source placement: placement_mode=none
resolved placement: center=(-0.5mm, -11.75mm) on top; bounds=(minX=-0.82mm, maxX=-0.18mm, minY=-12.53mm, maxY=-10.97mm); size=(width=0.64mm, height=1.56mm); anchor_alignment="center"
board edge status: 8.63mm inside top edge
issues:
- R_DRV_ENABLE_PU connections cross the routing path between its pads. Suggested move: rotate R_DRV_ENABLE_PU 180 degrees.
- C_VM_HF
source placement: placement_mode=none
resolved placement: center=(9mm, -9mm) on top; bounds=(minX=8.68mm, maxX=9.32mm, minY=-9.78mm, maxY=-8.22mm); size=(width=0.64mm, height=1.56mm); anchor_alignment="center"
board edge status: 11.38mm inside top edge
issues:
- C_VM_HF connections cross the routing path between its pads. Suggested move: rotate C_VM_HF 180 degrees.
- R_FAULT_PU
source placement: placement_mode=none
resolved placement: center=(-1mm, -15.75mm) on top; bounds=(minX=-1.78mm, maxX=-0.22mm, minY=-16.07mm, maxY=-15.43mm); size=(width=1.56mm, height=0.64mm); anchor_alignment="center"
board edge status: 5.09mm inside top edge
issues:
- R_FAULT_PU connections cross the routing path between its pads. Suggested move: rotate R_FAULT_PU 180 degrees.
- R_BUZZER_PD
source placement: placement_mode=none
resolved placement: center=(2.5mm, 1.95mm) on top; bounds=(minX=1.72mm, maxX=3.28mm, minY=1.63mm, maxY=2.27mm); size=(width=1.56mm, height=0.64mm); anchor_alignment="center"
board edge status: 17.87mm inside right edge
issues:
- R_BUZZER_PD connections cross the routing path between its pads. Suggested move: rotate R_BUZZER_PD 180 degrees.
- C_CURRENT_A
source placement: placement_mode=none
resolved placement: center=(-4.5mm, -1.8mm) on top; bounds=(minX=-4.82mm, maxX=-4.18mm, minY=-2.58mm, maxY=-1.02mm); size=(width=0.64mm, height=1.56mm); anchor_alignment="center"
board edge status: 16.33mm inside left edge
issues:
- C_CURRENT_A connections cross the routing path between its pads. Suggested move: rotate C_CURRENT_A 180 degrees.
- C_CURRENT_B
source placement: placement_mode=none
resolved placement: center=(6mm, 3mm) on top; bounds=(minX=5.22mm, maxX=6.78mm, minY=2.68mm, maxY=3.32mm); size=(width=1.56mm, height=0.64mm); anchor_alignment="center"
board edge status: 14.37mm inside right edge
issues:
- C_CURRENT_B connections cross the routing path between its pads. Suggested move: rotate C_CURRENT_B 180 degrees.
- R_ADC_B
source placement: placement_mode=none
resolved placement: center=(4mm, 3.25mm) on top; bounds=(minX=3.68mm, maxX=4.32mm, minY=2.47mm, maxY=4.03mm); size=(width=0.64mm, height=1.56mm); anchor_alignment="center"
board edge status: 16.83mm inside right edge
issues:
- R_ADC_B connections cross the routing path between its pads. Suggested move: rotate R_ADC_B 180 degrees.
- R_STATUS_R
source placement: placement_mode=none
resolved placement: center=(-3.75mm, 2.5mm) on top; bounds=(minX=-4.53mm, maxX=-2.97mm, minY=2.18mm, maxY=2.82mm); size=(width=1.56mm, height=0.64mm); anchor_alignment="center"
board edge status: 16.62mm inside left edge
issues:
- R_STATUS_R connections cross the routing path between its pads. Suggested move: rotate R_STATUS_R 180 degrees.
placement drc:
Errors: 0
Warnings: 0
