Arduino UltraSonic Range Finder: The Best interfacing tutorial!

From our STAR Maker: Jeff Salim
Arduino Ultrasonic range finder

Range finder is a device used to find the distance from a point to the nearest obstacle. This device uses UltraSonic technology to measure the distance. You can consider it like an electronic and hassle free version of a measuring tape with a measuring range of 2cm to 400cm with an accuracy of 1cm. Typical applications of this Arduino Ultrasonic range finder are parking sensors, obstacle warning system, level controllers, terrain monitoring devices etc. You can make your own Arduino UltraSonic Range Finder in less than an hour using easily available and cheap components.

What are the stuff required to do this project?

Hardware :

  1. HC-SR04 (Ultrasonic Ranging Module )
  2. Arduino Uno
  3. 16×2 Alphanumeric LCD (JHD162A)
  4. Jumper Wires Male to Female
  5. Arduino Power Jack Connector
  6. 9V battery

Software :

Arduino IDE

How does it work?

Arduino Ultrasonic Range FinderIn this range finder, we use an UltraSonic sensor to measure the distance between two points. The principle of operation of this sensor is measuring the distance traveled by sound in a given time. The sensor generates high frequency sound waves which hit the nearest obstacle and create an echo. The time taken for the echo to reach the sensor is determined. This is used to calculate the distance since speed of sound in air is a known constant(343m/s). We can now display this information on an LCD in Centimeters or Inches. All these actions are controlled using a microcontroller board called Arduino. Lets have a look at the HC-SR04 ranging sensor now.

Arduino Ultrasonic Range Finder

  • Vcc: 5V supply voltage is given to this pin.
  • Trigger: A 10uS long pulse is given to this pin for triggering the transmission. Upon receiving a valid trigger pulse, the HR-SR04 issues eight 40KHz pulses. Time taken by these pulses to reflect back is measured and the distance is calculated from it.
  • Echo: At this pin the HC-SR04 outputs a signal whose high time is proportional to the range.
  • Ground : Ground is connected to this pin.
Arduino Ultrasonic Range Finder

16×2 Alphanumeric Display (LCD)

Step 1 : Set up the connections for the Arduino UltraSonic Range Finder

Arduino Ultrasonic Range Finder

Connect the ultrasonic sensor and LCD to the Arduino as shown in the above diagram.

Step 2 : Upload the code to Arduino

If you are new to Arduino, download the Arduino IDE (Integrated Development Environment). Now upload the code given below to the Arduino Uno using IDE:

#include "NewPing.h"
#include "LiquidCrystal.h"
#define trig 0
#define echo 13
#define maximum 200

int usec;
int cm;
float inch;
NewPing sonar(trig, echo, maximum);
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup(){

void loop(){ 
lcd.print("Range Finder");;

The <NewPing.h> library can be downloaded from here: NewPing_v1.5. Download this zip file, unzip it into a folder, name it NewPing and open the Arduino software/Sketch tab/Include Library/Add .ZIP Library/Choose the Zip file and upload the program to your Arduino Board.

For communicating with the arduino ultrasonic range finder module, library function <NewPing.h> is used. The job of sending the 10uS trigger pulse, waiting for the echo and measuring the width of the echo etc are done by the library function. Just one line of code will make the arduino to do all the jobs said above and the width of the echo pulse in micro seconds will be stored in the variable usec. Dividing the pulse width in uS by 58 will give the distance in cm and dividing the pulse width in uS by 148 will give the distance in inch. An “if – else” loop is used for selecting the unit according to the position of the SPDT selector switch.


Package all the electronics neatly into a sturdy box of your liking and you have your very own arduino ultrasonic range finder. I have installed all my electronics into a spare wooden box I had lying around and here is a picture of it:

Arduino Ultrasonic Range Finder

I arranged the ultrasonic sensor on one side and the display on the other. All I need to do now is aim and measure!! :)

Watch the working video to see the Arduino Ultrasonic Range Finder in action:


Jeff Salim

Jeff Salim – STAR Maker at DIYHacking

– A 13 year old Maker and Blogger!!! Check me out here:

Recommended Posts
Showing 2 comments
  • ajithparma

    I found you’re blog via Google and I have to say. A Massive Thank you so much, I believed your article was extremely informative
    I will revisit to see what further great information I can receive here.

  • chanky

    dude where is the wiring portion ?? you showed the portions which we already knew,…!!!

Leave a Comment

62 − 55 =

Start typing and press Enter to search