In this project, we have built an Ultrasonic Rangefinder using 8051 Microcontroller and Ultrasonic Sensor. We have different ways to measure the distance. One way is to use Ultra Sonic Sensor or Module for distance measurement. This article explains to you how to measure the distance using 8051 microcontrollers. This Ultrasonic Range Finder system measures the distance up to 4 meters with an accuracy of 3 mm.

Output Video

The principle of Ultrasonic Rangefinder

Generally, the distance can be measured using pulse-echo and phase measurement method. Here, the distance can be measured using the pulse-echo method. The ultrasonic module transmits a signal to the object, then receives an echo signal from the object and produces an output signal whose time period is proportional to the distance of the object.  The mechanism of the ultrasonic sensor is similar to the RADAR (Radio Detection and Ranging).

radar concept

RADAR Concept

This circuit calculates the distance of the object based on the speed of the sound wave at normal temperature and displays the distance on LCD.

Circuit Diagram of Ultrasonic Rangefinder using 8051

Ultrasonic Rangefinder using 8051 Circuit

Components Required for Ultrasonic Rangefinder

  • AT89C51 Microcontroller
  • 8051 Programming board
  • Programming cable
  • HC – SR04 Ultrasonic Module
  • 16 x 2 LCD
  • 10KΩ Potentiometer
  • 10µF / 16V Electrolytic Capacitor
  • 2 x 10KΩ Resistor (1/4 Watt)
  • 0592 MHz Crystal
  • 2 x 33pF Capacitors
  • Push Button
  • Connecting wires
  • Power Supply
  • Keil µVision Software
  • Proteus
  • Willar Software

Circuit Design of Ultrasonic Rangefinder

The major components in this project are AT89C51 Microcontroller, Ultrasonic Sensor and LCD Display. The TRIGGER and ECHO pins of the Ultrasonic Sensor are connected to the P3.1 and P3.2 pins respectively.  LCD data pins are connected to the PORT1 of the microcontroller and controller pins RS, RW and EN are connected to the P3.6, GND, and P3.7 respectively. Here, the LCD (Liquid Crystal Display) is used to display distance of the object. 10KΩ POT is used to vary the contrast of the LCD. Power supply pins of the microcontroller, LCD and Ultrasonic Sensor are connected to the 5V DC.

Ultrasonic Module (Ultrasonic Sensor)

HC – SR04 Ultrasonic Module works on the principle of SONAR and is designed to measure the range of the object in small embedded projects. It offers excellent range detection with high accuracy and stable readings. The operation of the module is not affected by sunlight or black material.


  1. Resolution of this module is 3mm
  2. Ranging distance is 2cm to 400cm (4 meters)
  3. Angle measurement is 30 degrees
  4. Trigger input pulse width is 10µs
  5. Required current 15mA
  6. Frequency 40 KHz

Pin Configuration

  1. Vcc:  This pin is connected to the positive 5V DC.
  2. Trigg: The trigger signal is applied to this pin for starting the transmission. This signal must be HIGH for 10µs. When a valid trigger signal is applied, it generates 8 pulses of 40 KHz.
  3. Echo: At this pin, the module generates the signal whose time period is proportional to distance.
  4. GND:  This pin is connected to the ground.

How is Ultrasonic Rangefinder using 8051 Circuit works?

When a HIGH pulse of 10µs is applied to the TRIG pin, the ultrasonic module transmits 8 consecutive pulses of 40 KHz. after transmitting 8th pulse the ECHO pin of the sensor becomes HIGH. When the module receives the reflected signal from the object, the ECHO pin becomes LOW. The time taken by the signal to leave and return to the sensor is used to find out the range of the object.

Distance in centimeters = (Time/58)

Object distance in inches = (Time/148)

Distance can also be calculated using the speed of the ultrasonic wave 340m/s

timing diagram

Algorithm for Program

  1. Send HIGH pulse for 10 microseconds on TRIG pin

Initially P3.1 = 0;

P3.1 = 1;

delay_ms (10);

P3.1 = 0;

  1. Wait until the module transmits 40 KHz pulses. When 8thpulse is transmitted echo pin becomes HIGH, TIMER0 starts counting, when input INT0 goes LOW and the timer counts the time

while (INT0 == 0);

while (INT0 == 1);

  1. TIMER0 value is equal to the time taken by the signal to go forward and come back so we need to take only half time.

Time required = TIMER0 VALUE/2

  1. The speed of the ultrasonic pulse is nothing but the speed of sound which is 340.29 m/s or 34029 cm/s
  2. Distance = speed * time = 34029 * (TIMER0) / 2
  3. At 11.0592 MHz, TIMER0 gets incremented for 1µs.

Range = 17015 * TIMER0 X 10-6

  1. Target range = TIMER0/58 cm.

How to Operate?

  1. Initially, burn the program to the microcontroller
  2. Now give the connections as per the circuit diagram
  3.  While giving the connections make sure that Vcc of an ultrasonic module is connected to 5V DC
  4. Switch on the board supply
  5. Place the obstacle in front of the ultrasonic module, now you can observe the distance on LCD.
  6. Switch off the board supply.

Ultrasonic Rangefinder Project Applications

  • Used to measure the obstacle distance.
  • This system used in automotive parking sensors and obstacle warning systems.
  • Used in terrain monitoring robots.

Limitations of the Circuit

  • This system is not able to measure longer distances.


Please enter your comment!
Please enter your name here