ST Microelectronics recently introduced an inexpensive single chip time of flight sensor. The VL53L0X can be interfaced to a Jetson Development Kit (either TX1 or TK1) over I2C. Looky here:
Background
The last couple of years have seen a major push towards solid state LIDAR. As autonomous vehicles, robotics and mobile technologies become more prevalent, LIDAR sensing is working towards becoming less expensive and more robust. There have been several announcements for solid state LIDARs recently, ST Microelectronics has begun shipping a new generation of Time-of-Flight laser-ranging module housed in the smallest package on the market today, the VL53L0X.
Here’s a quick view from the ST Microelectronics web site:
The VL53L0X is a new generation Time-of-Flight (ToF) laser-ranging module housed in the smallest package on the market today, providing accurate distance measurement whatever the target reflectances unlike conventional technologies. It can measure absolute distances up to 2m, setting a new benchmark in ranging performance levels, opening the door to various new applications.
The VL53L0X integrates a leading-edge SPAD array (Single Photon Avalanche Diodes) and embeds ST’s second generation FlightSenseTM patented technology.
The VL53L0X’s 940nm VCSEL emitter (Vertical Cavity Surface-Emitting Laser), is totally invisible to the human eye, coupled with internal physical infrared filters, it enables longer ranging distance, higher immunity to ambient light and better robustness to cover-glass optical cross-talk.
The package is 4.4 x 2.4 x 1.0 mm.
VL53L0X Carrier Board
Pololu Robotics & Electronics sells a carrier/breakout board for the VL53L0X for ~ $14 USD at the time of this writing. Money quote from the Pololu website:
The VL53L0X is a great IC, but its small, leadless, LGA package makes it difficult for the typical student or hobbyist to use. It also operates at a recommended voltage of 2.8 V, which can make interfacing difficult for microcontrollers operating at 3.3 V or 5 V. Our breakout board addresses these issues, making it easier to get started using the sensor, while keeping the overall size as small as possible.
The carrier board includes a low-dropout linear voltage regulator that provides the 2.8 V required by the VL53L0X, which allows the sensor to be powered from a 2.6 V to 5.5 V supply. The regulator output is available on the VDD pin and can supply almost 150 mA to external devices. The breakout board also includes a circuit that shifts the I²C clock and data lines to the same logic voltage level as the supplied VIN, making it simple to interface the board with 3.3 V or 5 V systems, and the board’s 0.1″ pin spacing makes it easy to use with standard solderless breadboards and 0.1″ perfboards. The board ships fully populated with its SMD components, including the VL53L0X, as shown in the product picture.
For a similar but shorter-range sensor (up to 20 cm, or 60 cm with reduced resolution) that includes ambient light sensing functionality, see our VL6180X carrier.
In addition, Pololu wrote a library for the VL53L0X to interface with an Arduino. The JetsonHacks library JHVL53L0X is based on the Pololu library.
Wiring
Make sure that the Jetson is turned off before wiring.
NVIDIA Jetson TX1 Development Kit
The software library defaults to using I2C bus 0. Wire the Jetson TX1 J21 header to the VL53LV0X carrier board as follows:
Jetson TX1
J21 Pin 1 (3.3V) → VL53L0X Vin
J21 Pin 6 (GND) → VL53L0X GND
J21 Pin 3 (SDA) → VL53L0X SDA
J21 Pin 5 (SCL) → VL53L0X SCL
NVIDIA Jetson TK1 Development Kit
The software library defaults to using I2C bus 0. Wire the Jetson TK1 J3A1 header to the VL53LV0X carrier board as follows:
Jetson TK1
J3A1 Pin 10 (3.3V) → VL53L0X Vin
J3A1 Pin 2 (GND) → VL53L0X GND
J3A1 Pin 21 (SCL) → VL53L0X SCL
J3A1 Pin 23 (SDA) → VL53L0X SDA
Software Setup and Installation
Note: The demonstration was filmed after flashing the Jetson with JetPack 2.3.
Once the board is wired up, turn the Jetson on.
Install the JHVL53L0X library:
$ git clone https://github.com/jetsonhacks/JHVL53L0X.git
$ cd JHVL53L0X
$ ./installPre.sh
The install script installs the i2c tools and development libraries, and enables I2C to be accessed from user space.
After installation, in a Terminal execute:
$ sudo i2cdetect -y -r 0
ubuntu@tegra-ubuntu:~$ sudo i2cdetect -y -r 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: — — — — — — — — — — — — —
10: — — — — — — — — — — — — — — — —
20: — — — — — — — — — 29 — — — — — —
30: — — — — — — — — — — — — — — — —
40: — — — — — — — — — — — — — — — —
50: — — — — — — — — — — — — — — — —
60: — — — — — — — — — — — — — — — —
70: — — — — — — — —
You should see an entry of 0x29, which is the default address of the VL53L0X.
Example Demos
The directory ‘example’ contains two examples. The first example prints the distance in millimeters of an object from the sensor to the console.
$ cd example
$ make
$ ./example
The second example plots the distance of an object from the sensor. The second example assumes that Qt Creator is installed. In a file browser, open JHVL53L0X->example->LidarPlotExample. The project file is named LidarPlotExample.pro. Compile and run the example.
Equipment and Supplies
Here’s some of the equipment used in the video:
- A soldering iron, in the video a Hakko FX888D-23BY Digital Soldering Station was used. The tip of the soldering iron used is the one included with the product.
- Solder, in the video 60/40 lead free solder was used.
Note: For the lead free solder, the iron was set at 750 degrees fahrenheit.
Note: A fan or fume extractor (such as the Hakko FA400-04 Bench Top ESD-Safe Smoke Absorber) should be used to avoid breathing soldering fumes. - Hookup wire (In the video Hook up Wire – 22 Gauge was used).
- Breadboard (In the video, a Solderless BreadBoard, 400 tie-points, 4 power rails was used)
New to electronics? This is a pretty easy project, looky here: Electronics Tutorials for some introductory material on how to start becoming a master.
Conclusion
There are many uses for an inexpensive 1D LIDAR. Availability of an inexpensive 1D LIDAR chip for close range sensing marks an important stepping stone to bringing autonomous robots into more wide spread use. By placing the VL53L0X on a hobbyist accessible carrier board, Pololu is enabling an intriguing number of possibilities for new projects.
The post Single Chip LIDAR – VL53L0X – NVIDIA Jetson Dev Kits appeared first on JetsonHacks.