SlimeVR Tracker firmware for ESP
Firmware for ESP8266 / ESP32 microcontrollers and different IMU sensors to use them as a vive-like trackers in VR.
Requires SlimeVR Server to work with SteamVR and resolve pose. Should be compatible with owoTrack, but is not guaranteed.
Configuration
Firmware configuration is located in the defines.h
file. For more information on how to configure your firmware, refer to the Configuring the firmware project section of SlimeVR documentation.
Compatibility
The following IMUs and their corresponding IMU
values are supported by the firmware:
- BNO085 & BNO086 (IMU_BNO085)
- Using any fusion in internal DMP. Best results with ARVR Stabilized Game Rotation Vector or ARVR Stabilized Rotation Vector if in good magnetic environment.
- BNO080 (IMU_BNO080)
- Using any fusion in internal DMP. Doesn't have BNO085's ARVR stabilization, but still gives good results.
- BNO055 (IMU_BNO055)
- Should be roughly equal BNO080, but cheaper. Not tested thoroughly, please report your results on Discord if you're willing to try.
- MPU-9250 (IMU_MPU9250)
- Using Mahony sensor fusion of Gyroscope, Magnetometer and Accelerometer, requires good magnetic environment.
- NOTE: Currently can only be used as MPU-6050 without magnetometer. To use it as MPU-6050, specify
IMU_MPU6050
in yourdefines.h
.
- MPU-6500 (IMU_MPU6500) & MPU-6050 (IMU_MPU6050)
- Using internal DMP to fuse Gyroscope and Accelerometer. Can drift substantially.
- NOTE: Currently the MPU will auto calibrate when powered on. You must place it on the ground and DO NOT move it until calibration is complete (for a few seconds). LED on the ESP will blink 5 times after calibration is over.
Firmware can work with both ESP8266 and ESP32. Please edit defines.h and set your pinout properly according to how you connected the IMU.
#Uploading On Linux
Follow the instructions in this link Platformio, this should solve any permission denied errors
Contributions
By contributing to this project you are placing all your code under MIT or less restricting licenses, and you certify that the code you have used is compatible with those licenses or is authored by you. If you're doing so on your work time, you certify that your employer is okay with this.