
X-B01是一款基于BLE 5.4的低功耗蓝牙模块,AT指令丰富,支持自定义片上IO、PWM。32位 CPU 主频高达 32MHz,体积小,外围电路简单。广泛应用于智能穿戴、便携式医疗、运动健身设备,也能用于智慧家庭、消费电子、工业控制
模块特性 
硬件特性 
Ø 模组封装:12mm*15.8mm (邮票孔)-18PIN
Ø 硬件设计:带屏蔽罩设计,加强干扰隔离。外围电路简单
Ø 工作频段:2400MHz ~ 2483.5MHz
Ø 调制方式:GFSK
Ø 频偏:±20kHz
Ø 发射功率:-20dbm ~ +10dbm
Ø 接收灵敏度:灵敏度-97dbm
Ø 数据接口:Uart
Ø 支持内部 RTC 实时时钟
Ø 超低功耗:功耗测试
Ø 工作电压:1.8V ~ 3.6V
Ø 工作温度:-40℃ ~ +85℃
Ø 自定义IO:指令自定义IO、PWM
软件特性 
Ø 支持全功能 BT5.4 协议
Ø 串口透明传输,无需任何蓝牙协议栈应用经验;
Ø 支持配合客户需求,量身定制专属软件;32位 CPU 主频高达 32MHz,接口资源丰富
Ø 支持 AT 指令,丰富的指令集用于配置模块参数。
Ø 支持 AT 指令低功耗配置
Ø 支持 AT 指令修改广播间隔,修改串口波特率,修改模组名
模块出厂默认参数配置 
| 参数 | 默认值 | 
|---|---|
| 串口配置 | 115200bps | 
| 模块名称 | XSGEE-BLE-#MAC(#MAC为实际地址后4位) | 
| 广播间隔 | 200ms | 
| 连接间隔 | 10ms-50ms | 
| 发射功率 | 5dbm | 
| BLE 主服务、读、写通道 | FFF0/FFF1/FFF2 | 
封装尺寸脚位定义 

| 模块引脚序号 | 模块脚位名称 | 芯片脚位名称 | 输入/输出 | 功能说明 | 
|---|---|---|---|---|
| Pin1 | ANT | ANT | - | 外接天线引脚(未启用) | 
| Pin2 | NC | NC | - | 保留 | 
| Pin3 | NC | NC | - | 保留 | 
| Pin4 | NC | NC | - | 保留 | 
| Pin5 | DL_TX | P9 | - | 程序烧录TX | 
| Pin6 | SLEEP | P7 | I/O | 工作状态下拉低800ms进入休眠模式,休眠模式下拉高800ms进入工作模式。AT+OFF进入关机模式,使用引引脚唤醒 | 
| Pin7 | STATE_LED | P3 | I/O | 工作状态灯,详见AT+LED指令 | 
| Pin8 | UART_RX | P2 | 串口接收 | |
| Pin9 | UART_TX | P34 | 串口发送 | |
| Pin10 | VCC | VCC | - | 电源输入 | 
| Pin11 | GND | GND | - | 电源地接口 | 
| Pin12 | IO1 | P14 | I/O | 可配置IO/PWM口,详见AT+IO | 
| Pin13 | RESET | RESET | - | 复位口,拉低1500ms复位 | 
| Pin14 | DL_RX | P11 | - | 程序烧录口RX | 
| Pin15 | IO4 | P20 | I/O | 可配置IO/PWM口,详见AT+IO | 
| Pin16 | IO3 | P18 | I/O | 可配置IO/PWM口,详见AT+IO | 
| Pin17 | IO2 | P15 | I/O | 可配置IO/PWM口,详见AT+IO | 
| Pin18 | NC | NC | - | 保留 | 
模组封装尺寸 

电气特性 
绝对最大额定值 
| 参数 | 最小值 | 最大值 | 单位 | 
|---|---|---|---|
| 存储温度 | -40 | +85 | ℃ | 
| VDD | -0.3 | 3.6 | V | 
| 其它管脚 | -0.3 | VDD+0.3 | V | 
| ESD(Human Body) | 8 | kV | |
| ESD(Charged Device) | 500 | V | 
低功耗 
| 模式 | 功耗 | 
|---|---|
| 关机 | 0.3uA | 
| 休眠(不保留SRAM,32Khz) | 1uA | 
| 休眠(保留SRAM,32Khz) | 4uA | 
| 接收数据(3.3V) | 8mA | 
| 发送数据(3.3V 0dBm) | 8.6mA | 
推荐运行条件 
| 参数 | 最小值 | 推荐值 | 最大值 | 单位 | 
|---|---|---|---|---|
| 工作温度 | -40 | 27 | +85 | ℃ | 
| VDD | 1.8 | 3 | 3.6 | V | 
指令通用说明 
- 指令返回格式统一为
+<指令名>:<返回内容> - 错误返回通常为
+<指令名>:ERR,部分指令有特定错误返回(如长度错误 ERR_LEN) 
基础指令 
1. AT 
- 功能:测试指令通信是否正常
 - 格式:
AT - 返回:
AT - 说明:用于验证设备与主机之间的 AT 指令通信链路是否通畅
 - 示例:发送
AT,返回AT,表示通信链路正常 
2. AT+REBOOT 
- 功能:重启模块
 - 格式:
AT+REBOOT - 返回:
+REBOOT:OK - 示例:发送
AT+REBOOT,返回+REBOOT:OK后模块将重启 
3. AT+DEFAULT 
- 功能:恢复设备出厂设置
 - 格式:
AT+DEFAULT - 返回:
+DEFAULT:OK - 说明:恢复所有参数至默认值,包括设备名称、波特率、功率等参数
 - 示例:发送
AT+DEFAULT,返回+DEFAULT:OK后设备参数恢复为出厂状态 
4. AT+VER 
- 功能:查询设备固件版本
 - 格式:
AT+VER? - 返回:
+VERSION:1.0.3 - 说明:返回当前设备的固件版本信息
 - 示例:发送
AT+VER?,返回+VERSION:1.0.3,表示当前固件版本为 1.0.3 
设备信息指令 
1. AT+NAME 
功能:设置或查询设备名称
设置格式:
AT+NAME=<name>,如果name中包含#MAC,则会自动替换成MAC后两位查询格式:
AT+NAME?返回:
- 设置成功:
+NAME:OK - 查询返回:
+NAME:<当前设备名称> 
- 设置成功:
 说明:设备名称用于 BLE 广播,名字最长20字节
示例:
- 设置:发送
AT+NAME=MyDevice,返回+NAME:OK,设备名称被设置为 "MyDevice" - 设置:发送
AT+NAME=MyDevice-#MAC,返回+NAME:OK,设备名称被设置为 "MyDevice" - 查询:发送
AT+NAME?,返回+NAME:MyDevice,表示当前设备名称为 "MyDevice" 
- 设置:发送
 
2. AT+ADDR 
功能:设置或查询设备 MAC 地址
设置格式:
AT+ADDR=<mac>(格式:12 位十六进制数,如 AABBCCDDEEFF)查询格式:
AT+ADDR?返回:
- 设置成功:
+ADDR:OK - 查询返回:
+ADDR:<当前MAC地址> 
- 设置成功:
 说明:设置的 MAC 地址将被写入 Flash 保存
示例:
- 设置:发送
AT+ADDR=AABBCCDDEEFF,返回+ADDR:OK,MAC 地址被设置为 "AABBCCDDEEFF" - 查询:发送
AT+ADDR?,返回+ADDR:AABBCCDDEEFF,表示当前 MAC 地址为 "AABBCCDDEEFF" 
- 设置:发送
 
通信参数指令 
1. AT+BAUD 
功能:设置或查询 UART 波特率
设置格式:
AT+BAUD=<baudrate>支持的波特率:4800、9600、14400、19200、38400、57600、115200、500000、1000000
查询格式:
AT+BAUD?返回:
- 设置成功:
+BAUD:OK - 查询返回:
+BAUD:<当前波特率> 
- 设置成功:
 说明:设置后立即生效并写入 Flash,设备会重新初始化 UART
示例 :
- 设置:发送
AT+BAUD=9600,返回+BAUD:OK,波特率被设置为 9600 - 查询:发送
AT+BAUD?,返回+BAUD:9600,表示当前波特率为 9600 
- 设置:发送
 
2. AT+RFPW 
功能:设置或查询射频发射功率
设置格式:
AT+RFPW=<power>功率参数对应表:
- 0: 5dBm(默认)
 - 1: 0dBm
 - 2: -5dBm
 - 3: -20dBm
 - 4: 10dBm
 
查询格式:
AT+RFPW?返回:
- 设置成功:
+RFPW:OK - 查询返回:
+RFPW:<当前功率值,如5dBm> 
- 设置成功:
 示例:
- 设置:发送
AT+RFPW=2,返回+RFPW:OK,发射功率被设置为 - 5dBm - 查询:发送
AT+RFPW?,返回+RFPW:-5dBm,表示当前发射功率为 - 5dBm 
- 设置:发送
 
BLE 参数指令 
1. AT+AINT 
功能:设置或查询 BLE 广播间隔
设置格式:
AT+AINT=<interval>参数范围:32-6400(单位:625us,对应 20ms-4s)
查询格式:
AT+AINT?返回:
- 设置成功:
+AINT:OK - 查询返回:
+AINT:<当前广播间隔> 
- 设置成功:
 说明:重启有效
示例:
- 设置:发送
AT+AINT=320(对应 200ms),返回+AINT:OK,广播间隔被设置为 320 - 查询:发送
AT+AINT?,返回+AINT:320,表示当前广播间隔为 320 
- 设置:发送
 
2. AT+CINT:设置或查询 BLE 连接间隔 
功能:配置或获取 BLE 连接状态下的通信间隔参数,影响设备与连接设备之间的数据交互频率
设置格式:
AT+CINT=<min_interval>,<max_interval>- 参数说明: 
min_interval:最小连接间隔,范围为 6-3200(单位:1.25ms,对应 7.5ms-4000ms)max_interval:最大连接间隔,范围需大于等于min_interval,同上述单位和范围
 
- 参数说明: 
 查询格式:
AT+CINT?返回信息:
- 设置成功:
+CINT:OK - 设置失败(参数无效):
+CINT:ERR - 查询返回:
+CINT:<当前最小间隔>,<当前最大间隔> 
- 设置成功:
 说明:
- 连接间隔越小,数据交互越频繁,实时性越高,但功耗相对增加
 - 连接间隔需在 BLE 协议规定范围内,超出范围会返回错误
 - 重启生效
 
示例:
- 设置:发送
AT+CINT=8,40(最小 10ms,最大 50ms),返回+CINT:OK,连接间隔被设置完成 - 查询:发送
AT+CINT?,返回+CINT:8,40,表示当前最小连接间隔为 8、最大为 40 - 错误示例:发送
AT+CINT=5,10(min_interval 小于 6),返回+CINT:ERR 
- 设置:发送
 
3. AT+CTOUT 
功能:设置或查询 BLE 连接超时时间
设置格式:
AT+CTOUT=<timeout>参数范围:10-3200(单位:10ms,对应 100ms-30s)
查询格式:
AT+CTOUT?返回:
- 设置成功:
+CTOUT:OK - 查询返回:
+CTOUT:<当前超时时间> 
- 设置成功:
 说明:
- 重启生效
 
示例:
- 设置:发送
AT+CTOUT=300(对应 3s),返回+CTOUT:OK,超时时间被设置为 300 - 查询:发送
AT+CTOUT?,返回+CTOUT:300,表示当前超时时间为 300 
- 设置:发送
 
4. AT+CONT 
功能:设置或查询设备是否可连接
设置格式:
AT+CONT=<mode>(0: 不可连接,1: 可连接)查询格式:
AT+CONT?返回:
- 设置成功:
+CONT:OK - 查询返回:
+CONT:<当前模式> 
- 设置成功:
 说明:
- 重启生效
 
示例:
- 设置:发送
AT+CONT=1,返回+CONT:OK,设备被设置为可连接模式 - 查询:发送
AT+CONT?,返回+CONT:1,表示当前设备为可连接模式 
- 设置:发送
 
电源管理指令 
1. AT+POWER 
功能:设置或查询电源模式
设置格式:
AT+POWER=<mode>[,<sleep_time>]- mode: 0(正常模式)、1(睡眠模式 )
 - sleep_time: 仅在睡眠模式下有效,设置自动睡眠超时时间,默认为10秒
 
查询格式:
AT+POWER?返回:
- 设置成功:
+POWER:OK - 查询返回:
+POWER:<当前模式>,<睡眠超时时间> 
- 设置成功:
 说明:仅在从机模式下有效
示例:
- 设置正常模式:发送
AT+POWER=0,返回+POWER:OK - 设置睡眠模式(超时 30 秒):发送
AT+POWER=1,30,返回+POWER:OK - 查询:发送
AT+POWER?,返回+POWER:1,30,表示当前为睡眠模式,自动睡眠超时时间 30 秒 
- 设置正常模式:发送
 
2. AT+OFF 
- 功能:设备关机
 - 格式:
AT+OFF - 返回:
+OFF:OK - 说明:设备进入关机状态,可通过拉高SLEEP引脚唤醒
 - 示例:发送
AT+OFF,返回+OFF:OK后设备进入关机状态 
其他指令 
1. AT+LED 
- 功能:设置或查询 LED 模式
 - 设置格式:
AT+LED=<mode>- 0: 任何情况下灯常灭
 - 1: 启动后未连接灯常亮,连接后灯闪(默认)
 - 2: 启动后未连接灯常灭,连接后灯闪
 
 - 查询格式:
AT+LED? - 返回: 
- 设置成功:
+LED:OK - 查询返回:
+LED:<当前模式> 
 - 设置成功:
 - 示例: 
- 设置:发送
AT+LED=1,返回+LED:OK,LED 被设置为开启模式 - 查询:发送
AT+LED?,返回+LED:1,表示当前 LED 为开启模式 
 - 设置:发送
 
2. AT+IO 
- 设置格式:
AT+IO=<mode>- 配置为输入:I,1,1。 
- 参数1:I为输入模式
 - 参数2:引脚,1为IO1,2为IO2,3为IO3,4为IO4
 - 参数3:默认上下拉配置,1为上拉,2为下拉
 - 状态变化通知:当外部状态变化时,会通过串口和BLE发出通知 
- 串口:+I1:0\r\n。其中I1的1表示当前IO口,0表示状态
 - BLE通知服务(需要订阅通知):$X#D#@IN1:0&44\r\n。其中IN1中的1代表IO口,0表示IO口状态。协议详情见文本协议一文
 
 
 - 配置为输出:O,1,1。 
- 参数1:O为输出模式
 - 参数2:引脚,1为IO1,2为IO2,3为IO3,4为IO4
 - 参数3:默认输出配置,1为上拉,2为下拉
 - 可以通过APP下发协议控制IO高低:$X#D#@OUT1:0&0D\r\n
 
 - 配置为PWM:P,1,0,50。 
- 参数1:O为输出模式
 - 参数2:引脚,1为IO1,2为IO2,3为IO3,4为IO4
 - 参数3:分频参数,可选值为0: 158kHz;1:79kHz;2:39kHz;3:13kHz;4:10kHz;5:5kHz;6:1.5kHz;7:1.23kHz
 - 参数4:默认占空比,0~100
 - 可以通过APP下发协议控制PWM占空比:$X#D#@PWM1:60&3F\r\n,配置PWM1占空比为60
 
 
 - 配置为输入:I,1,1。 
 - 查询格式: 
- 查询所有IO配置 
AT+IO? - 查询指定IO配置 
AT+IO=?,1 
 - 查询所有IO配置 
 - 返回: 
- 设置成功:
+IO:OK - 查询返回:
+IO1:<当前IO配置> 
 - 设置成功:
 - 示例: 
- 设置IO1为输入引脚,默认下拉:
AT+IO=I,1,0 - 设置IO2为输出引脚,默认值为1:
AT+IO=O,2,1 - 设置IO3为PWM输出,默认频率40kHz,占空比为50:
AT+IO=P,3,1,50 - 查询IO4引脚配置:
AT+IO=?,4,返回+IO4:I,1,1 
 - 设置IO1为输入引脚,默认下拉:
 
3. AT+AUTH 
功能:设置或查询自动认证模式
设置格式:
AT+AUTH=<mode>查询格式:
AT+AUTH?返回:
- 设置成功:
+AUTH:OK - 查询返回:
+AUTH:<自动校验开关>,<连接状态> - 自动校验开关说明:0(不自动校验)、1(连接自动校验)
 - 连接状态说明:0(未连接)、1(已连接未认证)、2(已连接且认证成功)
 
- 设置成功:
 示例:
- 设置:发送
AT+AUTH=1,返回+AUTH:OK,自动认证模式被设置为 1 - 查询:发送
AT+AUTH?,返回+AUTH:1,0,表示当前模式为 1,设备未连接 
- 设置:发送
 
4. AT+TXMOD 
功能:设置或查询数据传输模式
设置格式:
AT+TXMOD=<mode>- 1: 传输所有数据并执行命令
 - 2: 传输所有数据但不执行命令
 - 3: 仅执行命令不传输数据
 
查询格式:
AT+TXMOD?返回:
- 设置成功:
+TXMOD:OK - 查询返回:
+TXMOD:<当前模式> 
- 设置成功:
 示例:
- 设置:发送
AT+TXMOD=2,返回+TXMOD:OK,传输模式被设置为 2 - 查询:发送
AT+TXMOD?,返回+TXMOD:2,表示当前传输模式为 2 
- 设置:发送
 
5. AT+PID 
功能:设置或查询项目 ID
设置格式:
AT+PID=<pid>查询格式:
AT+PID?返回:
- 设置成功:
+PID:OK - 设置失败(长度错误):
+PSEC:ERR_LEN - 查询返回:
+PID:<项目ID是否存在,1:存在,0:不存在> 
- 设置成功:
 说明:项目ID长度为16字符
示例:
- 设置(16 字符):发送
AT+PID=1234567890abcdef,返回+PID:OK - 设置(长度错误):发送
AT+PID=123(不足 16 字符),返回+PSEC:ERR_LEN - 查询:发送
AT+PID?,返回+PID:1,表示项目 ID 已存在 
- 设置(16 字符):发送
 
6. AT+PSEC 
功能:设置或查询项目密钥
设置格式:
AT+PSEC=<secret>查询格式:
AT+PSEC?返回:
- 设置成功:
+PSEC:OK - 设置失败(长度错误):
+PSEC:ERR_LEN - 查询返回:
+PSEC:<密钥是否存在,1:存在,0:不存在> 
- 设置成功:
 说明:密钥长度为 32 字符
示例:
- 设置(32 字符):发送
AT+PSEC=1234567890abcdef1234567890abcdef,返回+PSEC:OK - 设置(长度错误):发送
AT+PSEC=123(不足 32 字符),返回+PSEC:ERR_LEN - 查询:发送
AT+PSEC?,返回+PSEC:1,表示项目密钥已存在 
- 设置(32 字符):发送
 
7. AT+PKEY 
功能:设置或查询项目校验格式
设置格式:
AT+PKEY=<key>查询格式:
AT+PKEY?返回:
- 设置成功:
+PKEY:OK - 查询返回:
+PKEY:<密钥是否存在,1:存在,0:不存在> 
- 设置成功:
 说明:key最长40字节
示例:
- 设置:发送
AT+PKEY=testkeyformat123,返回+PKEY:OK - 查询:发送
AT+PKEY?,返回+PKEY:1,表示项目校验格式已存在 
- 设置:发送
 
8. AT+TS 
- 功能:查询时间戳
 - 格式:
AT+TS? - 返回:
+TS:<当前时间戳> - 示例:发送
AT+TS?,返回+TS:1680000000000,表示当前时间戳为 1680000000000 
9. AT+AVDA 
- 功能:查询广播数据
 - 格式:
AT+AVDA? - 返回:
+AVDA:<广播数据> - 说明:用于查询当前 BLE 广播数据内容
 - 示例:发送
AT+AVDA?,返回+AVDA:3131323233333434353536362431303133613165393565333665393231 
通知说明 
状态通知 
| 通知格式 | 触发场景 / 含义 | 
|---|---|
+READY\r\n | 模块上电就绪,广播已经开始 | 
+CONNECTED:master_mac\r\n | 蓝牙已连接,master_mac主机MAC | 
+DISCONNECTED:master_mac\r\n | 蓝牙已断开,master_mac主机MAC | 
+NOTIFYEN\r\n | 主机已经订阅模块通知 | 
+NOTIFYDIS\r\n | 主机取消订阅模块通知 | 
+SLEEP\r\n | 设备进入休眠模式时发送 | 
+WAKEUP\r\n | 设备从休眠状态被唤醒时发送 | 
+AUTH:1\r\n | 设备与APP校验成功 | 
+AUTH:0\r\n | 设备与APP校验失败 | 
| +HRESET\r\n | 硬件复位通知 | 
检验异常通知 
模块连接后,默认会与APP进行校验。在校验过程中出现异常发会出下面的通知
| 异常通知格式 | 触发场景 | 
|---|---|
+PKEY:0\r\n | 项目密钥(project_key)为空时 | 
+PSEC:0\r\n | 项目密钥(project_secret)为空时 | 
+PID:0\r\n | 项目 ID(project_id)为空时 | 
+MAC:0\r\n | 设备 MAC 地址(mac)为空时 | 
+TIMESTAMP:0\r\n | 时间戳(timestamp)为空时 | 
模块布局参考建议 

Ø 模块天线远离其他电路,下方不走线、不铺铜。
Ø 用户最终产品外壳靠近天线部分不能采用金属材质(包括含金属颗粒涂料的喷涂)。
Ø 模块的接入电源建议使用磁珠进行隔离。
Ø 请检查电源稳定性,电压不能大幅频繁波动。
Ø 器件接地要良好,减少寄生电感。
贴片生产注意事项 
用户批量贴片时,回流焊温度不要超过 245℃,请参考图 4 温度曲线。

外围电路 

小机云