Let's Make Robots!

Review: Ro-Bot-X Robot Builder's Shield v2

 

Introduction

Now, for the first in a series of reviews on Ro-Bot-X's boards. This one is on version 2 of the Robot Builder's Shield for the Arduino. I provided a brief review in a comment on the original version. Many other LMR members provided contructive feedback to Gabriel (Ro-Bot-X) as well. I'm happy to say that he listened and incorporated many of the suggestions.

The Kit

The Robot Builder's Shield is available in three options.

  • Stand alone board (un-populated)
  • A kit with all of the components needed to populate it
  • Fully assembled:

I recommend the kit, unless you already have most of the part in stock yourself. Ro-Bot-X provides the kit parts at a price I couldn't beat searching for them myself.

Here's what you get:

 

  • (1) Robot Builder's Shield V2
  • (1) SN754410 motor driver chip
  • (1) 16 pin dip socket (for the above driver)
  • (3) Two-connector screw terminals (2 in blue for the motors, 1 in green for power)
  • (2) 10uF 25V electrolytic capacitors
  • (3) 0.1uF ceramic capacitors
  • (6) 6-pin male headers (for the servos and sensors)
  • (2) 6-pin female headers (to connect to the Arduino)
  • (2) 8-pin female headers (to connect to the Arduino)
  • (1) momentary reset button
  • (1) single pole, single throw power switch
  • (1) jumper (to connect Vbat to Vin, if desired)

 The kit itself is no frills and no nonsense. You get parts in a plastic bag, without instructions.

 

Ro-Bot-X does provide an assembly guide on his website:

http://robotxdesigns.ca/wp-content/uploads/2010/11/RBS-guide.pdf

Assembly

Assembly is pretty easy, as long as you know how to solder. I was able to complete the board just by referring to a picture of the assembled shield on this web site, though I might have benefited by reading Gabriel's assembly guide.

There is one important point to mention. Gabriel does a good job of explaining it in his assembly guide. If you use this shield with an Arduino or Arduino clone that uses the standard USB Type B connector, there is a risk of shorting out the power pins of the shield on the USB connector of the Arduino.

File down the solder joints of the power terminal on the bottom of the board as close as you can. Place electrical tape over them, or over the the USB connector, as I did in the picture below. (Ignore the sloppy soldering job.)

There are clones of the Arduino that use a mini version of the USB connector, such as the seeeduino. I plan to buy one of those next time.

Finished Product

Here's a picture of the shield installed on my Arduino Mega clone. Looks nice, doesn't it?

Here you can see a couple of pictures of the shield installed on Penny.

There's lot's of room for additional circuitry on the through hole proto-typing area. This area will also fit a mini-breadboard.

Notice how nice and clean the appearance of this board is. Here's what Penny looked like without Ro-Bot-X's shield. What a mess!

Nice Features

Power

The integrated power switch and reset button are very handy. There's also a jumper so you can decide if you want the power from the battery terminals of the shield to connect to the Vin of the attached Arduino.

Integrated Motor Driver

The shield includes a SN754410 motor driver, which is similar (and pin compatible) with the L293D motor driver.

Interfaces

All the digital, analog and power pins are broken out on the headers, as well as on through hole contacts. This provides easy access and simplifies interfacing to the board.

Analog pins 0 to 5 are also broken out into a block of 3-pin male headers (with power and ground) for sensors. Digital pins 8-13 are similarly broken out for servos.

Filtering Capacitors

There are 0.1uF and 10uF caps located next to each of the two interface blocks (one for servos, one for sensors). A 0.1uF cap is located right next to the SN754410 motor driver.

Prototyping Area

The board includes an area for prototyping. Two blocks of 4x16 through hole contacts are separated by a row of 16 contacts each for power and ground. The space is exactly large enough to fit  a mini-breadboard, if you would prefer not to solder on the shield.

Silk Screen

The board is very nicely and clearly labeled in a black silk screen on yellow background. This makes assembly and prototyping with the board very easy.

Purchasing

You can buy the bare board or the kit from http://robotxdesigns.ca/ using PayPal. Various shipping options are provided, if you are in a hurry and can spend the extra money for quicker shipping. There's an option to add tracking, even for the economy shipping, but that does add to the cost. (These are Canadian Post costs, not Ro-Bot-X's.)

You can buy the fully assembled shields from: http://creatroninc.com/arduino/sheilds-for-arduino/ardrb-001200.html.

Summary

This is a very easy and flexible shield for turning your Arduino or clone into a robot. It is well designed, well made, and fairly priced.  The only thing that might be better would be to have all these features with an integrated Arduino. Speaking of that...

------------------------------------------------------------------------------------

Also see... the (beta) uServotino Microcontroller Kit Review.

Coming soon... the uBotino Microcontroller Kit Review.

Comment viewing options

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

If i power a robot through shield with more than 6v (in some case) using following components :

2 or 3 servos or even more,2 dc motors & 1 sharp sensor

then will it be a problem for servos and sensor ? and also the enable pin and all other pins on H-bridge which require 5v will get 5v and not more ? I guess so they will(because of voltage regulator) but not sure.Can you explain me how will the voltage be divided for multiple servos ?

I am quite weak in electronics.

 

There is more info on the design of the board here.

Basically, the Servo pins (digital pins 8-13) get their power from the battery. The Sensor pins (all the analog pins) get 5V regulated power from the Arduino. The motor driver gets 5V regulated for its logic, and battery power for the motors.

So you should have no trouble running a sensor, two motors and 2-3 servos with this board. That's pretty much what it is designed for.

All the servos will run from battery power. Each gets its ground and +V connection via the three pin servo connectors, along with the signal pin that provides the servo position control.

 

ok

If my dc motors are of high voltage so i would have to apply high voltage but then what about the servos ? wont they get damaged ?

Define 'high voltage'. What motors do you plan to use?

Most servos are ok up to 6V. Some can go higher, like 7.2V, though you may reduce their overall lifetime.

If you want to run your motors at higher voltages than the servos, you would have a problem using this board since they share that voltage line.  Since the servos share their supply with the motor driver, you must stay within the power requirements for both or you will summon blue smoke from your components.

Be aware that the motor driver only provides 1A of current per motor channel anyway. So if you try to run your motors with 'high voltage', you may exceed the current rating of the driver.

There is a work-around. If you do have motors that will run at say 12V and under 1A current, you could cut the trace on the shield that goes from the power connector to the servo pins. Then jumper over either a separate battery or use a separate voltage regulator to get the servos about 6V. The prototyping/breadboard area of the board could be used to build such a circuit.

Maybe Ro-Bot-X would consider another jumper on the board for this purpose in a future version of the board. Since the board was designed for small bots with motors that draw under 1A each, this may not be a very useful feature.

I had some 12V (mostly current more than 1A i guess) metal gear motors lying around which i was planning to use.But i dont think the shield and Hbridge can support  those motors.

Anyway thanks for your detailed help.

The Robot Builder's Shield was designed as an easy way for people to build small robots with a standard Arduino board. If you want to use more powerful motors, you have to use a beefier motor driver, probably not a shield. You can also use an ESC for brushed motors with the RBS to drive one 12V motor/ESC, connect each ESC to a servo pin. 

Really liking the look of this new shield! As stated the battery power supply supplies the 6 servo 3 pin connectors, optionally a jumper can be used to power Auduino's Vin pin which i thinks a great idea. The battery would also supply the Vcc2 pin on the sn754410, but does it also supply Vcc1  1,2EN  3,4EN as well, or are these 3 pins supplied from Arduino's regulated 5v?

 

All the 5V on the shield comes from the regulated Arduino voltage, even if the Arduino is separatelly powered. Actually, if you transfer power from the shield to the Arduino Vin, the regulated voltage is less than 5V, but most devices work fine with that. The only time the 5V must be dead on is when you use it as a voltage reference for the analog-digital converter. Still, in a robot like SHR where you set your own voltage treshold to detect too close objects and avoid them, it doesn't matter if your reference voltage is not perfect.

If you relly need the 5V to be dead on, use a separate battery for the Arduino, with a voltage of at least 7.2V. They recommend a 9V battery, but you'll waste some power through the regulator as heat.

Great review Andrew, thanks! 

There is a small mistake you need to correct, in the Interfaces section, you say Digital pins 0-4 instead of Analog pins... All the rest is perfect, thanks again.

Cheers!

Good catch! It has been corrected.