Introduction: Obstacle Avoiding Robot (Arduino)

About: Student at University of Colombo

Here i'm going to instruct you about making an Obstacle Avoiding Robot based on Arduino. I hope to do step by step guide on making this robot in very easy way. An obstacle avoiding robot is a fully autonomous robot which can be able to avoid any obstacle which it face when it move. Simply, when it met an obstacle while it moving forward, automatically stop moving forward and makes a step back. Then it looks it's two sides left & right and starts to move the best possible way; which means either in left direction if there is another obstacle in right or in right direction if there is another obstacle in left side. The obstacle avoiding robot is very helpful and it is the base of many large projects such as Automatic cars, robots used in Manufacturing factories, even in robots used in spacecrafts.

Step 1: What You Need in This Project:

  1. Arduino UNO -
  2. Smart robot car chassis with 2 x toy car wheels and 1 x Universal wheel (or ball casters) -
  3. Two DC motors -
  4. L298n motor driver -
  5. HC-SR04 Ultrasonic Sonar sensor -
  6. TowerPro micro servo 9g -
  7. 7.4V 1300mah Lipo battery -
  8. Jumper wires (male-to-male, male-to-female)
  9. Mini breadboard

  10. Ultrasonic sonar sensor mounting bracket

  11. Screws and nuts
  12. Screwdriver
  13. Soldering iron
  14. Double sided tape(optional)
  15. Hot glue gun(optional)

Step 2: Assembling the Chassis

Solder two wires to each DC motor. Then fix two motors to the chassis using the screws. If you need any clarification, please watch this youtube video and it will show you how to assemble the Smart 2WD Robot car chassis. Finally attach the Universal wheel (or ball caster wheel)

Step 3: Mount the Components

Mount the Arduino UNO, L298n motor driver and TowerPro servo motor on the chassis. Note: when mounting the arduino board, leave enough space to plug the USB cable, since later you have to program the arduino board by connecting the it to the PC via a USB cable.

Step 4: Preparing the Ultrasonic Sensor

Plug four jumper wires to the Ultrasonic sensor and mount it on the mounting bracket. Then mount the bracket on the TowerPro micro servo which has already installed on the chassis.

Step 5: Wiring Components

L298n motor driver:

+12V → Lipo battery (+)

GND → Lipo battery (- ) important: connect the GND to lipo battery (-) and to arduino board any GND pin

+5V → arduino Vin

In1 → arduino digital pin 7

In2 → arduino digital pin 6

In3 → arduino digital pin 5

In4 → arduino digital pin 4

OUT1 → Motor 1

OUT2 → Motor 1

OUT3 → Motor 2

OUT4 → Motor 2


Connect two jumper wires to arduino board 5V and GND pins, then connect both wires to breadboard. now you can use this as +5V supply.

HC-SR04 Ultrasonic Sonar sensor:

VCC → breadboard +5V

Trig → arduino analog pin 1

Echo → arduino analog pin 2

GND → breadboard GND

TowerPro micro servo 9g:

orange wire → arduino digital pin 10

red wire → breadboard +5V

brown wire → breadboard GND

Step 6: Programming Arduino UNO

  1. Download and Install the Arduino Desktop IDE
  2. Download and paste NewPing library (Ultrasonic sensor function library) file to the Arduino libraries folder.
    • Download the NewPing.rar below
    • Extract it to the path - C:\Arduino\libraries
  3. Download and open obstacle_avoiding.ino
  4. Upload the code to the arduino board via a USB cable

Step 7: Power the Robot

Connect the Lipo battery to the L298n motor driver as follows:

Lipo battery (+) → +12V

Lipo battery (- ) → GND

Step 8: Great !!!

Now your robot is ready to avoid any obstacle....

I would be happy to answer any questions you have

email me:

search me on facebook and linkedin for more projects - Danusha nayantha

Thank You

Wheels Contest 2017

Participated in the
Wheels Contest 2017

Arduino Contest 2017

Participated in the
Arduino Contest 2017

Remote Control Contest 2017

Participated in the
Remote Control Contest 2017