The Maker-Friendly Laser Distance Sensor
Get ready to experience a whole new level of performance with the incredible TinyLiDAR module! This cutting-edge device is built to exceed your expectations, boasting outstanding 60Hz sample rates and reading speeds that surpass 900Hz. With meticulous factory calibration, you can be sure that you are getting unrivaled accuracy and reliability every time. The key to this module's success lies in its utilization of the latest time-of-flight ranging technology based on the powerful VL53L0X sensor. Thanks to the incorporation of STMicroelectronics' official PAL API, you can easily control this advanced device and achieve precise measurements for a wide range of applications using simple I2C commands. Whether you're a researcher or just someone who's looking for the best range-finding solution on the market, TinyLiDAR is the module for you!
Our crowdfunding campaign called tinyLiDAR was amazing. We got help from many smart and kind people from all over the world. We couldn’t have done it without them. We want to say a big thanks to everyone who helped make tinyLiDAR happen! Working together, we showed that we can make really cool things happen. Let’s keep encouraging and inspiring each other to be creative and make progress. With tinyLiDAR’s success, we are even more motivated to keep going and see what we can do next. There are so many possibilities, and we’re excited to see what the future holds.
Easy to UseOur product boasts a higher performance due to the custom firmware integrated in the 32bit ultra-low power microcontroller. This firmware simplifies the complex low-level VL53L0X control tasks, making it possible for you to obtain the desired results using simple ASCII commands transmitted over an I2C bus from any microcontroller. Our product is designed with ease of use in mind, and we strive to provide a seamless experience for our users by simplifying the technical aspects. We prioritize user convenience while offering high-quality performance.
Specs & Features
Frequently Asked Questions
The VL53L0X Time-of-Flight distance sensor is a very small SMD device that requires surface mount soldering before it can be used. If you look closer at it, you can see there are two small holes in the package to let light through. In order to prevent soldering chemicals from damaging the sensor, a piece of yellow polyimide (high temperature) tape is used on top of this sensor. After reflow SMD soldering, the tape should be removed before using the sensor. In fact, the high soldering temperatures also change parameters inside the sensor and this results in a random offset distance that must be calibrated out before using it for any accurate distance sensing application.
That is what we do here before shipping the tinyLiDAR modules.
The offset calibration is done per ST spec in a shielded chamber at exactly 100mm distance in “high accuracy” mode. We then test it for other items and normally leave it in the “tinyLiDAR” mode which is not as accurate but has a very quick response. This “factory” offset calibration we perform is stored in non-volatile storage on board tinyLiDAR‘s 32bit micro and is therefore accessible whenever you type “reset” on the GUI Terminal. If desired, you can perform your own custom offset calibration but the factory version is never erased so you can get back to it with “reset” whenever you like.
We have sucessfully used tinyLiDAR over 5m (over 16 feet) away from the Arduino UNO using only a low cost USB2.0 cable as shown in the connection diagram below.
tinyLiDAR was powered from the Arduino +3.3v supply.
I2C speed was set at the default 100Kbps rate and the default 4.7K pull-up resistors (provided on the tinyLiDAR board) were used.
tinyLiDAR is controlled by any standard I2C host that can support clock stretching. The Raspberry Pi has a standard I2C port (with built-in 1.8K pullups) but has had problems with clock stretching every since it was first introduced. The problem is due to the Broadcom chipset hardware and there are limited software solutions to remedy this. You can simply use the pigpio software solution as we did. It supports clock stretching and works very well with tinyLiDAR. Download the Terminal Gui (now at r0.95) for Raspberry Pi 3 at the bottom of this page after installing the pigpio library
Also please read our instructable for this.
If you ever get in a situation where your tinyLiDAR is not responding. It could be due to mainly two reasons. First it could be set to a unknown I2C address and second, it could be in a strange locked/glitched state. Normally, tinyLiDAR will recover on its own if it is glitched if the watchdog timer is enabled. However, if the watchdog timer is disabled, then you can easily recover by either power cycling the board by removing all wires to the board or by carefully pressing the reset button with your finger nail. The button is very small and doesn’t need a lot of force to activate but you will know when it presses down by feeling the button cap move a very short distance.
The next step to resetting tinyLiDAR is with the “RESET” command. This is easily accomplished using the tinyLiDAR Terminal GUI Sketch (see downloads section at the bottom of this webpage. Just load up this sketch in an Arduino UNO and type “RESET” without the quotation marks. It will take a couple of seconds to clear out any user settings and set the tinyLiDAR back to the factory default I2C address of 0x10. You can then press ENTER a few times and check that the tinyLiDAR board is responding again by blinking the blue LED every time it takes a measurement.
It is known as a “Grove” 4pin universal connector. There are many cables made by Seeed Studio that you can use for this connector. Examples are DigiKey #1597-1092-ND (MPN 110990210) for the Grove to 4pin male header types which can be inserted into your breadboard and 1597-1079-ND (MPN 110990031) for the Grove to Grove 4pin “un-buckled” type cables. We prefer the un-buckled type (instead of buckled) as they require less force when removing them from small boards.
I2C Connections for tinyLiDAR on a Raspberry Pi