tinyLiDAR 2018-04-16T10:22:34+00:00

Introducing tinyLiDAR

The Maker-Friendly Laser Sensor


We were simply amazed by the level of interest from so many brilliant people around the world. From makers to photonics research scientists – it’s all thanks to their generosity that we have tinyLiDAR available today. Thank you!

Highest Performance

With 60Hz sample rates, reading speeds in excess of 900Hz and factory pre-calibration for every unit; tinyLiDAR is the highest performing VL53L0X based time-of-flight ranging module available.

Easy to Use

The high performance is thanks to our custom firmware residing in the on-board 32bit ultra-low power microcontroller. It abstracts out the complex low level VL53L0X control tasks so you can get your results using only simple I2C commands from any micro.

  • Advanced Technology: Eye safe VCSEL Class 1 Laser
  • 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.5g.
  • 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.

All from our Initial Concept Sketch

Buy Now
tinyLiDAR First Steps
tinyLiDAR Radar
tinyLiDAR Follow-Me
tinyLiDAR Follow-Me 2
tinyLiDAR From Concept to Creation
tinyLiDAR Auto Assign I2C Addresses
Build This TinyLiDAR Follow-Me Demo
Build This Follow-Me 2 Sketch
Build This TinyLiDAR Arduino Radar
Sketch to Measure and Calculate I2C Pull-ups
TinyLiDAR on a Pi?
Can I Use tinyLiDAR in… Scratch?
tinyLiDAR for IoT
tinyLiDAR in your Garage!
How to update the tinyLiDAR firmware 2018-04-17T15:23:34+00:00
As each tinyLiDAR is locked and therefore cannot be updated, we offer a free reflashing service to all of our customers including the supporters from our Indiegogo campaign. See additional terms on the service description page here.
What does tinyLiDAR pre-calibration mean? 2018-01-30T14:57:09+00:00
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.
How far can I extend the I2C? 2018-01-24T16:04:26+00:00
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.
How can I run tinyLiDAR on a Raspberry Pi? 2018-01-30T14:55:40+00:00
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 could update the kernel as shown here in section 6. or 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.
Why is my tinyLiDAR is not responding? 2018-01-30T14:53:44+00:00
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.
What is the connector on the back of tinyLiDAR? 2018-04-03T20:01:28+00:00
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.

  External Link to get DSSCircuits I2C Master Library on GitHub

  External Link to the demo Scratch project: tinyLiDAR_catch_me

All Downloads