Precision Ultrasonic Sensor: Technical Specification and DIY Guide

Precision ultrasonic sensors are widely used in various applications, including distance measurement, object detection, and level monitoring. This article focuses on the HC-SR04 precision ultrasonic sensor, which is a popular choice for DIY projects and hobbyists. The HC-SR04 ultrasonic sensor offers a detection range of 2cm to 400cm, a measuring angle of 15 degrees, and a supply voltage of 5V DC, making it a versatile and reliable choice for a variety of applications.

Technical Specification of HC-SR04 Precision Ultrasonic Sensor

The HC-SR04 ultrasonic sensor has the following technical specifications:

Specification Value
Detection Range 2cm – 400cm (centimeters)
Measuring Angle 15 degrees
Supply Voltage 5V DC
Current Consumption 15mA
Trigger Input 10us TTL pulse
Echo Output TTL pulse, the duration is proportional to the distance
Dimensions 45mm x 20mm x 15mm
Weight 15g

The sensor uses ultrasonic waves to measure the distance to an object. It works by emitting a high-frequency sound pulse and then measuring the time it takes for the echo of that pulse to reflect back. The distance to the object can be calculated using the formula: distance = (duration / 2) * sound_speed, where sound_speed is the speed of sound in the medium (approximately 340 m/s in air).

The HC-SR04 sensor has a detection range of 2cm to 400cm, with an accuracy of 3mm. The measuring angle of 15 degrees means that the sensor can detect objects within a 15-degree cone in front of the sensor. This makes it suitable for a variety of applications, such as:

  • Distance measurement
  • Object detection
  • Level monitoring
  • Robotics and automation
  • Home automation
  • Security systems

The sensor’s small size and low power consumption (15mA) make it a popular choice for DIY projects and embedded systems.

DIY Guide: Connecting and Programming the HC-SR04 Precision Ultrasonic Sensor

precision ultrasonic sensor

To use the HC-SR04 ultrasonic sensor, you need to connect it to an Arduino board or any other microcontroller. Here is a step-by-step guide to connecting and programming the sensor:

  1. Connect the VCC pin of the sensor to the 5V pin of the Arduino board.
  2. Connect the GND pin of the sensor to the GND pin of the Arduino board.
  3. Connect the Echo pin of the sensor to any digital input pin of the Arduino board (e.g., pin 9).
  4. Connect the Trig pin of the sensor to any digital output pin of the Arduino board (e.g., pin 10).
  5. Write a program to send a trigger pulse to the sensor and measure the duration of the echo pulse.
  6. Convert the duration to distance using the formula: distance = (duration / 2) * sound_speed, where sound_speed is the speed of sound in the medium (e.g., 340 m/s in air).

Here is an example Arduino code to measure the distance using the HC-SR04 sensor:

#define trigPin 10
#define echoPin 9

void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  Serial.begin (9600);

void loop() {
  long duration, distance;
  digitalWrite(trigPin, LOW);  
  digitalWrite(trigPin, HIGH);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  distance = (duration/2) / 29.1;
  if (distance >= 200 || distance <= 0){
    Serial.println("Out of range");
  else {
    Serial.println(" cm");

This code sends a 10-microsecond trigger pulse to the sensor, measures the duration of the echo pulse, and then calculates the distance to the object. The distance is printed to the serial monitor every 500 milliseconds.

It’s important to note that the accuracy and precision of the HC-SR04 sensor can be affected by various factors, such as temperature, humidity, and the surface characteristics of the object being detected. In some cases, the sensor may deliver inaccurate or inconsistent readings, especially at longer distances or in challenging environments.

To improve the accuracy and reliability of the HC-SR04 sensor, you can consider the following techniques:

  • Calibrate the sensor: Measure the actual distance to an object and compare it to the sensor’s reading. Adjust the formula or the sensor’s parameters accordingly.
  • Implement filtering and averaging: Use techniques like moving average or Kalman filtering to smooth out the sensor’s readings and reduce noise.
  • Compensate for environmental factors: Measure the temperature and humidity and adjust the sound speed calculation accordingly.
  • Use multiple sensors: Employ two or more HC-SR04 sensors in a configuration that can provide more reliable and redundant distance measurements.

By understanding the technical specifications and limitations of the HC-SR04 precision ultrasonic sensor, and by applying appropriate techniques to improve its performance, you can successfully integrate this sensor into your DIY projects and achieve reliable distance measurement and object detection.


  1. How to Mechatronics – Ultrasonic Sensor HC-SR04 and Arduino – Complete Guide
  2. Arduino Forum – Ultrasonic sensor HC-SR04 delivers wrong distance
  3. YouTube – Arduino Tutorial 55: Measuring Distance With HC-SR04 Ultrasonic Sensor
  4. Arduino Forum – HC-SR04: tests on accuracy, precision and resolution of ultrasonic measurement