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.

Looks very good, minimal but with great features.

From personal experience I have noticed that IR receivers and I think some Sharp IR sensors have the power connections reversed compared to the servos. Please correct me if I am wrong as I have not checked the datasheets recently. It may be that the power connections on the analog inputs need to be reversed compared to the servos.

Some have also suggested that the SN754410 is not as compatible with the L293D as the datasheet suggest and may still require external flyback diodes.

From personal experience I have also found that a 220nF monolythic ceramic capacitor and a 220uF or greater capacitor should connect to the power pins of the servos to reduce noise and better handle surges.

Many sensor data sheets recommend a 10uF or greater capacitor on their power pins so I would consider putting another 220uF capacitor on the power pins of the sensors for better stability.