Sensors » Proximity Sensors and Range Finders » Pololu Digital Distance Sensors »
Pololu Digital Distance Sensor 5cm
This small lidar-based distance sensor detects the presence of objects within 5 cm (2″). It has a single digital output that drives low when an object is being detected; otherwise, it is high. It works over an input voltage range of 3.0 V to 5.5 V, and the 0.1″ pin spacing makes it easy to use with standard solderless breadboards and 0.1″ perfboards.
Alternatives available with variations in these parameter(s): maximum range Select variant…
Description | Specs (10) | Pictures (12) | Resources (3) | FAQs (0) | On the blog (1) | Distributors (47) |
---|
Overview
This compact sensor is a great way to quickly detect the presence of nearby objects. As long as the sensor is enabled, it takes continuous distance measurements and uses a single digital output to indicate if it detects an object within its detection range. The output is driven low when the sensor detects an object; otherwise, the output is high.
A camera with no IR filter shows the infrared light emitted by a Pololu Digital Distance Sensor. |
---|
Please note that this sensor will only tell you if there is an object within the detection range along its line of sight, not how far away it is. As shown in the diagram above, there is hysteresis at the maximum range threshold to help ensure a clean transition as objects cross the threshold. The sensor can detect objects to within about 5 mm of the sensor face.
Unlike simpler optical sensors that use the intensity of reflected light to detect objects, this sensor uses a short-range lidar module to precisely measure how long it takes for emitted pulses of infrared, eye-safe laser light to reach the nearest object and be reflected back. This allows the sensor performance to be largely independent of object reflectivity and ambient lighting conditions (though the range can be reduced for extremely low-reflectance objects).
Some example applications include:
- break-beam sensor or photogate alternative
- non-contact bumper or obstacle detector for a robot
- non-contact interface element for activating a device or process
- a counter or timer of objects as they pass by
Incorrect distance readings on some units produced before 30 January 2024: A small percentage of units with the original irs16a firmware could report distance readings offset by approximately 25 cm when operating in modes with a maximum range of 20 cm or more. All units shipped from Pololu on or after 30 January 2024 have a newer firmware version with this issue corrected. For more information, see the firmware history section at the bottom of this page.
Specifications
- Operating voltage: 3.0 V to 5.5 V
- Current consumption: 30 mA (typical) when enabled, 0.4 mA when disabled
- Maximum range: 5 cm (2″)
- Minimum range: < 5 mm
- Minimum update rate: 145 Hz (6.9 ms period)
- Field of view (FOV): 15° typical; can vary with object reflectance and ambient conditions
- Output type: digital signal (low when detecting an object, high otherwise)
- Dimensions: 0.85″ × 0.35″ × 0.122″ (21.6 × 8.9 × 3.1 mm); see the dimension diagram (191k pdf) for more information
- Weight: 0.014 oz (0.4 g)
Using the sensor
Three connections are necessary to use this module: VIN, GND, and OUT. These pins are accessible through a row of 0.1″-pitch through holes, which work with standard 0.1″ (2.54 mm) male headers and 0.1″ female headers (available separately). The VIN pin should be connected to a 3 V to 5.5 V source, and GND should be connected to 0 volts. The OUT pin drives low (0 V) when an object is being detected and it drives high (to the VIN level) when an object is not being detected. It is weakly pulled high when the sensor is disabled or waiting for its first reading to complete after power-up. A red LED on the back side of the board also lights whenever an object is detected.
The board has an optional ENABLE pin that can be driven low to put it into a low-power state that consumes approximately 0.4 mA. This pin can be accessed through a via or its neighboring surface-mount pad on the back side labeled “EN” on the silkscreen. The ENABLE pin is pulled up to VIN, enabling the sensor by default.
The board has one mounting hole intended for use with #2 or M2 screws.
Jumper settings (irs16a)
The board features four surface-mount configuration jumpers that determine its operation mode. Different versions of the Pololu Digital Distance Sensors ship with the appropriate jumpers pre-populated with 0 Ω resistors. These resistors can be desoldered from the populated spots or solder bridges can be added across the unpopulated spots to convert one sensor version into another. This sensor can be converted into any other irs16a version as listed in the following table. (For more information about how the different output types work, see the product pages for representative versions.)
Item # | Description | Maximum range* |
Hysteresis | Resolution | Minimum update rate |
Jumper settings (4321) |
---|---|---|---|---|---|---|
#4050 | Digital output, 5cm | 5 cm | 16 mm | - | 145 Hz | 0000 |
Digital output, 5cm (high sensitivity) | 5 cm | 16 mm | - | 65 Hz | 0001 | |
#4052 | Digital output, 10cm | 10 cm | 20 mm | - | 115 Hz | 0010 |
Digital output, 10cm (high sensitivity) | 10 cm | 20 mm | - | 30 Hz | 0011 | |
#4054 | Digital output, 15cm | 15 cm | 24 mm | - | 95 Hz | 0100 |
Digital output, 15cm (high sensitivity) | 15 cm | 24 mm | - | 15 Hz | 0101 | |
Digital output, 20cm | 20 cm | 28 mm | - | 70 Hz | 0110 | |
Digital output, 20cm (high sensitivity) | 20 cm | 28 mm | - | 15 Hz | 0111 | |
Digital output, 30cm | 30 cm | 36 mm | - | 37 Hz | 1000 | |
Digital output, 30cm (high sensitivity) | 30 cm | 36 mm | - | 15 Hz | 1001 | |
Digital output, any detect | ~50 cm | - | - | 50 Hz | 1010 | |
Digital output, any detect | ~100 cm | - | - | 15 Hz | 1011 | |
Pulse width output, 15cm max | ~15 cm | - | 1 mm (= 4 µs) |
145 Hz (190 Hz max) |
1100 | |
Pulse width output, 35cm max | ~35 cm | - | 2 mm (= 4 µs) |
95 Hz (165 Hz max) |
1101 | |
#4064 | Pulse width output, 50cm max | ~50 cm | - | 3 mm (= 4 µs) |
50 Hz (110 Hz max) |
1110 |
Pulse width output, 100cm max | ~100 cm | - | 3 mm (= 4 µs) |
15 Hz (110 Hz max) |
1111 |
* Effective range depends on object reflectivity and ambient lighting conditions.
Item numbers in this table indicate versions that we offer for sale as standard products, but we can manufacture the other versions on demand (or even make sensors with custom firmware for you). If you are interested in customization, please contact us.
The Pololu Digital Distance Sensor family
We have several different versions of Pololu Digital Distance Sensors, all with the same dimensions and pinout:
Digital output (does not provide distance measurement) |
||||||
Sensor | Maximum range1 |
Minimum range |
Minimum update rate |
Jumper settings (4321) |
PCB ID | Price |
---|---|---|---|---|---|---|
#4050: Digital output, 5cm | 5 cm | < 5 mm | 145 Hz | 0000 | irs16a | $12.95 |
#4052: Digital output, 10cm | 10 cm | < 5 mm | 115 Hz | 0010 | ||
#4054: Digital output, 15cm | 15 cm | < 5 mm | 95 Hz | 0100 | ||
#4066: Digital output, 25cm | 25 cm | < 1 mm | 100 Hz | 0000 | irs17a | $17.95 |
#4067: Digital output, 50cm | 50 cm | < 1 mm | 100 Hz | 0001 | ||
#4069: Digital output, 100cm | 100 cm | < 1 mm | 100 Hz | 0011 | ||
#4077: Digital output, 200cm | 200 cm | < 1 mm | 30 Hz | 1011 |
Pulse width output (provides distance measurement) |
|||||||
Sensor | Maximum range1 |
Minimum range2 |
Resolution | Minimum update rate |
Jumper settings (4321) |
PCB ID | Price |
---|---|---|---|---|---|---|---|
#4064: Pulse width output, 50cm max | ~50 cm | 1 cm | 3 mm | 50 Hz | 1110 | irs16a | $12.95 |
#4071: Pulse width output, 130cm max | ~130 cm | 4 cm | 1 mm | 100 Hz | 0101 | irs17a | $17.95 |
#4079: Pulse width output, 300cm max | ~300 cm | 4 cm | 2 mm | 30 Hz | 1101 |
1 Effective range depends on object reflectivity and ambient lighting conditions.
2 Objects closer than the minimum distance can still be detected, but the measured distance might be inaccurate. The minimum detection range is < 5 mm for irs16a boards and < 1 mm for irs17a boards.
These are the output graphs for the digital output versions that just report if an object is in their detection range:
The output graph is a bit different for the versions that use a pulse width to encode the measured distance. The output for these versions is similar to hobby servo control signals and is shown below as a function of time:
Comparison to Sharp Digital Distance Sensors
These Pololu Digital Distance Sensors have the same form factor and pinout as our carrier boards for the Sharp/Socle GP2Y0D8x digital distance sensors. They are available in the same 5 cm, 10 cm, and 15 cm ranges, in addition to longer ranges of up to several meters. This means they can be used as replacements for these older modules, which are based on sensors from Sharp/Socle that are no longer in production, and the longer-range versions can serve as upgrades that provide enhanced detection and measurement capabilities. The sensors on these newer units are much thinner than the Sharp modules, so the zero-range point is approximately 7 mm closer to the PCB, and the beam angle of the newer units is wider. The pictures below show side-by-side comparisons of the two:
Firmware version history
The Pololu Digital Distance Sensors (irs16a and irs17a) use a small integrated microcontroller to operate the distance sensor, drive the OUT pin, and control the on-board LED. There have been several different versions of the firmware for this microcontroller:
- Version 2: This is the initial-release version of the irs16a firmware.
- Version 3: This is the initial-release version of the irs17a firmware; it is not used on the irs16a boards.
- Version 4: This update for the irs16a boards fixes a bug in the version 2 firmware that could cause some units to erroneously have a 25 cm offset in their readings (i.e. to incorrectly measure distances as approximately 25 cm farther than reality). Only a small percentage of boards with version 2 firmware were susceptible, and the problem only occurred when those susceptible units were operating in modes with a maximum sensing range of 20 cm or more. All irs16a units shipped from Pololu on or after January 30th, 2024 have firmware version 4. This firmware is not used on the irs17a boards.
If you have an affected irs16a unit with firmware version 2 and you would like a replacement, please contact us.
Determining the firmware version
When you apply power to the board or make it reset by any other means, the microcontroller transmits a signal with the firmware version on the via marked in the picture below.
The via that outputs firmware version information at startup on a Pololu Digital Distance Sensor. |
---|
To see the signal, you can probe the via with an oscilloscope. Configure it to trigger on a rising edge with a threshold around 1 V to 2 V and to capture data for at least 1 ms after the trigger. Then apply power to the distance sensor.
Each bit in the signal is transmitted as a high pulse. A 1 µs pulse indicates a 0, while a 3 µs pulse indicates a 1. The first two bits are 1 and 0, and they are followed by an 8-bit firmware version number, most significant bit first. The signal from a board running firmware version 4 looks like this:
Version signal from a Pololu Digital Distance Sensor running firmware version 4 (100 in binary). |
---|
People often buy this product together with:
Pololu Digital Distance Sensor 10cm |
Pololu Digital Distance Sensor 15cm |
Pololu Distance Sensor with Pulse Width Output, 50cm Max |