Skip to main content

Arduino · guide

TFmini Plus with Arduino CAN / UART: integration and configuration guide

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

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

Applicable setup

TFmini Plus · Arduino · CAN, UART

Technical instructions and steps

Develop Routine of TFmini Plus in Arduino

In this routine, Arduino Uno and DUE board is taken as example, which is mainly for the user to quickly familiarize himself with our LiDAR and thus save the time of product development.

For detailed introduction and tutorial of Aruidno, please refer to following website: Arduino Official website: www.arduino.cc

Step 1: Hardware Connection

Figure 1 Schematic Diagram of Connection between TFmini Plus and UNO Board

Figure 2 Schematic Diagram of Connection between TFmini Plus and DUE Board

Step 2: Program Compilation

At least two serial ports of Arduino are required for the achievement of this routine function with one for

receiving data of LiDAR and another for outputting data to PC for display. The user may either copy

following code and paste it in Arduino IDE program editing window or directly open relevant enclosed file.

/*

This program is the interpretation routine of standard output protocol of TFmini-Plus 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
float temprature;
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
temprature = uart[6] + uart[7] *256;//calculate chip temprature
temprature = temprature/8 - 256;
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("\t Chip Temprature = ");
Serial.print(temprature);
Serial.println(" celcius degree"); //output chip temperature of Lidar
}
}
}
}
}

Step 3: Viewing of Data

Download the code into Arduino board and open the serial monitor for the serial port. Then real-time

distance values as well as the corresponding strength and chip temperature can be viewed, as shown in

figure 3.

Figure 3 Lidar data displayed on the monitor software by serial port

In addition, data curve can be viewed in the curve plotter for serial port, however, the above coding regarding the print of serial port should be modified:

//Serial.print("dist = ");
Serial.print(dist); //output measure distance value of LiDAR
Serial.print(" ");
//Serial.print("strength = ");
Serial.print(strength); //output signal strength value
//Serial.print("\t Chip Temprature = ");
Serial.print(" ");
Serial.print(temprature);
Serial.println();
//Serial.println(" celcius degree");
Re-compile and download to Arduino board and open the curve plotter. Then two curves including the dist and
strength can be viewed, as shown in Figure 4.

Figure 4 Plots of TFmini Plus data on Curve plotter for Serial Port

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.