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.  

RBS.jpg

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:

 

1x https://www.sparkfun.com/commerce/product_info.php?products_id=10007 Arduino stackable headers 
1x https://www.sparkfun.com/commerce/product_info.php?products_id=116 pin headers
3x https://www.sparkfun.com/commerce/product_info.php?products_id=8432 screw terminal
1x https://www.sparkfun.com/commerce/product_info.php?products_id=7938 16 pin socket
1x https://www.sparkfun.com/commerce/product_info.php?products_id=315 SN754410
1x https://www.sparkfun.com/commerce/product_info.php?products_id=8375 cap 0.1uF
1x https://www.sparkfun.com/commerce/product_info.php?products_id=7916 mini breadboard

 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.

RBS2.jpg

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/

Piggyback connectors

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.

Great advices,

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!

I’ll take it

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.