TOF Laser Range Sensor

From Waveshare Wiki
Jump to: navigation, search
TOF Laser Range Sensor

VL53L1X Distance Sensor




Primary Attribute
Category: Modules, Sensors, Light
{{{userDefinedInfo}}}: {{{userdefinedvalue}}}
Brand: Waveshare
International: Website
Chinese: 网站
Onboard Interfaces
Related Products


TOF Laser Range Sensor is one laser ranging sensor based on TOF (time of flight). The measuring scope is 1cm~5m, and the range resolution is 1mm; The data update frequency is 10Hz; Adjustable FOV with the maximum field angle is 27°; Supports UART and CAN communication; Support the active and query output data; Support the multi-sensor cascade ranging; Support I/O complementary output;



  • Based on TOF (Time of Flight) laser ranging technology
  • Support UART, CAN, I/O communication( UART, CAN, I/O shared interface)
  • Measuring scope 1cm~5m
  • Adjustable field angle (FOV), 15~27°
  • Range resolution1mm
  • Typical ranging precision ±1.5cm
  • Active and query output
  • Support multi-module cascade
  • One-click upgrade firmware
  • 3.7~5.2V powers supply with anti-reverse protection
  • Power consumption is about 290mW
  • 940nm laser in compliance with Class1 Standard stipulated in IEC 60825-1:2014Version 3


Typical Ranging Scope
Short distance:0.012~2.16m
Medium distance:0.012~3.60m
Long distance: 0.01~5.00m
Typical Ranging Precision Short distance: Precision±1.0cm, Standard deviation<0.3cm
Medium distance: Precision±1.0cm, Standard deviation<1.5cm
Long distance: Precision±1.5cm,Standard deviation<[email protected][0.01,3]m scope,
Standard deviation<[email protected](3,5]m scope
Measurement resolution 1mm
Wave Length 940nm (Comply with Class 1 Standard in IEC 60825-1:2014 Version 3)
Field Angle (FOV) 15°~27° (Multiple gears adjustable)
Communication Interface
UART (Two interfaces can be simultaneously as UART interface, electrical level of TTL signal line is 3.3V)
CAN (Two interfaces can be simultaneously as CAN interface)
Communication baud rate UART:115200~3000000bps (Default 921600bps)
CAN:100000~3000000bps (Default 100000bps)
Cascade Quantity UART interface supports cascading up to 8 , CAN interface supports cascading up to 7
Voltage of Power Supply 3.7~5.2V
Power Consumption Under UART active output and long distance measuring mode, voltage of power supply is

Copyright © Nooploop Ltd. 2019. All Rights Reserved. 7 5.0V and current is 58mA.

Product Weight 2.7g
Dimension 35.58 × 12 × 8.05mm (Length*Width*Height)


  • Unmanned aerial vehicle height setting,ceiling detection
  • Robot obstacle avoidance
  • Measuring and detecting
  • Intelligent gesture control
  • 1-dimension gesture identification

Technology Overview

TOF is one absolute distance detecting technology, that is the sensor emits the near-infrared light to be debugged, and it will reflect after encountering the object. The sensor calculates the distance of subject being photographed through calculating the time difference or phase difference for the emission and reflection of light so as to produce the depth information. Compared with the binocular plan and 3D structural light plan, TOF has the advantages of long working distance, wide application scenarios and high precision of long distance etc. Therefore, it is always applied to the personnel proximity detection, robot obstacle avoidance, camera automatic focusing etc. The near-infrared light coming from the sun light in the out-door environment will generate the impact to the measuring effect of module.


Function description


  • ID is one variable set up for distinguishing the different sensors, which is used to identify each sensor during the cascade connection.

【Interface & Baudrate】

TOFSense supports two communication modes with configurations are UART and CAN.

  • UARTThe communication baud rate setting range is as follows:
UART Baud Rate Note
115200,230400,460800,921600,1000000,1200000,2000000,3000000 Baud Rate is 921600 in default
  • Under CAN output mode, the setting range of Baud rate shall be shown as:
CAN Baud Rate Note
100000,250000,500000,1000000,2000000,3000000 Baud Rate is 1000000 in default

Interface data output mode setting:

  • Active Output:
    • The active output mode can only be used with a single module. In this mode, the module actively outputs measurement information at a frequency of 10 Hz.
    • The active output mode configuration is as shown below:
      TOF-UART-Active-Output-setting.jpg   TOF-CAN-Active-Output-setting.jpg
  • Query Output:
    • The query output mode can be used in single module and cascade connection. In this mode, the controller sends a query command containing the module ID to the desired query module, and the module can output one frame of measurement information.
    • Query output mode configuration as shown below:
      TOF-UART-Query-Output-setting.jpg   TOF-CAN-Query-Output-setting.jpg

【Distance Status】

The module can output the current distance status, the user can perform the data processing with the combination of distance status,The meaning of distance status is as follows:

Value Note
0 Measuring distance is valid
1 Standard deviation is more than 15mm
2 Signal strength is lower than 1Mcps
4 Phase exceeds boundary
5 HW or VCSEL has fault
7 Phase is not matched
8 Internal algorithm underflow
14 Measuring distance is invalid

【Signal Strength】

Indicate the strength of current return signal, and the larger this value indicates the stronger the return signal.


  • The field angle FOV determines the vision scope of TOFSense. The module can change the field angle at X direction fov.x, field angle at Y direction fov.y, offset at X direction fov.x_offset and offset at Y direction fov.y_offset. The setting scope for field angle at X, Y directions is 15°~27°. The setting scope of offset for field angle at X, Y directions is -6°~ 6°.
  • Module initial field of view parameters:fov.x=27°、fov.y=27°、fov.x_offset=0°、fov.y_offset=0°.
    By setting the X-direction field of view angle of 25°, Y-direction field of view angle of 15°, X-direction offset 1°, Y-direction offset -1°.
    The area of interest of the module can be changed as shown in the figure below:

Note: A smaller FOV can improve the detection performance of the module in a small space and small objects, but the change of the FOV field of view will also affect the module’s farthest ranging distance.The smaller the field of view, the smaller the farthest ranging distance.

【Indicator Light】

  • The indicator includes two flashing status in total, including the fast flash once per 0.1S and slow flash once per 1S. LED status and meaning are as follows:
Status Note
Fast Flash (interval 0.1S) Module starting stage
Fast Flash (interval 0.1S) Module firmware update
Slow Flash (interval 1S) Module normal working

【Function Key】

  • It is used for the parameter setup under CAN communication mode. Press the power-on key until the indicator has the slow flash, and then compulsively enters UART configuration mode. This operation will not change the module setting parameter. If changing the module setup, it is required to rewrite the parameter.


  • Multiple sensors are configured with different IDs and connected in series, and the ranging information of all sensors can be read through one communication interface. The connection diagram is as follows:

Note: Under cascade ranging, it is suitable for UART query, CAN query, and CAN active output.。

Protocol analysis

  • The protocol is composed of Frame Header, Function Mark, Data, and Sum Check.
    • The Frame Header and Function Mark are fixed values;
    • Data is the content of the transmitted data;
    • Sum Check is the lowest byte after the addition of Frame Header, Function Mark, and Data (that is, the addition of all the previous bytes).
  • Agreement composition:
Frame Header + Function Mark + Data + Sum Check

Note: Protocol packets follow the principle of little-endian mode, that is, the low byte is first and the high byte is last.

  • TOFSense _UART_Frame:
    • Data Sources: Connect the module to the host computer and configure the UART as active output mode.
    • Raw data:
57 00 ff 00 9e 8f 00 00 ad 08 00 00 03 00 ff 3a
    • Analysis table:
Data Type Length (Bytes) Hex Result
Frame Header uint8 1 57 0x57
Function Mark uint8 1 00 0x00
reserved uint8 1 ff *
id uint8 1 00 0
System_time uint32 4 9e 8f 00 00 36766ms
dis*1000 uint24 3 ad 08 00 2.221m
dis_status uint8 1 00 0
signal_strength uint16 2 03 00 3
reserved * 1 ... *
Sum Check uint8 1 3a 0x3a
  • TOFSense _UART_Read_Frame:
    • Data Sources: Connect the module to the host computer, configure it as UART query output mode, id is 0, send the following data through the host computer to achieve data query.
    • Raw data:
57 10 FF FF 00 FF FF 63
    • Analysis table:
Data Type Length (Bytes) Hex Result
Frame Header uint8 1 57 0x57
Function Mark uint8 1 00 0x00
reserved uint8 2 ff *
id uint8 1 00 0
reserved uint8 2 ff *
Sum Check uint8 1 3a 0x3a
  • TOFSense _CAN_Frame:
    • Data Sources: The module is configured as CAN active output mode, id is 1, connect to CAN receiving device.
    • Raw data:
AD 08 00 00 03 00 FF FF
    • Analysis table:
Field name Part Level Type Length(bits) Hex Result
Start Of Frame SOF * 1 * *
Arbitration Field ID * 11 0x200+id 0x201
Arbitration Field RTR * 1 * *
Control Field IDE * 1 * *
Control Field r0 * 1 * *
Control Field DLC * 4 * *
Data Field dis*1000 uint24 24 ad 08 00 2.221m
Data Field dis_status uint8 8 00 0
Data Field signal_strength uint16 16 03 00 3
Data Field reserved * 16 * *
CRC Field CRC * 15 * *
CRC Field CRC_delimiter * 1 * *
ACK Field ACK Slot * 1 * *
ACK Field ACK_delimiter * 1 * *
End Of Frame EOF * 7 * *
  • TOFSense _CAN_Read_Frame:
    • Data source: The module is configured in CAN query output mode, id is 1, connected to CAN query device, and id_s is configured as 2。
    • Date Sources:
    • Analysis table:
Field name Part Level Type Length(bits) Hex Result
Start Of Frame SOF * 1 * *
Arbitration Field ID * 11 0x400+id_s 0x402
Arbitration Field RTR * 1 * *
Control Field IDE * 1 * *
Control Field r0 * 1 * *
Control Field DLC * 4 * *
Data Field reserved uint24 * * *
Data Field id uint8 8 01 id = 1
Data Field reserved uint16 * * *
CRC Field CRC * 15 * *
CRC Field CRC_delimiter * 1 * *
ACK Field ACK Slot * 1 * *
ACK Field ACK_delimiter * 1 * *
End Of Frame EOF * 7 * *
  • TOFSense _Setting_Frame:
    • Analysis table:



NAssistant is the accessory debug software for TOFSense with the main functions are: Debug configuration, Status display, Function application, Firmware upgrade:

  • Debug configuration: Used for configuring the relevant parameters of nodes, e.g. ID, working

mode, Baud rate etc.

  • Function application: Used for the application development, e.g. data import and export, motion

trail storage, historical trial replay etc.

  • Firmware upgrade: Used for carrying out the wired firmware upgrade for product.
  • Hardware connection reference(you also need a USB TO TTL module):


  • Software setup video:

(Right click to control movie)



  • 900px-TOF-Laser-Range-Sensor-details-size.jpg

Working with Raspberry Pi

Hardware connection


Software settings

Module baud rate setting:921600
TOF Laser Range Sensor raspberry1.jpg

Working with Jetson Nano

Hardware connection

TOF Laser Range Sensor jetson connect.jpg

Software settings

Module baud rate setting:115200

TOF Laser Range Sensor jetson Demo.png

Working with Arduino

Hardware connection


Software settings

Module baud rate setting:115200



Demo code


Can it be used under outdoor (high light) conditions?
The module is affected by natural light. Generally speaking, the stronger the natural light, the greater the impact, which manifests as the shorter the ranging distance, the worse the accuracy, and the larger the fluctuation. Under strong light conditions (such as sunlight), it is generally recommended to use in close-range detection scenes.

Is there interference in the work of multiple modules?
No interference. When multiple modules work at the same time, even if the infrared rays between each other cross or hit the same position, it will not affect the actual measurement.

Why is there no data output in TOFSense?
Each module is shipped after strict testing. If there is no data, please check whether the mode, wiring, baud rate and other configurations are correct; for CAN output mode, please check whether it contains a terminal resistance (usually 120Ω).

What should I pay attention to when installing?
When installing, avoid obstruction in the FOV angle. In addition, attention should be paid to the height of the ground, and similar reflective surfaces such as ground occlusion in the FOV should be avoided.

Is the module's UART and CAN the same interface?
The UART interface of the module and the CAN interface share the same physical interface, and the corresponding line sequence can be changed for different communication modes.

How to configure the module for UART or CAN communication mode?
In the UART communication mode, the module can be configured to the CAN communication mode through the host computer; in the CAN communication mode, you need to press and hold the button and then power on the module. When the indicator light flashes slowly, release the button. When the module is forced to enter the UART mode, and then write the UART configuration through the host computer.

The shortest distance, the longest distance or the average distance when the module outputs?
A single test volume of the module will get multiple sets of distance values, and the internal processor will process the largest distance.

Does the module support output point cloud information?
The module can only output one distance at a time, and does not support the output of point cloud information temporarily.

If reports an error "The MSVC***.dll file cannot be found...". It may be that the computer lacks the corresponding runtime components of Microsoft.?
Visual C ++ Redistributable for Visual Studio 2017, if the above installation fails or shows success, but opening the NAssistant program still prompts that the dll file is missing.Note, please select the patch for the computer system.

The software report an error "Because Qt***.dll cannot be found..."?
Please check whether the installation file is silently intercepted by security software , please exit the security software and reinstall it. Also run with administrator rights.


If you require technical support, please go to the Support page and open a tickets.