Welcome to our resources page. Over time, we'll be adding loads of hints and tips on how to build an use our products. If there's something you think we need to add please let us know. Simply drop us an email using our Contact Us page.
Index of resources:
- 5 Inch Chassis Kit Assembly Instructions
- Connecting up Motor & Batteries to the Robot Shield
- Programming your Arduino Robot/Motor Shield
- Tracked Surveyor Kit Assembly instructions
- Arduino DC Power Connector Instructions
- Robot Shield Kit Assembly Instructions (Discontinued ref. only)
Our 5 inch chassis kit makes a great platform for any mobile robotics project. The kit includes all of the electrical and mechanical components to build a complete mobile robot chassis – simply add an Arduino, a Motor Shield and a sensor or two and you’re ready to go!
The kit is very easy to assemble (requiring just a Philips screwdriver) and includes:
• Two 50:1 micro metal gearmotors (other ratio options available)
• One pair micro metal gearmotor brackets
• One pair 42×19mm wheels
• One 3/8" ball caster (1" ball caster option available)
Chassis layout showing location of Motor/Gearbox/Wheel Assemblies (Purple), Ball Casters (Yellow) & Arduino/Motor Shield (Grey)
Chassis kit assembly sequence
1. Mount Wheels onto Motor/Gearbox
• The motor shaft should be pushed through (from the serrated side of the wheel) until the end is flush with the outside of the wheel – the word “Pololu” should be visible on the outside
2. Solder the wires onto the Motors
• Cut two lengths of wire approx 10cm long (2 different colours are recommended, ideally red & black)
• Solder wires onto motor terminals. Please note the (+) sign on the back of the motor as this will help identify the direction of rotation later
• Repeat for second wheel
3. Attach the motors to the Chassis
• Place a motor bracket onto the motor/gearbox assembly so that the bracket extends into the wheel hub – leaving the back of the motor exposed
• Sandwich a clear spacer between the chassis and motor/bracket/wheel assembly
• Secure the motor bracket in place using the screws and nuts provided
• Repeat for second wheel
4. Attach the ball castors to the Chassis
• Place the thin spacer (provided with the ball castor) onto the screw, followed by the castor and secure with a nut
• Check that the chassis sits horizontal – with the thin spacer in place, the chassis should sit flat horizontally. The spacer can be removed or replaced by the thicker spacer (provided) if necessary
Completed chassis showing location of motor/wheel assemblies and one 3/8" ball caster.
That’s it ... you’re now ready to mount your Arduino, Motor Shield, etc and test.
Mounting Arduino on to your chassis:
The image above shows the location of the Arduino mounting posts (arrowed).
The 3 Arduino mounting posts are secured underneath using three M3 screws (supplied).
The image above shows the location of the Arduino on its mounting posts.
Arduino mounts on top of the mounting posts. At this point secure the Arduino using one M3 screw as indicated by the arrow.
The two other mounting locations are used for the plastic stand-offs that support the Motor Shield when plugged on top.
Place your assembled robot onto a table pointing away from you - the 4 motor connector pins of the motor shield should be at the back (closest to you).
In this orientation, the right-hand motor should be connected to the right-hand pair of pins on the motor shield with the positive (+) terminal of the motor connected to the right-most pin of the motor shield connector. The negative motor terminal should be connected to the pin on the immediate left of the positive pin.
Two pairs of crimps (which can be soldered if you do not have a crimp tool) and two connector housing are provided in the kit. Please note: if a white housing is provided, it will be necessary to cut off the 'lugs' on the back of the housing with a sharp knife.
The left-hand motor should be connected to the left-hand pair of pins on the motor shield with the positive (+) terminal of the motor connected to the left-most pin using the crimp connector provided. The negative motor terminal should be connected to the pin on the immediate right of the positive pin.
Image showing the correct motor connections (Note: in photo motor wire cross underneath Arduino board).
The Arduino robot kit comes with a 2.1mm power connector (centre +ve) and a 6x AA batter clip.
Simply clip the Arduino power lead onto the battery clip, put in a fresh set of batteries (checking polarity) and you're ready. The 2.1mm connector is simply plugges directly into the Arduino.
Two short lengths of Velcro are included in the kit to securely hold the battery clip in place.
To help you get started with your Arduino Robot and Robot Shield we have written a simple Arduino "sketch" that shows how easy it is to use Arduino in robotics applications.
This example has been written for any mobile robotics platform that uses two bi-directional motors controlled by an Arduino and a Robot Shield, it is also a great way to test your new robot.
For help on how to download the Arduino software, compile the code and download it to your Arduino, please check out the "Getting started with Arduino" guide on the Arduino website.
This sketch includes a series of functions that perform the different types of movement for your robot including:
turn_left and turn_right
To program the movement of your robot simply call the functions as needed from the main loop in the following form:
rotate_cw (time, speed);
All functions take the same form, the name of the function you wish to call, followed by the time you wish the function to be performed for, followed by the speed of the motor(s).
For example "forward (2000,100);" will move your robot in the forward direction for 2000 milliseconds (2 seconds) at a speed of 100/255ths of full speed. Rotation and turns are also controlled in the same way.
The speed of the motors are controlled by a "Pulse-Width Modulated" (PWM) outputs from Arduino. The longer the pulse, the faster the motor will turn. The width of the pulse is controlled by the "speed" variable, a number between 0 and 255 where 0 = 0% of maximum speed (stopped) and 255 = 100% of maximum speed.
The distance your robot travels or the angle it turns is a function of the speed of the motors and the time you call the function for. To reduce the angle of rotation reduce the speed or decrease the time.
The loop in this example sketch moves your robot in a "square" figure of eight.
Setting up motor direction
If you have connected up the motors of your Arduino robot as described above, then there should be no need to change the motor direction settings when using this sketch. If you are using your motor shield with a different robot it may be necessary to change the default forward and reverse direction of each motor.
The direction of each motor is controlled in software so that there is no need to change any of the wiring, it may require a little trial and error but it only needs to be done once! Simply follow the steps below:
1. Download the simple_motor_sketch above (if you haven't already) and comment out all of the functions in the main loop except the first "forward" function.
2. Compile the code and download it to your robot, once it starts note the direction of travel
• If your robot goes backwards, you need to reverse the direction of both motors
• If your robot rotates on the spot you will need to reverse the direction of one of your motors
3. To change the direction of a motor look for the following 4 lines of code near the top of the sketch:
int fwdA = LOW;
int revA = HIGH;
int fwdB = LOW;
int revB = HIGH;
This code controls the default direction of each motor. To change the direction of "Motor A" change fwdA to "HIGH" and revA to "LOW". Please note that fwdA and revA must always be the opposite from each other.
4. The sketch assumes that "Motor A" is the right-hand motor of your robot (viewed from the rear of your robot looking forward. If you have just changed fwdA and revA but the left-hand motor has been reversed please swap over your motor connectors on the motor shield and repeat the test/reversal process as described above.
If your robot now moves and rotates as expected - you're done and ready to go .... enjoy!
The tracked chassis of the Surveyor robot kit comes pre-assembled with the motors, gearboxes, wheels and tracks already fitted to the chassis. All that is required is to add the mounting plate, Sensors, Arduino and a motor shield.
1. The chassis can be used as supplied but if you wish, you can add a little extra ground clearance by rotating the motor assemblies within the chassis housing. To do this,
• remove the rubber track from one side of the chassis
• remove the screws holding the motor assemble retaining brackets and withdraw the brackets
• pull the motor carefully out of the chassis, rotate it a few steps to achieve the desired height, re-insert the motor assembly into the chassis
• re-fix the motor retaining bracket and screws
• repeat above steps for the track idler assembly on the same side
• refit the track
• repeat all of the above for the second track
2. Un-bundle the motor wires, straighten the wires and cut the large white connectors off of the ends of the motor cables - leaving them as long as possible. Strip back about 5 or 6 mm of insulation and twist the wires to stop them fraying.
3. Insert 6 Alkaline AA batteries into the battery holder and sit the holder into the chassis. The battery holder should sit comfortably between the motors in middle of the chassis. Set asside for later.
4. Carefully peel off the protective film from the chassis mounting plate.
5. Identify the "triple sensor bracket" sensors and bag of mounting screws. Attach each of the sensors to the bracket in turn using the shorter screws provided. The completed sensor assembly should look like this one ... The sensors can be mounted either way up on the bracket. [edit: we actually think it looks neater if the connectos are pointing down ... but its your choice!]
6. Attach the sensor assembly to the mounting plate using the 3 longer screws in the locations shown below:
7. Locate the Arduino mounting kit (includes: 6 screws, 3 plasic stand-offs, 3 metal stand-offs and 6 nylon washers). Thread a Nylon washer onto the stud of a plastic stand-off and pass through one of the holes (from the topside down) marked in the photo below with yellow arrows. Place another washer on the stud (now on the back of the board) and screw on a metal stand-off. Please note: The nylon washer on the underside of the board is essential to stop the metal stand-off shorting tracks on the underside of the board.
Repeat for the second hole marked with a yellow arrow.
Repeat again for the hole marked with a red arrow. Please note that if you are using an "R3" (as shown in the phot below) the plastic stand-off and nylon washer will need to trimmed with a sharp knife to make it fit arround the connectors that were extended on the R3 variant.
8. Offer up the Arduino assembly to the mounting plate and locate the mounting holes shown below. Hold the assembly in place with 3 screws.
9. Plug the assembled robot shield on top of the Arduino and hold in place with the three remaining screws.
10. Offer up the mounting plate to the chassis and identify a suitable hole for the battery holder and motor wires to pass through.
11. Pass the wires of the battery holder through your chosen hole but do not connect to your Arduino just yet.
12. Pass each of the pairs of motor wires holder through your chosen hole and insert into the screw terminals of the robot shield. One motor should connect to one screw terminal - ensuring the wires are in the correct order; the two red wires should take up the two 'centre' terminals of the motor output connector.
13. Attach the plate to the chassis using the 4 self-tapping screws provided. The screw locations are shown below.
14. Attach each of the sensor cables to a sensor and to the Robot Shield analogue input pins. Please ensure the white wire is outermost (towards the edge of the PCB) when connecting to the Robot Shield. The correct connections are as follows:
a) Centre Sensor = Pin 0
b) Right-hand Sensor = Pin 1
c) Left-hand Sensor = Pin 2
Your robot is now complete and should like the one below ...
15. Download and install the RobotShield library within the Arduino IDE.
16. Download the example Surveyor Sketch, compile and upload to the Arduino and test.
1. Remove the black plastic strain-relief outer from the plug - remembering to pass the power wires through the strain-relief outer BEFORE soldering on the wires to the connector.
2. Solder the black (-) wire to the outer body tag of the connector. Caution: When soldering the black wire to the body tag of the connector, the connector body will become extremely hot! DO NOT attempt to hold the connector in your fingers while soldering the wires!
3. Solder the red (+) wire to the centre pin of the connector.
4. Carefully pinch-up the 2 halves of the metal strain relief clamp - DO NOT over tighten as this could cause the insulation to be compromised; leading to a short circuit.
5. Slide the strain-relief outer back over the connector and screw into place.
Our new robot shield kit requires electrical assembly (A pre-built and tested Robot Shield is also available – please see our website for more details).
The assembly of this electronics kit is straight forward for anyone with basic soldering skills. If you have little or no soldering experience, we strongly recommend that you read the excellent "Basic Solder Skills" article (published by EPE magazine) which can be found at: http://www.epemag.wimborne.co.uk/solderfaq.htm and practice your soldering skills using some spare components before proceeding.
As with all electronic assembly operations, it is usually easier to start with the lowest-profile components and work up to the larger components. This is true of the Motor Shield Kit and the following assembly sequence is suggested.
Note: Each component should be inserted, soldered and trimmed before moving onto the next component.
Motor shield assembly sequence
• 10K resistor (colour bands: Brown, Black, Black, Red, Brown)
• Please note that the holes on the PCB are at minimum spacing, you will need to carefully bend the leads very close to the body of the resistor. This should be done with your fingers as tools such as pliers can apply too much force ? cracking the resistor body!
• 820R resistor (colour bands: Grey, Red, Black, Black, Brown)
- R3, R4, R5, R6
• 4x 100K resistors (colour bands: Brown, Black, Black, Orange, Brown)
- R7, R8
• 2x 1K8 resistors (colour bands: Brown, Grey, Black, Brown, Brown)
- Reset Switch: SW1
• 4 pin PCB mount push button should be pushed fully home to PCB and soldered - orientation is unimportant.
• Please note orientation, the LED should be inserted into the board with the flat side of the LED body and the short lead should be closest to the edge of the board and the text "PWR"
- IC sockets (IC1 and IC2)
• Please note orientation, the "indents" in the IC sockets should correspond to the "indents" in the outlines drawn on the PCB
- C1, C2, C3, C4
• 4x 100nF Capacitors - orientation is unimportant
- Topside Headers
• Headers should be fitted so that the longer pins point upwards above board, headers include:
- 2x 2-pin motor headers
- 1x 2x2-pin I2C jumper header
- 1x 3-pin Vref header
- 2x 4-pin I2C and Serial port headers
- 2x 6-pin & 2x 2x6-pin I/O headers
- 1x 6-pin SPI port header
- Motor Screw Terminals
• 2x 2 way screw terminal blocks should be clipped together and inserted into PCB with side-entry nearest the edge of the PCB
- C5, C6
• 2x 100uF Electrolytic Capacitors
• Please note orientation, the stripe on capacitors denote negative pin
- Vin Header
• 1x 2-pin molex header for external battery pack (if used) should be inserted with the polarizing key/clip nearest C3
- Underside headers
• 4 headers - 2x 6-pin header and 2x 8-pin headers
• Headers should be fitted to the underside of the PCB with the long pins pointing downwards to connect into Arduino
- Insert IC's
• Please note that these devices are static sensitive! Please take the usual precautions such as using a wrist strap
• Please note orientation, the ?indents? in the ICs should correspond to the "indents" in the IC sockets
- I2C jumpers (x2)
• If you are using sensors or other components that require an I2C interface place the 2 jumpers across the I2C jumper header pins in the direction shown by the lines on the PCB (refer to photo for clarification).
• If I2C interface is not required the headers can be left off - allowing Analogue pins 4 & 5 to be used. Please note that Analogue pins 4 & 5 can not be used at the same time as the I2C port.
That's it ... you're finished! All you need to do is plug the shield onto your Arduino and test.
Image above shows completed robot with motor shield mounted on top of Arduino