Reference: RBD-3520
Banner

The US-100 Ultrasonic Range Finder Module is a high-precision distance measurement sensor that uses ultrasonic sound waves to detect and measure the distance to nearby objects from 2 cm up to 450 cm (15 ft) with 1 mm accuracy. It supports both pulse-width (ping) and serial UART communication modes, allowing flexible integration with various microcontrollers such as Arduino, ESP32, Raspberry Pi, and STM32. Unlike optical sensors, the US-100 is unaffected by light or color, ensuring reliable operation in diverse environments. Its built-in temperature sensor automatically compensates for air temperature variations, maintaining consistent accuracy. Compact, efficient, and easy to interface, the US-100 is perfect for robotic obstacle avoidance, distance measurement, and smart automation systems. Featured By RoboticsBD.
Product Images are shown for illustrative purposes only and may differ from the actual product.
RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD
Dual Communication Modes: Supports serial (UART) and pulse-width interfaces.
Long Detection Range: Measures distances from 2 cm – 450 cm (up to 15 ft).
High Measurement Accuracy: 1 mm resolution for precise range detection.
Built-in Temperature Sensor: Provides automatic compensation for accurate readings.
Narrow Detection Cone: 15° field of view for focused detection.
Low Power Consumption: Draws less than 3 mA at 5 V.
Simple Integration: Works with Arduino, ESP32, STM32, and Raspberry Pi.
Selectable Modes via Jumper: Jumper installed = Serial Mode; removed = Pulse-Width Mode.
40 kHz Ultrasonic Operation: Immune to visible light interference.
Compact Design: Easily mountable and ideal for mobile robots.
RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD
Obstacle Avoidance: Detects barriers for autonomous robots and vehicles.
Distance Measurement: Useful in parking sensors and automation setups.
Smart Home Systems: Enables motion or proximity-based automation.
Industrial Monitoring: Non-contact distance sensing for process control.
Educational Projects: Great for learning ultrasonic measurement techniques.
RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD
| General Specifications | |
| Model | US-100 |
| Operating Voltage | 4.5 V – 5.5 V DC (5 V typical) |
| Maximum Current Draw | < 3 mA |
| Measurement Range | 2 cm – 450 cm (15 ft max) |
| Resolution | 1 mm (typical) |
| Measurement Angle | < 15 degrees |
| Center Frequency | 40 kHz |
| Communication Interface | UART (serial) / Pulse-width (trigger/echo) |
| Built-in Temperature Sensor | Yes (automatic compensation) |
| Trigger Pulse Width | ≥ 10 µs |
| Dimensions (PCB) | 45 × 21 mm (1.77 × 0.8″) |
| Ultrasonic Transducer (W×H) | 16 × 12 mm (0.62 × 0.47″) |
| Country of Origin | China |
| Shipment Weight | 0.010 kg |
| Shipment Dimensions | 5 × 3 × 2 cm |
Please allow 5% measuring deviation due to manual measurement.
RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD
If an echo is not returned (no object detected), the module will still lower the ECHO pin after a fixed delay. This delay may vary, but is about 200mSec on the modules that I have measured. This is required to prevent the module from hanging.
RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD
There is a 5-pin header on the assembly. The GND pins are connected to the system ground and the Vcc pin is connected to 5V. The TRIG/TX pin has different functions depending on whether the jumper on the back of the module is installed or not. If the jumper is installed, it is the serial TX pin that connects to TX pin on a microcontroller. If the jumper is removed, it is the input Trigger pin on which a 10uSec pulse is applied to start the measurement cycle. The ECHO/RX pin also has different functions depending on the jumper on the back of the module. If the jumper is installed, it is the RX pin that connects to the RX pin on the microcontroller. If the jumper is removed it is an output pin that is held HIGH for the duration of the time from when the module sends a 40KHz pulse out until it receives the echo back.
RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD
1 x 5 Header
RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD
This is a commonly used module for obstacle detection and basic range finding. These are much more capable than the basic IR obstacle avoidance sensors that come in sensor kits and are highly recommended if you are building a motorized robotic car and want to implement a nicely capable obstacle avoidance system or just want to measure distance for some other reason.
The module has a small microprocessor which does all the heavy lifting of managing the ultrasonic and temperature sensors, doing the calculations when using serial mode and managing serial I/O.
The serial I/O is a significant improvement over using the pulse-width interface and its use is highly recommended. Given that, the pulse-width method is also interesting to implement and experiment with and this module lets you do both. A program that implement the pulse width interface can be found on our HY-SRF05 page and is compatible with this sensor.
As an interesting aside, it has been noticed that when using serial mode, if the 5V power is removed the module continues to work, apparently due to parasitic power being pulled off the serial comm lines.
The program below implements a serial interface with the module and displays the measured range in millimeters, centimeters and inches on the Serial Monitor. To use the serial mode of operation, ensure that the jumper is installed on the back of the module.
Note that we use SoftSerial library to implement a software serial port. This is mainly required when using on an UNO or other MCU with a single hardware serial port to avoid conflict between the sensor serial port and the USB serial port. If using a Mega or some other microcontroller with multiple hardware serial ports, you can use one of those instead if you prefer.
SoftSerial does require interrupt capability on the incoming RX line so we are using pins 10 for TX and 11 or RX since most of the Arduino series supports interrupts on both of these pins. You will also need to connect 5V to Vcc and Ground to one of the GND pins.
RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD
/* * US-100 Ultrasonic Test - Serial Interface Mode * * Exercises the ultrasonic range finder module in serial mode * and prints out the current measured distance and temperature * This uses 'softserial' to communicate with the module to avoid any conflict * with the HW serial port if using an UNO. * VCC - connect to 5V * GND - connect to ground. The 2 grounds are tied together on the module * TRIG/TX - connect to digital pin 10 * ECHO/RX - connect to digital pin 11 * * For Serial mode of operation, ensure the jumper is installed on the back * of the module */ #include <SoftwareSerial.h>; const int US_100_TX = 10; // Pin for Soft Serial TX const int US_100_RX = 11; // Pin for Soft Serial RX // Create instance of soft serial port for comm with module SoftwareSerial US_100_Port(US_100_RX, US_100_TX); unsigned int MSByte = 0; // Most Significant Byte of distance measurement unsigned int LSByte = 0; // Least Significant Byte of distance measurement unsigned int mmDist = 0; // Returned distance in millimeters int temp = 0; // Returned temp measurement //=============================================================================== // Initialization //=============================================================================== void setup() { Serial.begin(9600); // Initialize the serial ports US_100_Port.begin(9600); } //=============================================================================== // Main //=============================================================================== void loop() { US_100_Port.flush(); // Clear the port buffer US_100_Port.write(0x55); // Request distance measurement delay(500); // Give the sensor a little time to make the measurement if(US_100_Port.available() >= 2) // Looking for 2 bytes to be returned { MSByte = US_100_Port.read(); // Read in the MSB (Most Significant Byte) data LSByte = US_100_Port.read(); // Read in the LSB (Least Significant Byte) data mmDist = MSByte * 256 + LSByte; // Calculate the distance from the two bytes if((mmDist > 20) && (mmDist < 4500)) // Check that reading is within a valid range. { Serial.print("Distance: "); // Printout distance in millimeters, centimeters and inches Serial.print(mmDist); Serial.print("mm "); Serial.print(mmDist/10); Serial.print("cm "); Serial.print(mmDist/25.4, 2); Serial.println("in"); } else Serial.println("OUT OF RANGE"); } US_100_Port.flush(); // Clear the serial port buffer US_100_Port.write(0x50); // Request temperature measurement delay(500); if(US_100_Port.available() >= 1) // Looking for 1 byte to be returned { temp = US_100_Port.read(); // Read the byte if((temp > 1) && (temp < 100)) // Check for valid temperature range { temp -= 45; // Temp data has to be offset by -45º Serial.print("Temperature: "); Serial.print(temp); Serial.println("C."); Serial.println(""); } } delay(1000); }
RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD
1 x US-100 Ultrasonic Range Finder Module
RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD
RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD RoboticsBD
Specific References
Your review appreciation cannot be sent
Report comment
Report sent
Your report cannot be sent
Write your review
Review sent
Your review cannot be sent
Reference: RBD-3520
Reference: RBD-0491
Reference: RBD-2169
Reference: RBD-2445
Reference: RBD-2507
Reference: RBD-1199
Reference: RBD-1201
Reference: RBD-0354
We'll slide into your inbox when the product is back in stock.
Reference: RBD-2247
Reference: RBD-0419
We'll slide into your inbox when the product is back in stock.
Reference: RBD-0686
Reference: RBD-2420
Reference: RBD-1227
Reference: RBD-3688
Reference: RBD-1942
Reference: RBD-1203
Reference: 0245
Reference: RBD-2106
Reference: RBD-0020
Reference: RBD-2105
Reference: RBD-2445
Reference: RBD-0120
Reference: RBD-0280
Reference: RBD-0291
Reference: RBD-2446
Reference: RBD-0022
Reference: RBD-0396
Reference: RBD-0315
We'll slide into your inbox when the product is back in stock.
check_circle
check_circle