Skip to content

nopnop2002/esp-idf-ultrasonic

Repository files navigation

esp-idf-ultrasonic

Ultrasonic distance sensor for ESP-IDF

I forked from here.

Hardware requirements

  • Ultrasonic ranging module like US-015/US-025/US-026/US-100/HC-SR04/HY-SRF05.

HY-SRF05-3

  • esp-idf-ultrasonic-Stick is for M5Stick

  • esp-idf-ultrasonic-StickC is for M5StickC

  • esp-idf-ultrasonic-Stack is for M5Stack

  • esp-idf-ultrasonic-WebSocket is for generic ESP32

Software requirement

ESP-IDF V5.0 or later.
ESP-IDF V4.4 release branch reached EOL in July 2024.
ESP-IDF V5.1 is required when using ESP32-C6.

Speed of sound

The speed of sound is affected by temperature and can be calculated with 331.5+0.61*temperature[m/sec].
If the temperature is 20 degrees, it will be 331.5+0.61*20=343.7[m/sec].
343.7[m/sec]=34370[cm/sec]=34.37[cm/millisec]=0.03437[cm/microsec]
Counting backwards, the time required for 1 cm is 29.0951 microseconds.
In other words, the desired distance [cm] when the temperature is 20 degrees can be calculated by dividing the round trip time [microseconds] from the time the sound wave is emitted until it returns by 29.0951*2 (approximately 58.2).
This example uses 58 as an approximation.
If you want more accuracy, you should measure the temperature at the same time and use the measured temperature to calculate the distance.