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




About: Arduino Tutorials by Team

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.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

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!


  • Instrument Contest

    Instrument Contest
  • Make it Glow Contest

    Make it Glow Contest
  • STEM Contest

    STEM Contest

16 Discussions


1 year ago

here is a good site that explains how it works.

Ryan tan

3 years ago

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

1 reply

4 years ago

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.

1 reply

Reply 1 year ago

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?


3 years ago

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!


1 reply

Reply 1 year ago

(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.


Reply 1 year ago

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