Let's Make Robots!

Arduino Shield for building robots

I've been asked by a few people from different places if there is a simple way to use an Arduino to build robots. I explained there are ready made boards like Roboduino, Romeo, Motoruino, etc. that can be used. Or a custom compatible board. I told them that I went both ways, mostly because Roboduino doesn't have an H-bridge onboard, so I designed my own customizable board, R-Dev-Ino. Usually people are puzzled with all that information, as they have heard about Arduino, some have used it in art projects or so, but did not hear about the other variants. Seems complicated...

Of course, one can buy a prototyping shield and a breadboard and make their connections on the breadboard. This route usually leaves no room on the breadboard for other experiments, like testing out different sensors or actuators. Also, the user has to have some electronics knowledge to make the connections. Even more complicated...

How about a shield that brings all of the good things together? Ready made 3 pin headers for sensors and servos but also an on board H-bridge that will drive most miniature motors? What if we add a mini breadboard to it? We will have a shield that allows the user to plug and play some parts, experiment and learn more about robotics.

Why a shield and not a stand alone robotic board like the Picaxe used on the Start Here robot? Using an Arduino with a shield form factor allows the user to add more functionality to their robot through other shields like the xBee shield, the GPS shield, the WiFy shield, the LCD shield and so on.

So I have designed a first prototype of the Robot Builder's Shield. Features:

  • 6 servo connectors (power from battery, digital pins 8-13), 
  • 6 sensor connectors (regulated 5V, all analog pins), 
  • a serial connector (for an external serial LCD for example or anything else),
  • a SN754410 H-bridge (1 amp per motor, digital pins 4-7, uses Timer0 for PWM),
  • space to attach a mini breadboard,
  • connector for separate battery for motors and servos
  • pins 2 and 3 (external interrupts) are not used. 

I did not add a pin 13 LED as it is on the Arduino. Possible add ons are a tiny reset button and a connection from battery to the Vin pin, perhaps a power switch. Also caps near sensor and servo connectors...

Here is a picture, the blue is the bottom, GND plane, the red is the top, 5V plane. Round pins are male, oval pins are female. The hashed area is for the breadboard.  

Any comments?

 

Revision 2:

I still need to find a 2 pin push button for reset and see if I can fit it near RST pin. Also I need to make the text more clear. Unfortunately I could not double the pins outside the breadboard area, so it will be either or. This time the planes are not visible, I'll change the pic in the evening after I come back from work. I'm late already...

Update, Sept. 03 2010:

Just got a email from SeeedStudio that the boards were shipped! It will take 10-30 days to get here. More updates when they arrive.

 

Update Sept. 15 2010:

I have received the boards in the mail today. It took 3 days to manufacture plus 12 days for shipping. And the boards look awesome! I have populated one board, it took me 20 minutes to gather all the parts and solder them on the board. Then I plugged it in the brand new original Arduino Duemilanove and I noticed a problem. The leads from the battery connector are touching the USB connector on the Arduino. I snipped them short and filed them almost flush to the board, then covered them with a piece of electrical tape. I hate that big USB connector. I'll see what I can do for the next version. During the weekend I will start using it, making some experiments and drive some motors and servos.

Anyone interested in buying a board ($5/piece plus shipping - PayPal is charging me to receive money...) PM me with your address and I'll let you know my PayPal email address. I will soon open an eStore and I will be offering boards, kits, parts. All the money I'll make from the eStore will go in robotics. Chris The Carpenter will get a board donated because he was the first expressing interest in getting one and because of his amazing work on LMR. 

Of course, someone will get to be a reviewer!

Here are the pictures (sorry for the slight out of focus, my camera can't decide where to focus when taking close range pictures):

Update Sept. 23rd 2010:

I do not offer the parts yet, but here they are from SparkFun:

 

 Total is: $14.90 plus shipping. I'll try to at least match that price if not better.


Update, Oct. 5th, 2010:

ATTENTION! Ignoblegnome discovered a short on the board. It is easy to fix if you did not solder the socket for the H-bridge yet. Look carefully at the following picture and cut along the red line with a utility knife. Only the top layer is affected and you will solder on the bottom, so you don't risk of shorting it again when soldering.

I apologize for any inconvenience. All people that bought a board from me will receive a free new board from the next batch, in about a month.

 

Update Oct. 14th, 2010:

Revision 2 is ready, take a look and let me know if you want me to modify anything.

Added:

  • power switch
  • reset button
  • jumper to forward Vbat to Vin of the Arduino, a wire jumper can be used to plug Vbat to 5V if one uses 4 NiMH rechargeable
  • filtering capacitors near the servo and sensor connectors
  • double Arduino pins
  • prototyping area with power and ground buses in the middle (want it different?)

There will still be the issue with the power connector that touches the huge USB connector on the Arduino (use a Seeeduino instead, they have small USB connector). There was not enough room to add the mounting holes, I could do it only on one end, so I gave up on them.

 

Update Nov.12th 2010:

New boards are in stock and ready for sale here:

http://robotxdesigns.ca/2010/11/08/the-robot-builders-shiled-v2-pcb/

and kits:

http://robotxdesigns.ca/2010/11/08/the-robot-builders-shield-v2-kit/

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Yeah, I guess I should read more about inserting pictures on this site. Every site is different. In some places if I link an external image and specify the size it will allow the user to click on the image and load the full resolution in another window. Here it allows one to right click on the image and save it full resolution. I guess it's not always intuitive and we need to read how to do it properly. I'll do that and correct the situation.

Thanks for letting me know!

I just ordered mine, plus the parts I needed from SparkFun. Thanks, Ro-Bot-X!

The board looks great! Hopefully the shield and the pins from Sparkfun will get here at the same time!  :)

Chris, I sent your board today, they said it should arrive before the end of next week.

Just to have an idea how much it costs the shipment of the board as a letter (to USA), it was a little under $3 CAD. At the same time I sent a different board (about the same size) to Romania and that was a bit over $4. At this price add $0.45 for the padded envelope, so I guess I can mark the Shipping and handling for $4 to US and $5 for UE. Couple of weeks ago I sent an assembled Mega32 board to a guy in Australia and was a bit over $5 CAD. But this is the cheapest shipping option. For people in the hurry, there are more expensive options of course.

Looks like the SeeedStudio already made the first revision of the board, man they were fast! I placed the order Monday, waited to hear if it was good for fabrication, mean while I was still thinking how to improve it. This morning I sent them an email to delay the order, but they responded it's almost done, they just have to route it off the panel. So, the new version after a little while.

Looks like I'm stuck with no holes under the breadboard - impossible to fix; and no capacitors by the connectors - this is easy to fix, I'll just drill the holes, chamfer on both sides so the pins don't touch the ground and power planes and bend the pins towards the headers and solder them in place. That'll work for now.

So, for the Rev.2, what do you guys prefer, a breadboard style prototyping area or just a bunch of holes? Should I add a Stop Solder Mask to be easy to connect adjacent holes? If a bunch of holes is preferred, should I add power rails? Long wise, side wise? Ground will be connected and power left for the user to chose between regulated 5V or 3.3V? 

Just as it sits now. I will take one as soon as it is fabricated.

 

--Just be sure that it has an area for circuits --as shown above and that the sparkfun mini breadboard will fit on top of that so you have both choices on one board.

Chris, I'll donate a shield for all the good work you've done on LMR. Sorry is just Rev.1 of the board. I'm sure you'll put it to good use.

And hey,

Version one looks just fine. I am still learning this whole Arduino thing, so a bread-board PCB would actually be best anyway. Thank you, thank you for putting 3-pin connectors on the board!! I just shot you an email and thanks!

Great advices, thanks!

SN754410 is my forever used and tested H-bridge and never burned one. True, never used high amp motors with it (close or over 1 amp) but I've seen it stacked on a robot with an aluminum radiator on top with a lung bended tongue in between the ICs to double up the amperage. Still did not had fly back diodes and the guy said he didn't burn any.

As for the polarized capacitors, I already added them on the board to the left of the 3 pin headers. I will add ceramic capacitors on the other side.

The sensor 3 pin connector differences are usually dealt with in the socket, as they use a cable and are not plugged directly. Ping))) sonars and the new SeeedStudio ultrasonics similar to Pings can be connected directly, but Sharp sensors need the power and ground reversed. I thought about reversing them on the board, but many robot building boards have the connectors the "servo" way, so it is best to stick with the standard. See the Axon, Roboduino, Romeo, Motoruino, OOpic-R, etc.

Prototyping area. Hmm, I thought about this shield to be with beginners in mind, so they can do experiments and use the breadboard as I used it when I was following the Boe-Bot manual, to make simple sensor circuits, add a buzzer, etc. learning how these connect and work on a robot. Perhaps it will be good to have holes underneath as well as another row of holes for the Arduino pins so people can solder their stuff there before adding another shield on top. I will look onto it.

Mounting holes. I thought about them too, but saw many shields do not have them and I was a little restricted with space on some places. I will try to add them if I can.

I wish to place an order to this shield at SeeedStudio, please make more suggestions!

for another shield on top, or at least holes to add them if you want, would be quite useful.

Having a third row of holes next to the pin connectors makes it easier to do ad-hoc wiring to and from the pins as well.

Also if you are going to have leave space for a protoboard you might as well put a grid of holes there, then you can use it for ad-hoc soldered components if you want. See the Seeedstudio "Protoshield Remixed" for example.