SlimeVR Trackers using LilyGo TTGO T-OI with 16340 Battery
- Hotswappable
- Easier to make; Less stuff to solder
- Small form factor
- Simplifies parts buying
- Can't be flashed through web flasher. Requires firmware modification
- 2-3$ more expensive than wemos d1
- Less range than wemos d1 since it is using a tinier ceramic antenna.
- Requires a 3d printed case
- Generally lower capacity. 800mah (8 hours) is the highest capacity battery I can find.
The links are only an example. If you can find a cheaper one on another store then go with that.
-
BMI 160 Suggested stores: Mwss, Wansai, Tenstar, Aixterm
-
16340 Battery The highest capacity legitimate battery I can find is 800mah.
WARNING: If you find a cheap one advertising above 1000mah it is most likely fake. Like this one that boasts 2800 but actually only has 350mah (3.5 Hours) when tested. Buyer beware
-
Any wire. 26-28 awg
- Grove 4 pin cable male. Suggested lengths: Ankle-Foot extension: 20cm Chest-Waist extension: 30cm
- BMI 160
- 1.5 Inch garter for straps or any 1.5 inch straps if you wont use the 3d printed buckles
- 18650 Charger
- (Optional) Gopro Chest Mount For more stable chest trackers
All parts to be printed without supports on either PLA or PETG
-
Buckles and Cases both Main and Extension can be printed at these settings for 0.4mm nozzle
Line width: 0.6
Layer height: 0.32
-
The switch should be printed at this setting
Line width: 0.3
Layer height: 0.2
- Lilygo Board
- BMI160
- 3pcs of wire. 2 for ground. 1 for power
- 3d printed case and switch
- 16340 battery
- Header pin cut to 2 pins
Wire for power goes to 3V3 Wire for ground goes to GND and SAO
It goes on the holes labeled 4 & 5
Wire for power connects to the hole labeled 3V3
Wire for ground connects to the hole labeled GND
SCL goes to the pin labeled 5
- BMI160
- Grove 4 pin
- 3d printed extension case
- Ground is the yellow wire
- 3V3 is the white wire
- SDA is the red wire (The board's label is different but it really is SDA in the firmware)
- SCL is the black wire
Connect the appropriate wires to the IMU
First, Setup the environment. Follow this guide on SlimeVR documentation
In platformio.ini Set your wifi credentials
In \src\batterymonitor.h set the define of batteryADCMultiplier to:
#define batteryADCMultiplier 0.0072271914132379
In defines.h Set IMU to IMU_BMI160
Set SECOND_IMU to IMU_BMI160
Set BOARD to BOARD_WEMOSD1MINI
Set SECOND_IMU_ROTATION to 90 (Only needed for foot trackers)
Connect the board through micro USB. Then turn on the switch
Click the build button [1] on the lower left of VSCode
Click the upload button [2]
Wait for the firmware flash to finish
Enjoy your tracker! It should connect to the slime server
Youtube Video Note; This was done like this to make it visible in the camera. You should do it in a more stable way (On a table).
Extension case is from Arcturus
Buckle is from Printables HD_Creator In printables