走马观花

KitKat SlimeVR PCB

 
Overview

What is SlimeVR?

SlimeVR is a set of open hardware sensors and open source software that facilitates full-body tracking (FBT) in virtual reality. Since no base station is required, SlimeVR makes wireless VR FBT affordable and comfortable.

How does it work?

SlimeVR FBT provides simple, effective body and limb tracking in VR games and other applications. It makes full-body tracking comfortable and less expensive by utilizing high-quality inertial measurement unit (IMU) sensors and a Wi-Fi connection to a PC instead of wires, cameras or base stations. Take the lower-body suit , for example, where five trackers—one on each thigh, one on each ankle, and a fifth tracker on the waist—are enough to get the job done. Each tracker monitors its own rotation in space, and the SlimeVR software uses your scale and headset position to calculate joint angles and estimate limb position. In more technical terms, SlimeVR relies on absolute orientation sensors, a configurable skeleton model, and forward kinematics. The result is like having virtual Vive trackers at key locations on your body .

 

What is the difference between KitKat and other slimevrs?

I designed all the places that need to be welded on the same side, so that even novices with no welding skills can easily get started.

Kitkat uses the solution of MPU6500/6050+QMC5883L. Because of the addition of magnetometer, it is greatly improved compared to only using 6500/6050.

The kitkat is sized to fit a 903090 battery perfectly, and because of that, it might not even need a case..

Modules/components needed for this tracker

  • D1 MINI
  • MPU6500 (6050 is also OK, the spacing may need to be adjusted)
  • QMC5883L (silk screen HA5883)
  • 1N5817 diode×2
  • 180K resistor
  • TP4056 charging module
  • 12D19 switch
  • 3.7v battery (I used 903090)
  • PH2.00 socket (used to connect the auxiliary sensor, you don’t need it if you don’t need it)
  • PH2.00 connecting cable (used to connect the auxiliary sensor, you don’t need it if you don’t need it)

 

Things to note:

  1. Be sure to test whether the module is normal before welding. Yes, there are bad parts in this thing. It is recommended to make a test board first (soldering the female header at the sensor position), so that even if it is broken, you only need to unplug it and replace it with another one to continue testing. That’s it, test it and if there is no problem, then solder it to the board.
  2. QMC5883L chooses silk screen printing HA5883
  3. QMC5883L needs to be tested for more than 5 minutes to see if it is normal, because I have encountered problems with the axis changing to reverse and steering delays when using it.
  4. Some merchants may ship MPU6800 (0x74) as MPU6500, which cannot be used. Please note that the address of MPU6500 is 0X70 and the address of MPU6050 is 0X68
  5. Don’t buy expensive batteries

 

The difference between the three PCBs:

From left to right are the kitkat host, cookie auxiliary tracker, sandwich auxiliary tracker, and sandwich adapter board (you can attach a magnetometer to the previously made 6500/6050 tracker. You can also fly the line directly without this pcb. Details Reference schematic

firmware

These are the versions I modified

0.2.2 Normal version firmware
0.2.2 Firmware with magnetometer filter

The firmware can be downloaded from the QMC branch of SlimeVR . After downloading, you need to modify the axial direction in three places.

mpu9250sensor.cpp under src/sensors , modify lines 253~2455 , replace x with y , y with z , and remove the negative sign in front of z

TV9Uy56TcGWIGKtffdL4Uup8BeDohviAGYg9ooIe.png

② Change lines 357~359 like this too

rvUHdkB3pqGw3gg86c9UVS3n87lqmtMN9o6uySkJ.png

③Change No. 269~271 to x, z, y

PfU9XlE5tyCXPBRtOXpc6R0MiQUNOgPGJrEpAKIn.png

Then the board type and mpu in defines.h are changed to this

Video tutorial

SlimeVR tutorial for beginners

BOM table

You don’t need to look at this. We are all using modules.

 

参考设计图片
×
 
 
Search Datasheet?

Supported by EEWorld Datasheet

Forum More
Update:2025-06-23 13:04:31

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
community

Robot
development
community

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号