Tips for squeezing a robot controller onto one board that I wish I'd known sooner

Oct 21, 2026 Last reply: 1 day ago 3 Replies
Jump to replies (3)

After doing a few of these all in one controller boards, the thing that saved me most was picking board size before drawing a single trace. It's tempting to shrink everything down, but if you're running two motors off battery power you'll want real room around the power section. Give the big caps and the input connector breathing space first, then fit the rest around them. Keeping the noisy stuff away from the quiet stuff matters more than you'd think. I made the mistake once of running audio wires across the whole board and picked up a lovely whine in the recordings. Now I keep anything analog clustered tight near where it plugs in, and long wires only carry digital signals or power. Last tip, and it's boring but real, print the layout out on paper at actual size and set your connectors on it. You'll catch a flipped connector or a mount hole clash in two minutes instead of two weeks waiting for boards.


I did the paper printout trick on my last robot board and it caught a real problem, my battery connector was mirrored and I would have had to mount it backwards. Cost me nothing but ten minutes with the parts on the kitchen table. Now I do it every time, even for small boards.

Where I run into trouble is the motor drivers heating up. On my first version I crammed the driver chip right next to the microcontroller and it got hot enough I could not hold a finger on it. The next revision I gave it a chunk of bare copper and some vias to the back side and the whole thing runs cool now. So I would add heat to the list of things to plan space for, not just the caps and connectors. One thing I do a bit differently is I keep the battery and switch on the outside edge of the board entirely, so the wiring to the motors never crosses over the logic section at all. Routing around the edge looks less tidy on the screen but the motors stopped glitching when the servos moved. Took me three board spins to figure that out, wish I had thought of it on the first one.

One thing I'd add to the printout step is to include the underside too, flipped, because twice now I have designed a board where an electrolytic cap stood taller than the standoff height I had planned and the board rocked on the cap like a bad table leg. I also mark every screw terminal with its function on the silkscreen right at the connector, not just a net name somewhere else, because six months later you will not remember which terminal is which. A small row of unpopulated header pads near the microcontroller has saved me more debugging hours than anything else on these boards, since you can clip a meter or a probe lead there without jamming wires into headers that already carry signals.

I'd push back a bit on the edge routing thing. I kept my motor wiring clear of everything on my last board and the servos still caused stutters. Turned out it was the ground path, not the wire crossing. All the motor current was squeezing through one thin return trace shared with the logic side, and once I gave it a proper ground pour the glitches went away regardless of where the wires ran. So before anyone spends a spin moving traces to the edge, check where that current actually gets back to the battery.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required