Sparkfun Pro Micro Robot Shield

So shortly after I "finished" the Mini Track robot, or rather I couldn't think of anything else to do to it... yet. :) I got to thinking it would be nice to make my own circuit board that could cut down on the rats nest of wires. So after reading several tutorials and watching many videos, I set out to learn and start designing in Eagle.

Within two weeks I had come up with my first design. Which was simply an undershield for the Sparkfun Pro Micro. I made some mistakes on this board, obviously. The first and most heinous, I didn't think to increase the size of the power traces. I also didn't take into account the physical layout of the microcontroller. I placed my power select jumpers too close, making it difficult to set those jumpers. Of course, these things didn't become obvious to me until after I had ordered three boards through OSHPark. Those two weeks waiting give you plenty of time to look at what you did wrong!

version1.jpg



So on to the next iteration! Also the current iteration. With lessons learned, I designed a new board with larger power traces, better component placement, and added a header for a Pololu DRV8833 motor driver carrier. I was also a bit more confident in working with Eagle at this point, and determined to manually route all the traces. And I gotta say I’m pretty pleased with this version. I also added a couple of capacitors to help with spikes coming from the motors, and a power switch.

As another added bonus I put in a header for I2C, which I hope to use for the Pololu MinIMU 9.

annotated.jpg

I'm going to build a new robot around this board and see how well it goes.  And I'm sure I'll discover more things I could have done better, which I then hope to integrate into the next version.  Already I want to design a board with the microcontroller and motor driver on the board, rather than a carrier.  I also want to start using SMD components and see how small I can make this.  I've already picked up a few SMD IC's and passives.

Good work

Looks really nice! I am hoping to design something similar for my latest bot over spring break.

I am working on a small

I am working on a small motor driver with the DRV8833 too. I also made a board with the DRV8833 onboard. 

So, making a dedicated PCB instead of an “undershield” will save more space and you can really customize it. Good luck with the SMD parts. It’s not impossible to solder them but you will need some patience and a steady hand as well good eyes or a good magnifier glass :slight_smile:

At the moment I don’t plan

At the moment I don’t plan on using anything smaller than an 0805, so the only thing I’m really worried about with the SMD components is getting that exposed pad on the underside of the DRV8833 soldered.  I don’t have a toaster oven to sacrifice for reflow, so I’m hoping putting two or three vias under the ic will let me flow some solder in there.   I expect to ruin a chip or three trying it.

I’d be interested to see your board’s layout when you have it done. :slight_smile:

That’s a nice looking board.
Nice board. I’m wondering what version of Eagle to get. I used it over a decade ago for a while, but not since then. Heck, I’ve just relearned soldering (sorry Ladvien, all through hole - I haven’t gotten the time or courage to start on surface mount yet).

I’d like to make a board that takes a Teensy 3.1 and makes the outputs friendly like this board. For Zeppo I’m planning on using the Teensy to handle the motors and most of the sensors while the BeagleBone handles the video and higher level goal planning and such. I want to be able to do some basic audio commands (“Zeppo, self destruct”, etc).

I’m just using the freeware

I’m just using the freeware version of eagle.  It has some limitations such as maximum board size.  But I don’t foresee running into those limits anytime soon with the small hobby boards I’m making.

And surface mount isn’t too hard as long as you design your pads a little larger, and have a steady hand.  The only tricky ones are the parts that have thier pads under the part.