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.
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.
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