目标本指南的目标是, 从零开始完整设计一款搭载 nRF52 系列 SOC 的方案的 DIY Smol Slime 追踪器 PCB, 以及如何自定义自己的追踪器固件。
介绍
Smol Slime
Smol Slime(也称为 nRF 追踪器)是基于一种名为增强型 ShockBurst(ESB)的协议进行通信的 SlimeVR 追踪器,该协议运行在 Nordic Semiconductor 公司的 nRF52 和 nRF54L 系列系统级芯片(SoC)设备上。使用这类方案的追踪器功耗极低(典型电流消耗1ma-4ma),在使用小容量电池时即可运行数天甚至数周,续航显著长于传统的 ESP(基于 2.4GHZ WiFi)SlimeVR 追踪器。
Smol Slime Receiver
Smol Slime 需要一个接收器来连接追踪器与 SlimeVR 服务器之间的通信。该接收器可以连接到电脑用于 PCVR,也可以通过 OSC(Open Sound Control)与 Quest / Pico / Steam 等独立头显配合使用。
DIY Smol Slime
目前,DIY Smol Slime 主要使用堆叠方案和单独设计PCB的方案。
堆叠方案通常使用无名科技的 ProMicro 开发板
上叠加一个 IMU 模块,更多信息请去查看看 SlimeVR 官方的 Smol 堆叠方案,在这不过多赘述。
本指南使用单独设计制造PCB的方案制作 Smol Slime 追踪器
硬件设计
注意本文主要使用EasyEDA Pro(JLC EDA Pro)进行硬件设计。
硬件概述
Smol Slime 追踪器的硬件设计主要包括以下部分:
- 主控制器(SOC):nRF52/nRF54L 系列 SOC,如
nRF52840 - IMU:对于Smol Slime来说,通常用于采集加速度和角加速度信息(6轴),如
ICM45686 - Magnetometer:用于采集磁力数据, 辅助校准IMU,如
QMC6309, 部分IMU自带磁力计, 如ICM20948不过目前自带磁力计的9轴 IMU 型号基本都不在推荐列表内, 磁力计是可选的 - 电源管理:用于为 SOC 提供稳定的供电,可使用 LDO 或 DCDC (Buck 转换器), 外部电源管理是可选的, nRF52 nRF54L 系列SOC均包含内部电源管理
- 电池管理:用于为电池充电,对于 Smol Slime 追踪器来说, 推荐使用
TP4057 - 电源路径选择: 用于为电源管理切换USB供电和电池供电
- 电池:用于供电,对于Smol Slime 追踪器来说, 推荐使用 80mah 到 300mah 容量的 3.7V 锂离子电池
- 天线与匹配电路:用于与接收器通信
- 接口:用于与 PC 通信, 如
USB-C接口, 对于不包含 USB 外设的nRF52/54L 系列SOC, 例如nRF52832, 需要使用 UART 与 PC 通信, 或者使用CH340等 USB 转 UART IC 转为 USB - LED:用于指示追踪器状态, 如连接状态, 充电状态等, 虽然其是可选的, 但吾强烈建议加上,不然你连追踪器开没开机都不知道
硬件选型
主控制器(SOC)
目前DIY Slime Smol追踪器主流的主控制器(SOC)为 nRF52840 和 nRF52833 , nRF54L15 的支持较为实验性, 且缺少USB外设。
对于Slime Smol追踪器来说, nRF52840 和 nRF52833 的关键区别在于封装和PMU上.
-
nRF52840的 PMU 第一级 可选 DCDC (Buck 转换器) 和 LDO, 而nRF52833的PMU 第一级只有LDO。
nRF52840:
nRF52833:
-
nRF52840主要使用aQFN-73封装和WLCSP封装 ,nRF52833主要使用QFN-40封装。
在设计上, 吾建议使用 nRF52840 作为主控制器(SOC), 其内部的第一级稳压器可以配置为 DCDC (Buck 转换器), 具有更高的电源转换效率。
但nRF52840存在一些缺点, 其主要的aQFN-73封装和WLCSP封装的用户友好度极低, 用户友好型封装QFN-48封装则无法使用内部DCDC和USB外设。
不过aQFN-73封装可以通过缩减内部EP焊盘大小, 来让你更好的进行设计。
如果你对自己的PCB Layout水平不是很有自信, 或者你打算自行焊接, 吾更建议使用QFN-40封装的nRF52833, 其更容易进行人工焊接。
所以, 最终吾建议使用 nRF52840-QIAA(aQFN-73) 和 nRF52833-QDAA(QFN-40) 作为主控制器(SOC)。
注意需要更多 nRF52 系列 SOC 的参考,请访问 nRF52 系列SOC文档
封装预览
aQFN-73![]()
WLCSP![]()
QFN-40
IMU
IMU(惯性测量单元)是 Smol Slime 追踪器的 “运动感知核心”,负责实时输出加速度和角速度数据,供融合算法( VQF )推算姿态。
- 6 轴 IMU:集成 3 轴加速度计 + 3 轴陀螺仪,满足基本追踪需求。
- 9 轴 IMU:额外集成 3 轴磁力计,可改善IMU漂移问题 , 但是复杂磁场环境, 例如床垫里的金属弹簧等, 会干扰磁力计的测量, 反而降低推算姿态计算效果;若 IMU 本身不带磁力计,可外接 QMC6309 进行补充。
目前吾推荐在 DIY Smol Slime 追踪器推荐使用的 IMU 型号主要有以下几种:
| 型号 | 厂商 | 轴数 | 接口 | 备注 |
|---|---|---|---|---|
| ICM-45686 | TDK | 6 轴 | I²C/SPI | 最为推荐的IMU, 需要外部有源时钟校准, 目前供货紧张(2025/12), 若可以合理的价格购买到, 则建议使用 |
| LSM6DSV | ST | 6 轴 | I²C/SPI | 社区汇报性能略低于 ICM-45686, 但价格更亲民, 目前供货稳定 , 在IMC-45686 供货紧张时推荐 |
| ICM-42688P | TDK | 6 轴 | I²C/SPI | 需要外部有源时钟校准, 汇报体验略强于LSM6DSR, 目前供货紧张(2025/12) |
| LSM6DSR | ST | 6 轴 | I²C/SPI | 性能在这里是最差的, 但价格很便宜, 目前供货稳定 |
更多 IMU 型号请参考 IMU对比
注意不是所有的IMU都被Smol Slime支持 , 请查看目前 Smol Slime 包含的 IMU 驱动:sensor-imu
Magnetometer
todo
电源管理
todo
电池管理
todo
电源路径选择
todo
