VR is going to be the next big thing in five to seven years, and with that comes the problem of what the controllers will look like. The Vive and PS Move are probably close to what the first successful consumer VR setup will look like, but there’s plenty of room for experimentation. [ShinyQuagsire] decided to experiment with VR, IMUs, and computer vision and managed to make a VR controller from the ground up.
The design of [Quagsire]’s VR controller is very similar to the PS Move controller: there’s a glowy ball on top of a Wii-nunchuckish controller. There’s a good reason for this design: a sphere projected onto a 2D surface is always a circle. By illuminating a sphere with an IR LED, [Quagsire] can get an OpenCV script to hone in on the controller.
One thing that was particularly hard for [Quagsire] was building the 3D printed controllers. The first hardware revision wasn’t designed for manufacturing on a 3D printer — there were curves everywhere and very few flat areas for bed adhesion. The second hardware revision corrected these problems, but there’s a world of difference between designing a 3D printable part and being able to calibrate and tune a 3D printer. In the end, [Quagsire] sent the files off to 3DHubs to put that whole ordeal behind him.
With the case printed, [Quagsire] filled it with IMU breakouts, buttons, and a tiny joystick. The brains of the controller is a Teensy 3.2 that has plenty of examples of how to transmit gyro data and button presses over serial. With that done, the only thing left to do was to tie everything together.
The controller worked, and [Quagsire] learned a lot in the process. Making VR controllers is hard, even though a lot of the project isn’t the optimal way of doing things. For the next iteration of this project, [Quagsire] might look at wireless, but for now the entire project is up on Github for everyone to take a look at.
4 thoughts on “Making VR Controllers From The Ground Up”
“VR is going to be the next big thing in five to seven years”
It’s the next big thing -right now-, in five to seven years we’ll probably be hyping up brain-computer interfaces (or Brian-computer interfaces, for you)
I am genuinely curious if the Sony style remote works better than a Wii mote with the light bar?
Some people tend to rage out over the tech for some reason.
I picked up one of these headsets for $16 US for a fun project:
But the screen on the Android phone I have seems to have serious motion blurring issues, and actually looks worse than the headsets I tried in the 90s. However, the main issue I see is an almost complete lack of good games. Someone needs to write a simple 3D stereoscopic OpenCV+OpenGL “cube-world” rendering plug-in for MAME similar to a Minecraft world (i.e. simulate 3D Depth Map range rendering using low resolution pixel buffer luminosity histogram distribution averaging.)
What phone (screen size/ resolution)do you have?
I am using a standard: LG G4 H810 32GB
Resolution: 1440 x 2560 px (538 ppi)
Not really sure if it is worth changing the phone, as even the iPhone 7 claims
1334×750 px (326 ppi)
Perhaps the VR app authors or LG borked motion-blur/fps-rate on the GPU, but it gets annoying after a few minutes.
Please be kind and respectful to help make the comments section excellent. (Comment Policy)