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 81Next »
ThinhN12 days ago

code ???



ChaitanyaS5 days ago

how much torque is requred to move the body of robot i planning to buy gearmotors for the purpose but no understanding which one to buy i have options to buy

1: 200 rpm with 1kg /cm torque

2:3.5 rpm with 3kg/cm

wmada10 days ago
i am.using 74hc595n is that the issue
wmada10 days ago
k seriously guys fml robot still will not move.... do i need more batteries..or am i missing something... the pic on this instructable shows wires on the breadboard which i have no clue is that my problem
wmada10 days ago
can anyone tell me why my motors wont spin. ive rebuilt and rebuilt the code for the motors r pin 3 n 6 11 n 14. could i not have enough power? plz help this robot is killn me
wmada10 days ago
my motors dont spin at all? im going to try to rebuild once more. if i follow exactly this instructable and use the james code will it work..and do i beed to change the pins for motors to pin 3 n 6 n 11 n 14 the code says differently
eset011 month ago


biliron eset0120 days ago

wmada biliron12 days ago
does it work
biliron wmada10 days ago

Yes. But need some small modifications

wmada11 days ago
so i have figured out
wiring the code had to be changed right 3 n 6 11 n 13 for motors right?. anyways servo n sensor work.kinda . but wheels dont spin. im assuming its due to.weak power i used 9 volt and had usb xonnected to.laptop so am i gettn close?
gunnlaugursig made it!8 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.

ypurs looks easier to build any tips i can get the wiring figured out
wmada11 days ago
plz someone lemme no.
wmada12 days ago
i am also confused of the wiring. is it the same as what u did in ur vids. ive hooked everything up cept the servo and power? plz help kind sir lol
ChaitanyaS13 days ago

will the code be same for DC motors or do we have to change the code

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 ?

iam using a mini servo for the ultrasonic sensor and two dc motors

Can you please help me with the wiring as I can't see the picture shown clearly.

Thank you

thegrosskid1 month ago
How do I make the drivetrain?
eset011 month ago


biliron1 month ago

I got his Code on :

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

KashP11 month 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???


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!3 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.

pabdullah9 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.

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
1-40 of 81Next »