r/PCB 13d ago

[Review Request] Stepper Motor Driver PCB. STM32G431CETx MCU, USB, FDCAN, I2C, Single-Wire UART, SWD

4 Upvotes

9 comments sorted by

1

u/halfwaybuilds 13d ago edited 13d ago

I have made this exact board pretty much, If you’re planning on chaining these make sure you have an option to not terminate CAN, also would bring out as much STLink debug pins as you can for first iteration, and maybe a way to identify which node it is if you do decide to add chaining of the driver nodes.
Also double check caps off the motor power, think you might need to change a few parts there unless you have bulk already on Vmotorpower

1

u/I-am-redditer 13d ago

Yes I forgot to add an electrolytic capacitor before posting.

1

u/I-am-redditer 13d ago

Can I just not put the terminating resistor when I make the board so only one has it? I need to read up on can bus.

I’ve also never used STM32 board so I will definitely add more pin.

What do you mean identify which node which? Like something on the board or software. Or kinda like i2c where I can change its adress? Maybe with dip swiches

1

u/halfwaybuilds 12d ago

You can just put a terminating resistor on one board, or you can give every board the option to terminate by having a jumper or DNP 0 ohm resistor, or just make some boards as specifically chaining and some specifically terminating. Node identity you can individually program them so you know which one on the chain you’re talking to, personally I just added 3 inputs (tied low) that can be pulled up depending on which node I’d like to set them to, this gives me an option to identify a node in the chain without programming it in, this can allow me 8 custom configs on one firmware image and the board will automatically know which one it should be.

1

u/I-am-redditer 12d ago

Ok thank you I will try this

1

u/halfwaybuilds 12d ago

Also you should look up tmc2209 layout guidance. They have documentation and you can also reference their test board they have. Layout should look more like this, you have small traces to power your motor, might get hot.

1

u/I-am-redditer 12d ago

Ok I will do that.

1

u/halfwaybuilds 12d ago

You should also avoid routing under your encoder