Skip to main content

Arduino · configuration

Benewake LiDAR with Arduino CAN / UART / TTL / UART · Arduino Pro Mini: integration and configuration guide

Setup, connection, configuration and code guidance for Benewake LiDAR with Arduino. The original files are available in Materials and downloads. Documented interface: CAN, UART / TTL, UART.

Interfaces
CAN, UART / TTL, UART
Hardware targets
Arduino Pro Mini, Arduino
Organized
2026-08-31
Source note
Source material date: 2026-08-31.

Applicable setup

Benewake LiDAR · Arduino · CAN, UART / TTL, UART · Arduino Pro Mini

Technical instructions and steps

How to connect TFmini on Arduino Pro Mini Version:v1.0

Updated date:2018.8.13

Mincy Zhao

1. Introduction

This is about how to connect Arduino Pro Mini board to a TFmini via TTL UART.

2. Materials

 TFmini × 1;

 Arduino Pro Mini × 1;

 USB to TTL converter × 1;

 DuPont wire;

 PC(Windows);

 Arduino IDE;

3. Connection

4. Arduino IDE

 If all are connected, there is no serial port number displayed in the computer. Please check if the driver of FTDI is installed successfully.

5. Coding

 Free test code can be found in the TFmini product mannual or gibhub(https://github.com/TFmini/TFmini- Arduino/tree/master/TFminiArduinoSoftwareSerial).

/*

This program is the interpretation routine of standard output protocol of TFmini product on Arduino.

For details, refer to Product Specifications.

For Arduino boards with only one serial port like UNO board, the function of software visual serial port is to be used.

*/
#include <SoftwareSerial.h>          //header file of software serial port

SoftwareSerial Serial1(2,3); //define software serial port name as Serial1 and define pin2 as RX and pin3 as TX

/* For Arduinoboards with multiple serial ports like DUEboard, interpret above two pieces of code and directly use
Serial1 serial port*/
int dist; //actual distance measurements of LiDAR
int strength; //signal strength of LiDAR
int check;      //save check value
int i;
int uart[9]; //save data measured by LiDAR
const int HEADER=0x59;            //frame header of data package
void setup() {
Serial.begin(9600); //set bit rate of serial port connecting Arduino with computer
Serial1.begin(115200);       //set bit rate of serial port connecting LiDAR with Arduino
}
void loop() {
if (Serial1.available()) {   //check if serial port has data input
if(Serial1.read() == HEADER) {    //assess data package frame header 0x59
uart[0]=HEADER;
if (Serial1.read() == HEADER) { //assess data package frame header 0x59
uart[1] = HEADER;
for (i = 2; i < 9; i++) { //save data in array
uart[i] = Serial1.read();
}
check = uart[0] + uart[1] + uart[2] + uart[3] + uart[4] + uart[5] + uart[6] + uart[7];
if (uart[8] == (check & 0xff)){ //verify the received data as per protocol
dist = uart[2] + uart[3] * 256;        //calculate distance value
strength = uart[4] + uart[5] * 256; //calculate signal strength value
Serial.print("dist = ");
Serial.print(dist); //output measure distance value of LiDAR
Serial.print('\t');
Serial.print("strength = ");
Serial.print(strength); //output signal strength value
Serial.print('\n');
}
}
}
}
}

6. Verify

 Click the verify button and wait. If the compilation is correct, it will show “Done compling”.

7. Upload

 Click the upload button and wait. Press the “Reset” button once on the Arduino Pro mini board immediately when the word "Uploading…" appears.

8. Viewing

 Use Serial Monitor to view the data.

Use and verification

The technical content follows the readable source material. Confirm the product hardware revision, flight-stack or software version, and field safety boundary against the original material and current platform documentation.

Materials and downloads

Product inquiry

Talk to a product specialist

Tell us what you need and our team will get back to you.

Product inquiry

Inquiry sent

Your inquiry has been received. We will be in touch soon.