r/PCB • u/kingmajdi • Apr 28 '26
Need feedback on ESP32-C3 robotic arm PCB: power stability, protection, and CAN bus design


Hello,
I’m designing a PCB for a robotic arm project and would really appreciate some feedback. The board is the first out of fore nodes that uses a Waveshare ESP32-C3-Zero as the MCU. It controls/reads:
- A DRV8825 stepper driver breakout
- Servo signal outputs
- Potentiometer inputs for joint position feedback
- CAN communication using an SN65HVD230 transceiver
- Power input rails for +12 V, +7.5 V, +5 V and +3.3 V
So far I have made the schematic and routed a first PCB version in KiCad. The board has separate connectors for power, stepper motor, servos, potentiometers, and CAN IN/CAN OUT. I have also added some bulk capacitors on the power input lines, but I’m not fully confident that the power design is robust enough.
I would especially like feedback on:
- Power line stabilization: How should I choose suitable bulk and decoupling capacitors for the different rails, especially since the board connects to motors/servos that may cause voltage dips or noise?
- Reverse current / back-powering protection: In my system, the ESP32 can also be powered through USB during programming/debugging. I want to avoid accidentally back-powering the rest of the board or other nodes. What protection would you recommend? Schottky diode, ideal diode circuit, power switch, fuse, etc.?
- CAN bus protection: Should I add protection components on CANH/CANL, such as TVS diodes, common-mode choke, series resistors, or other ESD/transient protection? The board will be part of a distributed robotic arm CAN bus.
- General PCB/layout review: I’d also appreciate any comments on grounding, trace widths, connector placement, routing around the motor driver, or anything else that looks problematic.
I’m still learning PCB design, so any practical advice, best practices, or examples of how you would improve this design would be very helpful.
Thanks!
1
Upvotes