Arduino Robot


Introduction: Arduino Robot

About: I love Arduino and Raspberry pi and High Voltage... i build robots and also other cool stuff so stay tuned !!

Ever thought about building a robot but think that it`s too difficult, well now it`s not. It is a simple robot which is operated by an arduino and what it does is that it just roams around and avoids obstacles. It detects the obstacles with a HC-SR04 ultrasonic sensor. It is a simple project which anyone can build. Lets get started !!

Step 1: Materials Required

1. Arduino

2. HC-SR04

3. Robot chassis and motors

4. L293D IC

5. Breadboard

6. Jumper wires

7. 9v Battery

8. AA battery back (9v)

9. Double sided foam tape

And that's it !!

Step 2: Wiring and Schematic

You may find this step a bit complicated but its not. Follow these steps:

1. Connect pin 1, 9 and 16 together and connect it to 5v

2. Connect pin 4,5,12,13 together and connect it Gnd

3. Connect your 1st motor to pin 3 and 6

4. Connect your 2nd motor to pin 11 and 14

5. Connect pin 15 to digital pin 8

6. Connect pin 10 to digital pin 9

7. Connect pin 2 to digital pin 10

8. Connect pin 7 to digital pin 11

9. Connect HC-SR04 Vcc pin to 5v and Gnd to Gnd

10. Trig to digital pin 3 and Echo to digital pin 2

11. Battery pack's positive to IC pin 8 and Battery pack's Gnd to Gnd

12. Connect 9v battery's positive to Vin on Arduino and Gnd to Gnd

Step 3: Programming

The code very easy. You can also change the code and try different things. If the robot is going in weird directions, try changing all the digitalWrite, HIGH to digitalWrite, LOW and all the digitalWrite, LOW to digitalWrite, HIGH.

For the code to work you have to download the NewPing library from this link: And then it put in the arduino library folder.

Have Fun !!



    • Planter Challenge

      Planter Challenge
    • Make it Move Contest

      Make it Move Contest
    • Clocks Contest

      Clocks Contest

    We have a be nice policy.
    Please be positive and constructive.




    Connect your arduino and then open device manager and see to which com port your arduino is connected to and also check that your arduino drivers are up to date

    This is what it says when I try to upload the code :

    Error compiling for board Arduino/Genuino Uno.


    compliation terminated.

    exit status 1

    Error compiling for board Arduino/Genuino Uno.

    I don't understand step 12. I hooked everything up but it didn't work. Do I still have to hook the Arduino to a 9v or computer? Why the battery pack and 9v and a 9v to power the Arduino. I'm so confused. Any clarity would be greatly appreciated.

    1 reply

    The battery pack is for the motors and the 9v battery is for the arduino

    Sir i m not well experienced on Arduino. and i m getting errors as below. so plz help me.

    Arduino: 1.6.6 Hourly Build 2015/08/25 04:58 (Windows 7), Board: "Arduino Uno"

    Using library NewPing in folder: C:\Users\SKYuvraj\Documents\Arduino\libraries\NewPing (legacy)

    D:\FAMILY\PERSONAL\SKYuvraj\Projects\arduino-nightly-windows\arduino-nightly\hardware\tools\avr/bin/avr-g++ -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10606 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -ID:\FAMILY\PERSONAL\SKYuvraj\Projects\arduino-nightly-windows\arduino-nightly\hardware\arduino\avr\cores\arduino -ID:\FAMILY\PERSONAL\SKYuvraj\Projects\arduino-nightly-windows\arduino-nightly\hardware\arduino\avr\variants\standard -IC:\Users\SKYuvraj\Documents\Arduino\libraries\NewPing C:\Users\SKYuvraj\AppData\Local\Temp\build2227180754621430662.tmp\sketch\sketch_oct10b.cpp -o C:\Users\SKYuvraj\AppData\Local\Temp\build2227180754621430662.tmp\sketch\sketch_oct10b.cpp.o
    Robot.ino: In function 'void setup()':
    Robot.ino:31:6: error: redefinition of 'void setup()'
    sketch_oct10b.ino:1:6: error: 'void setup()' previously defined here
    Robot.ino: In function 'void loop()':
    Robot.ino:40:6: error: redefinition of 'void loop()'
    sketch_oct10b.ino:7:6: error: 'void loop()' previously defined here
    redefinition of 'void setup()'

    When I uploaded the program it is coming that compiling error so what should I do???

    1 reply

    Have you installed the " new ping " library ? If not then download it from " " then extract the zip file in the library folder of arduino it will be in My documents then Arduino then libraries

    hey......2 things.....1. how did u connect the DC motors without a motor shield and 2. i want to connect a mini servo with the sensor so that it scans the area......plz help

    1 reply

    A motor shield has this same circuit the only difference is that it is on a PCB and if you want to add a servo check out the instructables in my favourite's named James - Your first arduino robot. Good Luck !!

    The schematic is right but the CODE is WRONG, look at this :

    replace these lines.. :

    void moveBackward(){
    digitalWrite(Motor1Pin1, HIGH);
    digitalWrite(Motor1Pin2, LOW);
    digitalWrite(Motor2Pin1, LOW);
    digitalWrite(Motor2Pin2, HIGH);

    void moveForward(){
    digitalWrite(Motor1Pin1, LOW);
    digitalWrite(Motor1Pin2, HIGH);
    digitalWrite(Motor2Pin1, HIGH);
    digitalWrite(Motor2Pin2, LOW);

    void moveRight(){
    digitalWrite(Motor1Pin1, LOW);
    digitalWrite(Motor1Pin2, LOW);
    digitalWrite(Motor2Pin1, HIGH);
    digitalWrite(Motor2Pin2, LOW);

    void moveLeft(){
    digitalWrite(Motor1Pin1, LOW);
    digitalWrite(Motor1Pin2, HIGH);
    digitalWrite(Motor2Pin1, LOW);
    digitalWrite(Motor2Pin2, LOW);

    that typo is pin 17 should be pin 15, there is no,17th pin on the chip.

    1 reply

    I changed it thanks for telling me

    thank you for this write up on using the L239 hbridge chip. im currently doing a build based on this guide.. just a heads up though, there is a typo on step 5 of your wire hook up.