Picture of James - Your first Arduino Robot
For more Robotics Tutorials see my website here:
For awesome videos about robots and 3D printing go here:

Thank you so much everyone for voting for James in the Toy Contest! He got first place and I won a $500 Shapeways voucher! Expect to see more robot instructables from me in the future! :D

So you want to make a robot? Don't know where to start? How about you learn how to make a robot with me and make James!
James was made as part of a Robotics Class I teach to a few high school students.

I called him James in memory of my late Grandfather James Manning Edwards who passed away 14-3-2013. He loved teaching and helping kids and died doing what he loved, hopefully this James will carry on that legacy.
Remove these adsRemove these ads by Signing Up

Step 1: Gather your Components and Tools

Picture of Gather your Components and Tools
For this build we will be using the Arduino Uno with a Prototyping Shield. You could use whichever Arduino you want with its own Prototyping Shield or Breadboard.

If you are looking to buy this Prototyping Shield search on ebay for “arduino prototype shield uno” and you should see it. Alternatively you can buy a similar looking one from Core Electronics:

Step 2: Planning

Picture of Planning
On a piece of paper sketch out a rough sketch of the shape you want your robot body to have. It is always best to have an idea of what you want your robot to look like before you begin its construction.

Next you will want to sketch the shape of the robot body onto the protective sheet of the acrylic, this can be done easily with a pencil. If you do not have acrylic you could use; balsa wood, ply-board, foam-core, cardboard plastic containers or even food containers! You will also need to mark out where you want your servo to go. To cut out the hole for the servo drill four holes on each corner where you want to put the servo, this is to allow the blade of the saw to be easily maneuverered, preventing finger loss.

Step 3: Arduino Mounting Holes

Picture of Arduino Mounting Holes
The Arduino will be attached to the robot body using M3 screws and spacers so you will also mark where the mounting holes are on the Arduino so they can be drilled out. Once all of this has been done cut out the robot shape on a bandsaw, if you don’t have a bandsaw you can use a coping saw.

Step 4: Ultrasonic Mounting Bracket

Step 5: Drivetrain

Picture of Drivetrain
If you would like to learn more about DC Motors and Servos and how to use them with Arduino watch my tutorial below:

Step 6: Checkpoint

Picture of Checkpoint
So far this is what my robot looks like.

Step 7: Attaching the Arduino

Picture of Attaching the Arduino

Step 8: Wiring the Motor Driver

Picture of Wiring the Motor Driver
To learn more about the L293D Motor Driver Chip and how to use it with Arduino watch my tutorial below:

Step 9: Connecting the Ultrasonic Sensor

Picture of Connecting the Ultrasonic Sensor
If you would like to learn more about the HC-SR04 ultrasonic sensor and how to use it with Arduino watch my tutorial below:

Step 10: Power

Picture of Power

Step 11: Code

Here is some basic code to get you started. I strongly encourage you to edit it and make it better once you have learned how it works.
To make the use of the ultrasonic sensor easier I have used the new ping library.

Step 12: Finished!

Picture of Finished!

Upload the test code and that’s it! You have made your first robot!
1-40 of 65Next »
thegrosskid12 days ago
How do I make the drivetrain?
eset0112 days ago


eset0112 days ago


biliron13 days ago

I got his Code on :

can i put something above all the parts so i can place things on it?

KashP123 days ago

As I am looking for codes..can anyone send me codes for normal DC motor(I am not using Servo Motors).Moreover, I am going to measure distance using Ultrasonic sensor signal on LCD.Can anyone help me on that???


ChaitanyaS1 month ago

hey can we do this with the prototyping shield just by using bread board i have all other parts except prototyping shield

Yes i think it can be done with breadboard only

And which servos u r using ?

Can you clearly show the wiring.

RittaChickka2 months ago

Can I use the L293B Instead of the L293D ?,,

Yes, you can use L293B instead L293D and every L239x.

Can I use a arduino motor sheild rev3 for this robot

15jonesj made it!2 months ago

Nice. I cheated and used a DFRobot turtle chassis as I am onlly 13 and this is my first robot. Love the instructable.


nice robot finally it works for me thanxs

Where can i buy the robot parts, because i am thinking of making a robot for computer engineering.

if your in america, try radioshack or adafruit, or if your here in Britain, you may want to go for maplin, proto pic or something like that. Apologies if your somewhere else.

robobot3112 made it!6 months ago

thanks for the awesome project . It was challenging but extremely informative.

expecting more awesome projects in the future.

pabdullah8 months ago

Hello I am making a similar one but My Robot Isn't moving. I am using L293DNE motor driver and plugged all wires correctly but also its not moving. Are L293D and L293DNE Pin Functions same?

Probably yes. You could check it out.

gunnlaugursig made it!7 months ago

Thank you for this nice instructable. Made it using my tamiya twin motor gearbox and tank chassis. Learned a lot and lots of fun.

Ryanj200010 months ago
If I want to change the PIN number for the servos what would I have to do with your code
super sam1 year ago
I love it
tannerg021 year ago
lluc11 year ago


Just finished the bot, works nice with the sonic and distance ranging detection. Would it be possible to put the code for continous rotation here. It would help me a lot. Thanks in advance.


za_tbr1 year ago
All good i figured it out myself cheers.
za_tbr1 year ago
Hi. Just wondering if you could upload the code to use the servo motors. This will help me immensely as I can then compare to see what I am doing wrong . Cheers
plz send the codes without servo
If possible send the codes without servo motor.
McClay141 year ago
Put ur robots on the hardware hacking contest, u could get 3d printer stuff :D
rshinosuke1 year ago
Thanks for the tutorial...
that's awesome...

but i found a mistake your basic code with your video in tutorial 4,
#define LeftMotorForward 6
#define LeftMotorBackward 5
#define RightMotorForward 8
#define RightMotorBackward 9
in your video LeftMotorForward and Backward was 10 and 11

what is the use of this robot?
Real Abin1 year ago
how to build a Robot full detail
gabbas11 year ago
What Voltage do your motors run?

I got 2 3-6v DC Motors. If i power my motorshield with a 9V battery the motors are way to fast an start smelling..
chickenparmi (author)  gabbas11 year ago
Mine are actually 12V motors. A simple way to combat what you are having is to send a PWM wave to both the enable motor pins. This will essentially turn the motors off and on very quickly. You can do this with the analogWrite function. 255 being full on and 0 being off. Start off by sending a wave of 50% duty cycle (about 128), this will give you an average voltage of 4.5V. Also, I hope you aren't using a singular 9V battery, they do not have enough juice to power motors. I suggest getting a AA battery pack as they have much more juice and will run the motors safely.
@chikenparmi - I would like to ask the cost to build James. Thanks :)
chickenparmi (author)  katrinealbuera1 year ago
It really depends on how you want to do it. I would say maximum cost would be $100. That is the absolute maximum. It would more be around the $80 mark.
rudj001 year ago
I have encountered some problems, when I uploaded your codes
when it scan to the left and right it cant determine where will he go otherwise scan and scan repeatedly
chickenparmi (author)  rudj001 year ago
It's just one of those things. There could be a variety of factors why, such as power stability to the sensor, but it probably just is the fact that the code isn't all that great. The main thing I ask people to do is to learn the basics of what it does, then improve it. I'm by no means a programmer and everything I have learn't is self taught through trial and error.
Why are you using an h bridge for servos?
1-40 of 65Next »