Skip to main content

Ultra Sonic range measurement module

Seeed ultrasonic sensor is non-contact distance measurement module, which is also compatible with electronic brick. It’s designed for easy modular project usage with industrial performance.


  • Detecting range: 3cm-4m
  • Best in 30 degree angle
  • Electronic brick compatible interface
  • 5VDC power supply
  • Breadboard friendly
  • Dual transducer
  • Arduino library ready


Supply voltage 5V
Global Current Consumption 15 mA
Ultrasonic Frequency 40k Hz
Maximal Range 400 cm
Minimal Range 3 cm
Resolution 1 cm
Trigger Pulse Width 10 μs
Outline Dimension 43x20x15 mm

Getting started

A short ultrasonic pulse is transmitted at the time 0, reflected by an object. The sensor receives this signal and converts it to an electric signal. The next pulse can be transmitted when the echo is faded away. This time period is called cycle period. The recommend cycle period should be no less than 50ms. If a 10μs width trigger pulse is sent to the signal pin, the Ultrasonic module will output eight 40kHz ultrasonic signal and detect the echo back. The measured distance is proportional to the echo pulse width and can be calculated by the formula above. If no obstacle is detected, the output pin will give a 38ms high level signal.

Play with Arduino


  • Step 1. Prepare the below stuffs:
Seeeduino V4.2Base ShieldUltra_Sonic_range_measurement_module
enter image description hereenter image description hereenter image description here
Get One NowGet One NowGet One Now
  • Step 2. Connect Ultra_Sonic_range_measurement_module to port D2 of Grove-Base Shield.
  • Step 3. Plug Grove - Base Shield into Seeeduino.
  • Step 4. Connect Seeeduino to PC via a USB cable.
If we don't have Grove Base Shield, We also can directly connect this module to Seeeduino as below.
Not ConenctedWhite


Step 1. Copy the code and flash it into the controller board. Step 2. Upload the code and open monitor window.

#include "Arduino.h"
class Ultrasonic
Ultrasonic(int pin);
void DistanceMeasure(void);
double microsecondsToCentimeters(void);
double microsecondsToInches(void);
int this_pin;//pin number of Arduino that is connected with SIG pin of Ultrasonic Ranger.
long duration;// the Pulse time received;
Ultrasonic::Ultrasonic(int pin)
this_pin = pin;
/*Begin the detection and get the pulse back signal*/
void Ultrasonic::DistanceMeasure(void)
pinMode(this_pin, OUTPUT);
digitalWrite(this_pin, LOW);
digitalWrite(this_pin, HIGH);
duration = pulseIn(this_pin,HIGH);
/*The measured distance from the range 0 to 400 Centimeters*/
double Ultrasonic::microsecondsToCentimeters(void)
return duration/29.0/2.0;
/*The measured distance from the range 0 to 157 Inches*/
double Ultrasonic::microsecondsToInches(void)
return duration/74.0/2.0;

Ultrasonic ultrasonic(2);
void setup()
void loop()
double RangeInInches;
double RangeInCentimeters;
ultrasonic.DistanceMeasure();// get the current signal time;
RangeInInches = ultrasonic.microsecondsToInches();//convert the time to inches;
RangeInCentimeters = ultrasonic.microsecondsToCentimeters();//convert the time to centimeters
Serial.println("The distance to obstacles in front is: ");
Serial.print(RangeInInches);//0~157 inches
Serial.println(" inch");
Serial.println(" cm");

Tech Support & Product Discussion

if you have any technical issue. submit the issue into our forum. Thank you for choosing our products! We are here to provide you with different support to ensure that your experience with our products is as smooth as possible. We offer several communication channels to cater to different preferences and needs.

Loading Comments...