LIDAR-Lite v3 Hookup Guide a learn.sparkfun.com tutorial
Available online at: http://sfe.io/t671
Introduction
The LIDAR-Lite Series - the v3 and v3HP - are compact optical distance measurement sensors, which are ideal for drones and unmanned vehicles.
LIDAR is a combination of the words “light” and “RADAR.” Or, if you’d like, a backronym for “LIght Detection and Ranging” or “Laser Imaging, Detection, and Ranging.” At it’s core, LIDAR works by shooting a laser at an object and then measuring the time it takes for that light to return to the sensor. With this, the distance to the object can be measured with fairly good accuracy.
By sweeping or spinning a LIDAR unit, systems can create detailed distance maps. Survey equipment, satellites, and aircraft can be equipped with complex LIDAR systems to create topographic maps of terrain and buildings. Luckily, Garmin™ has created a user-friendly LIDAR unit for your robotics and DIY needs!
Note that these use a Class 1 Laser, if you are concerned about your safety (in short: A Class 1 laser is safe under all conditions of normal use).
What is the difference between the LIDAR-Lite v3 and the LIDAR-Lite v3HP? Let’s ask Shawn Hymel!
Required Materials
To follow along with this project tutorial, you will need the following materials:
Suggested Reading
If you aren’t familiar with the following concepts, we recommend checking out these tutorials before continuing.
Installing an Arduino Library
How to Use a Breadboard
Installing Arduino IDE
Hardware Overview
Functionally, the LIDAR-Lite v3 and the LIDAR-Lite v3HP are quite similar. The primary differences are listed here:
Specs | LIDAR-Lite v3 | LIDAR-Lite v3HP |
---|---|---|
Update Rate | 500 Hz | > 1kHz |
Current Consumption (idle) | 105 mA | 65 mA |
Current Consumption (acquisition) | 130 mA | 85 mA |
Casing | None | IPX7 rated casing |
Case
The LIDAR-Lite v3 has two tubes on the front that contain a transmitter (laser) and receiver. You’ll want to face these toward your target.
On the side, you'll find an electrical port that connects to the included 6-wire cable. Plug in the wire harness to the port to break out the pins.

On the back, you’ll find 4 mounting holes that are designed to accept #6 or M3.5 screws or bolts.
Wires
The LIDAR-Lite v3 has 6 wires that can be used to communicate with the sensor.
NOTE:This is looking at the back of the unit
Color | Pin | Description |
---|---|---|
Red | 5V | Power (5V) |
Orange | PWR EN | Power enable (internal pullup) |
Yellow | MODE | Mode control (for PWM mode) |
Green | SCL | I2C clock |
Blue | SDA | I2C data |
Black | GND | Ground |
Power
Both the LIDAR-Lite v3 as well as the LIDAR-Lite v3HP units require between 4.5V to 5.5V of DC power to operate (nominally, 5V). The LIDAR-LITE v3 can draw up to 135 mA of current during continuous operation (105 mA at idle). Contrarily, the v3HP unit draws up to 85 mA of current during continuous operation (65 mA at idle). To maintain a level voltage, Garmin recommends putting a 680 μF capacitor between power (5V) and ground (GND) as close to the LIDAR unit as possible.
Hardware Assembly
Follow the diagram below to connect the LIDAR unit to a RedBoard or other Arduino-compatible board. The LIDAR-Lite v3 can communicate over I2C as well as use a pulse-width modulated (PWM) signal to denote measured distances. For this guide, we will show how to use I2C to communicate with the LIDAR unit.
Click on the image to enlarge it
Software
Garmin maintains an Arduino library to make working with the LIDAR-Lite very easy. Visit the GitHub repository, or click the button below to download the library.
Download the Garmin LIDAR-Lite v3 Arduino library
Note: This example assumes you are using the latest version of the Arduino IDE on your desktop. If this is your first time using Arduino, please review our tutorial on installing the Arduino IDE. If you have not previously installed an Arduino library, please check out our installation guide.
Open a new Arduino sketch, and copy in the following code:
language:c
/**
* LIDARLite I2C Example
* Author: Garmin
* Modified by: Shawn Hymel (SparkFun Electronics)
* Date: June 29, 2017
*
* Read distance from LIDAR-Lite v3 over I2C
*
* See the Operation Manual for wiring diagrams and more information:
* http://static.garmin.com/pumac/LIDAR_Lite_v3_Operation_Manual_and_Technical_Specifications.pdf
*/
#include <Wire.h>
#include <LIDARLite.h>
// Globals
LIDARLite lidarLite;
int cal_cnt = 0;
void setup()
{
Serial.begin(9600); // Initialize serial connection to display distance readings
lidarLite.begin(0, true); // Set configuration to default and I2C to 400 kHz
lidarLite.configure(0); // Change this number to try out alternate configurations
}
void loop()
{
int dist;
// At the beginning of every 100 readings,
// take a measurement with receiver bias correction
if ( cal_cnt == 0 ) {
dist = lidarLite.distance(); // With bias correction
} else {
dist = lidarLite.distance(false); // Without bias correction
}
// Increment reading counter
cal_cnt++;
cal_cnt = cal_cnt % 100;
// Display distance
Serial.print(dist);
Serial.println(" cm");
delay(10);
}
Upload the program, and open a Serial Monitor. You should see distance measurements (in cm) being printed.
Resources and Going Further
Now that you’ve successfully got your LIDAR up and running, it’s time to incorporate it into your own project!
For more information, check out the resources below:
- LIDAR-Lite v3: Operation & Technical Manual
- LIDAR-Lite v3HP: Operation & Technical Manual
- GitHub Repository: LIDAR-Lite V3 Arduino Library
- Garmin’s LIDAR-Lite v3 Product Page
- Garmin’s LIDAR-Lite v3HP Product Page
- SparkFun Product Demo
Want to know more about how LIDAR works? Check out this great youtube video:
Need some inspiration for your next project? Check out some of these related tutorials:
Large Digit Driver Hookup Guide
ReconBot with the Tessel 2
Building an Autonomous Vehicle: The Batmobile
learn.sparkfun.com | CC BY-SA 3.0 | SparkFun Electronics | Niwot, Colorado