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!

Inspiring Generosity

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 Use

Our 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

  • Advanced Technology: EYE SAFE VCSEL Class 1 Laser diode
  • Ultra Fast: up to 60Hz sample rates and up to approx 930Hz I2C reading rates even with an Arduino UNO.
  • Accurate: to 3% with mm precision. Every unit is pre-calibrated by us before shipping.
  • Ultra Low Power: <3uA typ Quiescent Current in ULP SS mode at 2.8v supply.
  • Long Range: up to 2 meters.
  • Small Size: 21 x 25 x 8.3 mm.
  • Light Weight: approx 2.5grams
  • Easy to Parallel using I2C bus.
  • RoHS compliant, Lead-Free assembly.
  • Integrated level shifter for native 3v to 5v operation.
  • Remotely re-configurable I2C board address and operation modes.
  • On board non-volatile storage for I2C address, calibration and settings.
  • Several connector options including GROVE, SMD or standard 0.1 inch (2.54mm) header pins.
  • Blue activity LED to show measurement activity.
  • Hardware WatchDog Timer to automatically reboot tinyLiDAR if no I2C bus activity is seen in approx 3 seconds.
  • Ultrasonic Emulation mode to allow reads using any code meant for the common HC-SR04 or PING))) sensors.
  • Autonomous State Tracking, Object Detection and Real Time modes for ultra-low power IoT measurements.


Frequently Asked Questions

As each tinyLiDAR is locked and therefore cannot be updated, we offer a reflashing service to all of our customers including the supporters from our Indiegogo campaign. See additional terms on the service description page here.

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

External Links


I2C Master Library by DSSCircuits

Demo Project in Scratch


User How To Article

Using tinyLiDAR in CircuitPython on the Gemma M0 board


Getting Started with TinyLIDAR Time-of-Flight Sensor on Arduino and Raspberry Pi

Blogger Review

A tinyLiDAR Sensor for Your Arduino

Download Files

From our AWS Fileserver