How to Use the HC-SR04 Ultrasonic Sensor - Arduino Tutorial





Introduction: How to Use the HC-SR04 Ultrasonic Sensor - Arduino Tutorial

The HC-SR04 ultrasonic sensor uses sonar to determine distance to an object like bats or dolphins do. It offers excellent non-contact range detection with high accuracy and stable readings in an easy-to-use package. From 2cm to 400 cm (or 1” to 13 feet). It operation is not affected by sunlight or black material like Sharp rangefinders are (although acoustically soft materials like cloth can be difficult to detect). It comes complete with ultrasonic transmitter and receiver module.

In this tutorial you will learn how to use this sensor with the Arduino uno and print the distance from an object to the serial monitor.

Step 1: What You Will Need

For this tutorial you will need:

  • Arduino uno
  • Breadboard
  • HC-SR04 Ultrasonic Sensor

Step 2: The Circuit

The connections are pretty easy, see the image above with the breadboard circuit schematic.

Step 3: The Code

Here's the code, embedded using codebender!

Try downloading the codebender plugin and clicking on the Run on Arduino button to program your Arduino board with this sketch. And that's it, you've programmed your Arduino with this sketch.

  • ultrasonic.Ranging(CM) will return distance from an object to centimeters
  • ultrasonic.Ranging(INC) will return distance from an object to inches
  • ultrasonic.Timing() will return the time (ms) where the signal took to return from the object

Press connect button below to start serial communication.

Step 4: Well Done!

You have successfully completed one more Arduino "How to" tutorial and you learned how to use the HC-SR04 Ultrasonic Sensor with Arduino uno.

I hope you liked this, let me know in the comments. There will be more of them, so make sure to click Follow button!

5 People Made This Project!


  • Pocket-Sized Contest

    Pocket-Sized Contest
  • Pro Tips Challenge

    Pro Tips Challenge
  • Paper Contest 2018

    Paper Contest 2018

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




here is a good site that explains how it works.

What is the code to make it move to the object? Anyone teach please.thx.

could you explain exactly what you mean?

Any idea how to waterproof this idea/project?

Basically, sense the depth of a tank of water or bottom of a lake using an arduino + ultrasonic sensor.

I don't think that would work. to measure distance, it bounces sound waves off an object and times the return time. in water, sound would travel a different speed, and water would probably just absorb the ultrasound anyway. maybe you could try a different technique? maybe infrared would work?

very nice and useable, but what is the thing on top of the arduino on the photo? and why do you use it?

hope you can help me out!


(i'm 99% sure...) that thing on top of his photo is just a shield (a thing you put on top of arduinos to give them extra functionality, etc...) that has a breadboard on it. he is just using it instead of a off-shield breadboard. it makes no difference to how the project works.

It keeps spamming 0CM in my console :(

do you have your hc-sr04 plugged in properly? (trig into A0, echo into a1)?

mine doesnt work, please help