TF-NOVA User Manual
TF-NOVA User Manual, including the parameters, figures and instructions in the original document.
TF-NOVA User Manual

Preface
This user manual contains the introduction, use and maintenance of TF-NOVA LiDAR. Please read this manual carefully before formal use, and strictly follow the steps described in the manual during use to avoid product damage, property loss, personal injury or/and violation of product warranty terms.
If you encounter problems that cannot be solved during use, please contact Benewake staff for assistance.
Contact Details
Official website: en.benewake.com Contact number: 400-880-9610 For technical questions, please contact: support@benewake.com For sales inquiries or to request brochure, please contact: bw@benewake.com
Headquarter Address
Benewake (Beijing) Co., Ltd.
3rd Floor, Haiguo Jiaye Sci-Tech Park, Haidian District, Beijing, China
Copyright Notice
This User Manual is copyright © of Benewake. Please do not modify, delete or translate the description of this manual contents without the official written permission from Benewake.
Disclaimer
The TF-NOVA product is constantly being improved, and its specifications and parameters will undergo iterative changes. Please refer to the official website for latest version.
5.4.13 Enable/disable on-off mode ID_ON_OFF_MODE=0x3B .............................. 14 Appendix IIC REGISTER TABLE ................................................................................................. 15
1 Laser Safety Information

TheLiDARcontainsnm; Class 1 according to IEC 60825-1:2014, EN 60825-1:2014+A11:2021.
CAUTION!
Use of controls, adjustments or performance of procedures other than those specified herein may result in hazardous radiation exposure.
2 Installation and Maintenance
CAUTION!
This laser product is classified as Class 1 during operational procedures. When the ranging feature is activated, the laser emitter of the LiDAR module may emit laser radiation, therefore, the LiDAR should NOT be aimed at humans and animals to ensure safety.
This product is designed and calibrated for installation with exposed lenses. If a protective window needs to be added in front of the lens, it is necessary to ensure the use of materials with high transmission at 905nm wavelength and anti- reflective coating.
Avoid the presence of smoke and fog in the detection field.
Avoid condensation.
Avoid direct exposure to moisture and water.
Do not use rough fabric or dirty towels or aggressive products to clean the laser lenses.
Do not use a supply voltage higher than the maximum required in the specifications to power the product.
Clean the laser lenses with compressed air. When needed, wipe the laser lenses only with a soft, clean microfiber cloth.
Make sure the sensor is securely mounted to prevent false readings or damage.
Only trained and qualified personnel may install, setup and repair the LiDAR.
3 Product Overview
This chapter mainly introduces the measuring principle, technical specifications, structural description, equipment coordinates and field of view distribution of the TF-NOVA LiDAR.
3.1 Measuring Principle
TF-NOVA is a typical Pulse Time of Flight (PToF) sensor. TF-NOVA emits a narrow pulse laser, which is collimated by the transmitting lens, which enters the receiving system after being reflected by the measured target and is focused on the detector by the receiving lens. The time between the transmitted signal and the received signal is calculated through the circuit amplification and filtering, and the distance between TF-NOVA and the measured target can be calculated through the speed of light.

Figure. 1: Pulsed time of flight
3.2 Technical Specifications
Table. 1: Specification
| Measurement Performance | |
|---|---|
| Detection range① | ≥14m @90%reflectivity, 0Klux ≥13m @10% reflectivity, 0Klux ≥7m @90% reflectivity, 100Klux ≥4m @10% reflectivity, 100Klux |
| Blind zone② | ≤ 0.1m |
| Accuracy② | ± 5cm @ 0.1-4m |
| Repeatability② | < 1cm (1 sigma) @ 0.1-4m |
| Distance resolution | 1cm |
| Default frame rate | Default 100Hz, 1-900Hz customizable |
| Optical Parameters | |
| Light source | VCSEL |
| Central wavelength | 905nm |
| FoV of laser emission③ | Typ. 14°×1° |
| Eye safety | Class 1 Eye-safe[EN60825] |
| Mechanical/Electrical | |
| Average power consumption④ | < 500mW |
| peak current when starting④ | < 850mA |
| Start-up time | < 1s |
| Power supply | DC 5±5%V |
| Operating temperature | -25℃ ~ +70℃ |
| Storage temperature | -30℃ ~ +80℃ |
| Dimensions | TYP. 26.5x 21.05 x 12.0mm³ |
| Weight | <5g |
| Connector | 1.25mm-5P |
| Protection Level | N.A. |
| Front window protection level | IP65 |
| Cable length | 10cm |
| Communication Protocol | |
| Communication Interface | UART, IIC, I/O |
| Baud rate | Default 115200 |
| Data bit | 8 |
|---|---|
| Stop bit | 1 |
| Parity | None |
| Dimensions (Unit: mm) | |
![]() |
|

NOTICE ① The measurement range is measured when all light spots are placed on the target board, at 25 ℃.
② The parameter is measured at 25 ℃, 0Klux, when all the light spots are placed on the target board with a reflectivity of 10%.
③This angle is the design divergence angle of the laser spot. The actual field of view angle that can trigger distance measurement depends on specific conditions such as the measured object and background. Please confirm according to the specific application.
④Measured at 25 ℃, changes in conditions may cause variations in the measurement results.
3.3 Structural Appearance
The overall appearance of the LiDAR is as shown in the figure below:

Figure. 2: TF-NOVA Appearance
3.4 FoV
The FoV (field of view) is the angle covered by the LiDAR sensor. The vertical FoV is 14° and the horizontal FoV is 1°.

4 Device Installation
This section introduces the mechanical installation and connection information of TF-NOVA LiDAR.
4.1 Mechanical Installation
As shown in the following figure. TF-NOVA has 2 installation positioning holes available for use.

Fe
4.2 Connector
The connector is 1.25mm-5P, appearance and definition are shown as below:

Table. 2: Interface connector pin definitions
| Pin number | Definition |
|---|---|
| PIN 1 | VCC |
| PIN 2 | GND |
| PIN 3 | TXD(3.3V)/SCL |
| PIN 4 | RXD(3.3V)/SDA |
| PIN 5 | IO |
5 Communication Protocol and Data Format
5.1 Serial Communication
To connect two devices for TTL communication, the TXD of the transmitter should be connected to the RXD of the receiver, and the TXD of the receiver should be connected to the RXD of the transmitter.
The LiDAR does not include a power switch. When power is supplied to the LiDAR, data will begin to be automatically transmitted.
Table. 3: Characteristics of UART Interface
| Character | Value | Configurability |
|---|---|---|
| Baud rate | 115200 | Configurable |
| Data bit | 8 | Non-configurable |
| Stop bit | 1 | Non-configurable |
| Parity | None | Non-configurable |

NOTE Baud rate can be set to 9600, 14400, 19200, 38400, 56000, 57600, 115200, 128000, 230400, 256000, 460800, 500000, 512000, 600000, 750000, and 921600. If other value were set, TF-NOVA will set it to 115200.
Serial port output format: 9-byte/cm (Default)
| Byte | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|---|---|
| Description | 0x59 | 0x59 | Dist_L | Dist_H | Peak_L | Peak_H | Temp | Confidence | Check_sum |
Dist: cm Peak: Signal strength Temp: Chip Temperature ℃ Confidence: Confidence level 0-100
9-byte/cm
| Byte | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|---|---|
| Description | 0x59 | 0x59 | Dist_L | Dist_H | Peak_L | Peak_H | Temp | Confidence | Check_sum |
Dist :mm Peak: Signal strength
Temp: Chip Temperature ℃ Confidence: Confidence level 0-100
5.2 IIC Communication
TF-NOVA supports up to 400kps clock speed as slave machine and its default address is 0x10. For more information about IIC register table refer to "Appendix IIC REGISTER TABLE".
Note: In this document, the address of IIC slave device is a 7-bit value with value range [0x08, 0x77] ([08, 119] in decimal). For the first byte after IIC releases a start signal, the 7-bit address should be shifted leftward for one bit (i.e. multiplied with 2), and then filled with the read-write sign on the lowest bit. For TF-NOVA, the default address of slave device is 0x10, the address for write operations is 0x20, and the address for read operations is 0x21.
Write register timing:


egiste ddr
Start Slave Addr W Ack Register Addr Ack Stop
Start Slave Addr R Ack Data1 Ack … DataN Nack Stop Note that in the read register sequence, the host can directly generate the second Start signal without generating the first Stop signal. The last Nack can also be an Ack signal.
After a write operation on the IIC register, it takes TF-NOVA some time to process.
If users need to read the value from the register for validation purposes, we recommend waiting for 100ms after the write operation, prior to the next read operation.
5.3 On/off Mode
On/off mode is designed from those users who only need to detect the existence of an object. TF-NOVA can start this mode using “Enable/disable on-off mode ID_ON_OFF_MODE=0x3B” and then shows result through pin 5. Figure 5 below
shows how the mode works when a high level is set to represent an object is detected.

Zone value: If an object is detected closer than Dist, then Pin 5 outputs high-level, but only if an object is detected farther than Dist + Zone, then Pin 5 outputs low- level. When zone is set to 0, pin 5 may output up and down cause by fluctuation of the measuring when the real distance happens to be the same as Dist. That is why a proper zone value is needed to help avoid this situation by having a hysteretic interval.
Delay is also supported to avoid inaccurate jumping output. Pin 5 changes its output depends on the Dist value condition and the time it lasts. Delay1 (ms) and Delay2 (ms) determine how long that approaching changes and leaving changes should wait after Dist value is already over the line.
Note: Since the Dist value is set to 0 under factory setting when no object is detected and Amp is too low, then pin 6 may have false output in the on/off mode.
5.4 Serial communication commands
Some parameters in TF-NOVA can be customized by customers, such as data frame format, frame rate, etc., which can be changed by sending specific instructions. After successful configuration, all parameters will be saved in Flash and do not need to be reconfigured when powered on again.
When configuring parameters, please follow specific formats and rules to avoid sending commends not introduced below.

Description
Fixed0x5A

The length of bytes from the head byte to check- sum
Indicates how to parse the payload data

Byte 3~Byte Data segment, parsed based on ID, Little Endian N-2 Opt: Non 1 read/ 1. Write in
The lower 8 bytes of the sum from Head to Byte N-1 sum Payload
5.4.1 Version information ID_GET_VERSION=0x01
Downward:
| Byte | 0 | 1 | 2 | Len-1 |
|---|---|---|---|---|
| Description | Head(0x5A) | Len | ID | Check_sum |
Upward:
| Byte | 0 | 1 | 2 | 3-5 | Len-1 |
|---|---|---|---|---|---|
| Description | Head(0x5A) | Len | ID | Version | Check_sum |
Version: For instance, if the third, fourth, and fifth bytes are 112, 50, 9, then the version is 9.50.112.
Sample: Command [5A 04 01 5F]
5.4.2 System software restore ID_SOFT_RESET=0x02
Downward:
| Byte | 0 | 1 | 2 | Len-1 |
|---|---|---|---|---|
| Description | Head(0x5A) | Len | ID | Check_sum |
Upward:
| Byte | 0 | 1 | 2 | 3 | Len-1 |
|---|---|---|---|---|---|
| Description | Head(0x5A) | Len | ID | Status | Check_sum |
Status: 0 (success), otherwise (fail)
Note: Any change without “save current setting” instruction will not be saved and will restore to original setting.
Sample: Command [5A 04 02 60]
5.4.3 Output frequency ID_SAMPLE_FREQ=0x03
Downward:
| Byte | 0 | 1 | 2 | 3~4 | Len-1 |
|---|---|---|---|---|---|
| Description | Head(0x5A) | Len | ID | FPS | Check_sum |
| Default | 100 |
Freq: The actual operating frequency achieved by the LiDAR.
Upward:
| Byte | 0 | 1 | 2 | 3~4 | Len-1 |
|---|---|---|---|---|---|
| Description | Head(0x5A) | Len | ID | FPS | Check_sum |
Freq: The actual operating frequency achieved by the LiDAR.
Sample: 10Hz [5A 06 03 0A 00 6D]
5.4.4 Output format setting ID_OUTPUT_FORMAT=0x05
Downward:
| Byte | 0 | 1 | 2 | 3 | Len-1 |
|---|---|---|---|---|---|
| Description | Head(0x5A) | Len | ID | Format | Check_sum |
| Default | 0x01 |
Format: 0x01(9byte cm),0x06(9byte mm) Upward:
| Byte | 0 | 1 | 2 | 3 | Len-1 |
|---|---|---|---|---|---|
| Description | Head(0x5A) | Len | ID | Format | Check_sum |
Format: current output format setting Sample: 9byte mm [5A 05 05 06 6A]
5.4.5 Baud rate setting ID_BAUD_RATE=0x06
Downward:
| Byte | 0 | 1 | 2 | 3~6 | Len-1 |
|---|---|---|---|---|---|
| Description | Head(0x5A) | Len | ID | Baudrate | Check_sum |
Default 115200 Baudrate: current baud rate.
Note: Configurable baud rate range [9600 921600], save to take effect after power off.
Upward:
| Byte | 0 | 1 | 2 | 3~6 | 7 | Len-1 |
|---|---|---|---|---|---|---|
| Description | Head(0x5A) | Len | ID | Baudrate | Status 0: success !0: fail |
Check_sum |
Sample: 9600 [5A 08 06 80 25 00 00 0D] 19200 [5A 08 06 00 4B 00 00 B3] 38400 [5A 08 06 00 96 00 00 FE] 57600 [5A 08 06 00 E1 00 00 49] 115200 [5A 08 06 00 C2 01 00 2B] 230400 [5A 08 06 00 84 03 00 EF] 460800 [5A 08 06 00 08 07 00 77] 921600 [5A 08 06 00 10 0E 00 86]
5.4.6 Enable/disable output ID_OUTPUT_EN=0x07
Downward:
| Byte | 0 | 1 | 2 | 3 | Len-1 |
|---|---|---|---|---|---|
| Description | Head(0x5A) | Len | ID | Enable | Check_sum |
| Default | 1 |
Enable: 0 (disable),1 (enable).
Upward:
| Byte | 0 | 1 | 2 | 3 | Len-1 |
|---|---|---|---|---|---|
| Description | Head(0x5A) | Len | ID | Enable | Check_sum |
Sample: Enable output [5A 05 07 01 67] Disable output [5A 05 07 00 66]
5.4.7 Enable/disable checksum comparison
ID_FRAME_CHECKSUM_EN=0x08
Downward:
| Byte | 0 | 1 | 2 | 3 | Len-1 |
|---|---|---|---|---|---|
| Description | Head(0x5A) | Len | ID | Enable | Check_sum |
| Default | 0 |
Enable: 0 (disable), 1 (enable) Note: Even if the Downward data checksum comparison is disabled, the valid checksum is still included in the upward data frame.
Upward:
| Byte | 0 | 1 | 2 | 3 | Len-1 |
|---|---|---|---|---|---|
| Description | Head(0x5A) | Len | ID | Enable | Check_sum |
Sample: Enable checksum comparison [5A 05 08 01 68] Disable checksum comparison [5A 05 08 00 67]
5.4.8 Communication interface settings
ID_IF_PROTOCOL=0x0A
Downward:
| Byte | 0 | 1 | 2 | 3 | 4 | Len-1 |
|---|---|---|---|---|---|---|
| Description | Head(0x5A) | Len | ID | Opt | If_protocol | Check_sum |
| Default | !1 |
Opt: !1:read, 1:write If_protocol: !1:UART, 1:IIC Upward:
| Byte | 0 | 1 | 2 | 3 | 4 | Len-1 |
|---|---|---|---|---|---|---|
| Description | Head(0x5A) | Len | ID | Status 0: success !0:fail |
If_protocol | Check_sum |
Sample: Set to IIC [5A 06 0A 01 01 6C] Note: Effective after saving
5.4.9 IIC slave machine address configuration
ID_IIC_SLAVE_ADDR=0x0B
Downward:
| Byte | 0 | 1 | 2 | 3 | 4 | Len-1 |
|---|---|---|---|---|---|---|
| Description | Head(0x5A) | Len | ID | Opt | IIC_slave_addr | Check_sum |
| Default | 0x10 |
Opt: !1: read, 1:write IIC_slave_addr: range[0x08, 0x77]; Upward:
| Byte | 0 | 1 | 2 | 3 | 4 | Len-1 | |
|---|---|---|---|---|---|---|---|
| Description | Head(0x5A) | Len | ID | Status 0:success !0:fail |
IIC_slave_addr | Check_sum | |
Sample: Set to 0x20 [5A 05 0B 01 20 8B]
5.4.10 Restore default setting
ID_RESTORE_DEFAULT=0x10
Downward:
| Byte | 0 | 1 | 2 | Len-1 |
|---|---|---|---|---|
| Description | Head(0x5A) | Len | ID | Check_sum |
Upward:
| Byte | 0 | 1 | 2 | 3 | Len-1 |
|---|---|---|---|---|---|
| Description | Head(0x5A) | Len | ID | Status | Check_sum |
Status: 0(success), Non 0(fail).
Sample: Command [5A 04 10 6E]
5.4.11 Save current setting ID_SAVE_SETTINGS=0x11
Downward:
| Byte | 0 | 1 | 2 | Len-1![]() |
|---|---|---|---|---|
| Description | Head(0x5A) | Len | ID | Check_sum |
Upward: Byte 0 1 2 3 Len-1
Description Head(0x5A) Len ID Status Check_sum Status: 0 (success), Non 0 (fail).
Sample: Command [5A 04 11 6F]
5.4.12 Distance limit setting range ID_DIST_RANGE=0x3A
Downward:
| Byte | 0 | 1 | 2 | 3 | 4-5 | 6-7 | Len-1 |
|---|---|---|---|---|---|---|---|
| Description | Head(0x5A) | Len | ID | Opt | Min_dist | Max_dist | Check_sum |
| Default | 0 | 65535 |
Opt: !1:read, 1:write Min_dist: minimum distance output in mm Max_dist: maximum distance output in mm Upward:
| Byte | 0 | 1 | 2 | 3 | 4-5 | 6-7 | Len-1 |
|---|---|---|---|---|---|---|---|
| Description | Head(0x5A) | Len | ID | Status | Dist_min | Dist_max | Check_sum |
Status: 0 (success), Non 0 (fail).
Sample: Output limit when out of range with the minimum set to be 200mm and the maximum set to be 5000mm [5A 09 3A 01 C8 00 88 13 01]
5.4.13 Enable/disable on-off mode
ID_ON_OFF_MODE=0x3B
Downward:
| Byte | 0 | 1 | 2 | 3 | 44 | 5-6 | 7-8 | 9-10 | 11-12 | Len-1 |
|---|---|---|---|---|---|---|---|---|---|---|
| Description | Head(0x5A) | Len | ID | Opt | Mode | Dist | Zone | Delay1 | Delay2 | Check_sum |
| Default | 0 | 0 | 0 | 0 | 0 |
Opt:!1:read, 1:write Mode: 0 (Normal output), 1 (On-off mode with high level output when closer) , 2 (On-off mode with low level output when closer) Dist: critical dist value (the closer one) in centimeters.
Zone: Zone size in centimeters Delay1: Delay time 1 in millisecond. Pin 6 switch level only if the distance detected is less than Dist and the situation last for Delay1 long.
Delay2: Delay time 2 in millisecond. Pin 6 switch level only if the distance detected is more than Dist + Zone and the situation last for Delay2 long.
Upward:
| Byte | 0 | 1 | 2 | 3 | 44 | 5-6 | 7-8 | 9-10 | 11-12 | Len-1 |
|---|---|---|---|---|---|---|---|---|---|---|
| Description | Head(0x5A) | Len | ID | Status | Mode | Dist | Zone | Delay1 | Delay2 | Check_sum |
Sample: Enable on-off mode with high level output when closer, and set Dist = 200cm, Zone=10cm, Delay1 = Delay2 = 1000ms: [5A 0E 3B 01 01 C8 00 0A 00 E8 03 E8 03 4D]
CAUTION Do not send the command that is not in the list above.
Appendix IIC REGISTER TABLE
| Addres s |
R/ W |
Name | Initial Valu e |
Description |
|---|---|---|---|---|
| 0x00 | R | DIST_LOW | -- | cm |
| 0x01 | R | DIST_HIGH | -- | |
| 0x02 | R | PEAK_LOW | -- | |
| 0x03 | R | PEAK _HIGH | -- | |
| 0x04 | R | TEMP_LOW | -- | Unit: 0.01 Celsius |
| 0x05 | R | TEMP_HIGH | -- | |
| 0x06 | R | TICK_LOW | -- | Timestamp |
| 0x07 | R | TICK_HIGH | -- | |
| 0x08 | R | ERROR_LOW | -- | Error code |
| 0x09 | R | ERROR_HIGH | -- | |
| 0x0A | R | VERSION_REVISION | -- | |
| 0x0B | R | VERSION_MINOR | -- | |
| 0x0C | R | VERSION_MAJOR | -- | |
| 0x0D | W/ R |
IIC_SLAVE_IO_SPEED | 0x00 | 0(2MHz),1(10MHz),2(50MH z) |
| 0x10- 0x1D |
R | SN | -- | Production code in 14 byte ASCII code (0x10 is the first byte) |
| 0x1E | W/ R |
IF_PROTOCOL | 0x00 | 0x00: UART 0x01: IIC Save and restart to take effect |
| 0x20 | W | SAVE | -- | Write 0x01 to save current setting |
| 0x21 | W | SHUTDOWN/REBOOT | -- | Write 0x02 to reboot |
| 0x22 | W/ R |
SLAVE_ADDR | 0x10 | range: [0x08, 0x77] |
| 0x25 | W/ R |
ENABLE | 0x01 | 0x00: Turn off LiDAR 0x01: Turn on LiDAR |
| 0x26 | W/ R |
FPS_LOW | 0x64 | Frame rate |
| 0x27 | W/ R |
FPS_HIGH | 0x00 | |
|---|---|---|---|---|
| 0x29 | W | RESTORE_FACTORY_DEFAULT S |
-- | Write 0x01 to restore factory default settings |
| 0x2E | W/ R |
MIN_DIST_LOW | 0x00 | Minimum dist in mm, but not working on DUMMY_DIST |
| 0x2F | W/ R |
MIN_DIST_HIGH | 0x00 | |
| 0x30 | W/ R |
MAX_DIST_LOW | 0xFF | Maximum dist in mm, but not working on DUMMY_DIST |
| 0x31 | W/ R |
MAX_DIST_HIGH | 0xFF | |
| 0x32 | W/ R |
ON_OFF_MODE_DIST_LOW | 0x00 | ON_OFF mode related registers, please refer to: ON_OFF mode. Note that the distance unit in the IIC register is mm. Note: Minimum firmware version V1.3.19 |
| 0x33 | W/ R |
ON_OFF_MODE_DIST_HIGH | 0x00 | |
| 0x34 | W/ R |
ON_OFF_MODE_ZONE_LOW | 0x00 | |
| 0x35 | W/ R |
ON_OFF_MODE_ZONE_HIGH | 0x00 | |
| 0x36 | W/ R |
ON_OFF_MODE_DELAY1_LOW | 0x00 | |
| 0x37 | W/ R |
ON_OFF_MODE_DELAY1_HIG H |
0x00 | |
| 0x38 | W/ R |
ON_OFF_MODE_DELAY2_LO W |
0x00 | |
| 0x39 | W/ R |
ON_OFF_MODE_DELAY2_HIG H |
0x00 |
| 0x3A | W/ R |
ON_OFF_MODE_EN | 0x00 | |
|---|---|---|---|---|
| 0x3C- 0x3F |
R | SIGNATURE | -- | ‘S’ ’P’ ‘A’ ‘D’ |


