Skip to main content

ArduPilot · configuration

TFmini-S with ArduPilot I²C / UART / TTL / UART · Arduino: integration and configuration guide

Setup, connection, configuration and code guidance for TFmini-S with ArduPilot. The original files are available in Materials and downloads. Documented interface: I²C, UART / TTL, UART.

Interfaces
I²C, UART / TTL, UART
Hardware targets
Arduino
Organized
2026-08-31
Source note
Source material date: 2026-08-31.

Applicable setup

TFmini-S · ArduPilot · I²C, UART / TTL, UART · Arduino

Original Chinese technical instructions

北醒(北京)光子科技有限公司

如何使用 6 台 TFmini-S 实现无人机避障 功能

Page1

北醒(北京)光子科技有限公司

TFmini-S
https://ai.benewake.com/en/products/tfmini-s/

TFmini-S 与其他产品相比,具有成本低、体积小、功耗低、接口多等优势,能满足不同使用者的需 求。其最大检测距离为 12 米,FOV 为 2 度。TFmini-S 具有较强的抗干扰能力,可于室外强光下 工作。TFmini-S 激光雷达采用 UART(TTL)/I2C 通信接口,供电电压为 5V,平均功耗为 0.6w, 重量仅有 4.7g。

产品配置方法

为实现点阵的避障方式,我们需要单独设置每台雷达的 I2C 地址并切换到 I2C 通讯接口。配置指 令如下表所示:

Page2

北醒(北京)光子科技有限公司

使用串口转 USB 转接板将雷达与电脑连接,通过串口助手或者北醒上位机,发送配置指令更改
TFmini-S 的通讯接口,示例如下:

①更改 I2C 地址

配置指令: 5A 05 0B ADDR SU

SU 代表校验和,ADDR 代表 I2C 地址。

将 TFmini-s 设置为地址 11(雷达默认 I2C 地址是 10),发送指令:5A 05 0B 11 7B 。更改 I2C 地址为 12、13、14、15 的指令如下:

5A 05 0B 12 7C

5A 05 0B 13 7D

5A 05 0B 14 7E

5A 05 0B 15 7F

②切换通讯接口为 I2C

配置指令: 5A 05 0A 01 6A

③保存设置

指令:5A 04 11 6F

Page3

北醒(北京)光子科技有限公司

通过 Arduino 检查配置结果

将 i2c_scanner. ino 程序加载到 Arduino 中,然后按照下方图片进行连接。

左侧图片:将每台 TFmini-S 进行 I2C 地址配置后用银色记号笔标记。右侧图片:将 TFmini-S 与开发板连接在一起,通过 5V 电源进行供电,同时将雷达的数据线连接到 Arduino 上。

如果配置成功,可以看到如下结果:

如何将 TFmini-S 的接口配置恢复为串口?

通过使用 Bud Ryerson 的软件库(https://github.com/budryerson/TFMini-Plus-I2C ), 我们通过 Arduino 设置 –TFmini-S 的参数。

下面是将雷达的接口切换为串口的代码:

Page4

北醒(北京)光子科技有限公司
#include <Wire.h>    // Arduino standard I2C/Two-Wire Library
#include "printf.h"   // Modified by to support Intel based Arduino
#include <TFMPI2C.h> // TFMini-Plus I2C Library v0.2.2
TFMPI2C tfmP;        // Create a TFMini-Plus I2C object
void setup()
{
Wire.begin();            // Initialize two-wire interface
Serial.begin( 115200);    // Initialize terminal serial port
printf_begin();          // Initialize printf library.
delay(20);
printf( "BACK to SERIAL: ");
if( tfmP.sendCommand( SET_UART_MODE, 0))
{
printf( "passed.\r\n");
}
else tfmP.printErrorStatus();
}
// = = = = = = = = = =   MAIN LOOP   = = = = = = = = = =
void loop()
{
}

推荐使用 Arduino 进行 I2C 接口的测试和调试。在 ArduPilot 中使用的大部分数据库都基于

Arduino。

Page5

北醒(北京)光子科技有限公司

配置 ArduPilot

配置基于以下链接:

https://ardupilot.org/dev/docs/code-overview-object-avoidance.html

您可以配置多个雷达以便覆盖多个"扇区"(避障区域)。当前方案使用 5 个 TFmini-S 覆盖前向 180° 的避障区域,保留 1 个 TFmini-S 做后向的避障:

AVOIDANGLEMAX,1000AVOIDBEHAVE,0 AVOIDDISTMAX,1 AVOIDENABLE,2 AVOID_MARGIN,1

PRX_TYPE,4

RNGFND2ADDR,16 RNGFND2FUNCTION,0 RNGFND2GNDCLEAR,10 RNGFND2MAXCM,700 RNGFND2MINCM,10 RNGFND2OFFSET,0 RNGFND2ORIENT,4 RNGFND2PIN,-1 RNGFND2POSX,0 RNGFND2POSY,0 RNGFND2POSZ,0 RNGFND2_PWRRNG,0

Page6

北醒(北京)光子科技有限公司

RNGFND2RMETRIC,1 RNGFND2SCALING,3 RNGFND2STOPPIN,-1 RNGFND2_TYPE,25

RNGFND3ADDR,17 RNGFND3ORIENT,6 RNGFND3_PIN,-1

RNGFND4ADDR,18 RNGFND4ORIENT,7

RNGFND5ADDR,19 RNGFND5ORIENT,0

RNGFND6ADDR,20 RNGFND6ORIENT,1

RNGFND7ADDR,21 RNGFND7ORIENT,2

定高功能使用 TFmini Plus ,保持默认的串口接口与 SERIAL 3 相连接,配置如下: RNGFND1ADDR,0 RNGFND1GNDCLEAR,10 RNGFND1MAXCM,700 RNGFND1MINCM,20 RNGFND1ORIENT,25 RNGFND1TYPE,20

测试

静态测试:在 Flight Data 界面下,按 Ctrl-F 和按下 Proximity 按钮可以打开下图界面。将"PRX_TYPE" 参数设置为使能状态,界面可以显示雷达的距离数据。

Page7

北醒(北京)光子科技有限公司

将 RC7 设置为避障模式。

测试项目

1.起飞准备

2.定高飞行

3.启动避障动能

4.飞向墙体,观察无人机的反应

测试视频如下:

https://youtu.be/yRlFXSe8uFc

Page8

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.