Vive Tracker VR Rifle Project

Originally 10/27/2018
Updated 03/16/2019

NOTE: 03/16/2019.  I’ve made a bit more progress on this project thanks to HTC support over the last few months. I have Vive Tracker puck 1.0 working on a microcontroller. Unfortuntely Valve is current blocking analog inputs from a Vive Tracker puck. They said it was a bug to allow pucks analog inputs. Well, this means trackpad input for a puck is no longer available until Valve decides to add it back.

I also have continued to work on the Vive Tracker 2.0 puck with blue logo. Firmware has been released to add USB input and its been officially released in the SteamVR beta branch. However, no one has gotten it working yet. There’s even an updated Tracker puck 2018 1.4 pdf but still can’t get it working. I’ll work with my 1.0 pucks for now but people can only buy 2.0 so it needs to be worked out for this VR rifle project to be really useful. Analog inputs also need to be re-allowed by Valve otherwise USB input really isn’t any different than pogopin inputs. 

Background

I wanted to design a current generation VR rifle for FPS shooter games for quite a while now. I built them many years ago by taking existing gun controllers and adding tracking to them. Back then it was Playstation controllers and gyroscope sensors from Gyration. It was a time for an updated version. Something like the PPgun but cheaper. I couldn’t seem to get myself to spend $800 for a PPgun controller ($1200 on eBay). There are other options as well: the Hyperblaster for $50, and the new StrikerVR Lite for $1200. I have the Hyperblaster and it’s great, but I want a full rifle with eventually recoil. The StrikerVR Lite rifle coming for the HTC Vive tracker is also super cool, but that price is just way too high. If we had a VR rifle controller for around $250, that could be a sweet spot. Built yourself it could be even cheaper (around $115 as I show with prototype #1 below).

To start off I designed a Vive Tracker isolation mount to a Playstation rifle controller. Using a Vive Tracker was a path to add cheap tracking to a VR rifle.  I designed a direct mount version like shown in early Vive Tracker documentation, as well as an isolation one for dampening vibrations. The isolation mounts are because the Vive Tracker doesn’t like vibration, and at some point I’ll want to play with recoil in the rifle. It won’t be full blown rifle recoil like in airsoft guns (or will it…), but something like arcade gun haptic feedback. Some light solenoid recoil might be possible if it doesn’t vibrate the Vive Tracker too much. The intention of the designs is to use the USB interface of the Vive Tracker, but I also designed in support for the pogo pins. My first 3D design for the two mounts is shown below.

What I’ve found out is that the only way to get the HTC Vive trackpad functionality is using the USB interface with a custom microcontroller board. Right now the USB interface is disabled for the Vive Tracker 2018 units (blue logo), and only works for the original 2017 version (gray logo). I happen to have 4 of the 2017 trackers so I’m going to use USB. HTC has said that the USB interface on the 2.0 trackers is coming but nothing has been released yet. People have been waiting for that update since April 2018. Other than x-y trackpad data, most buttons can be controlled through the pogo pins. This is what the Hyperblaster does. It makes the gun cheaper and easier to build using the pogo pins, but I really don’t like teleportation in VR games so I want that trackpad for locomotion.

There are also Arduino libraries now using a SAMD board to talk to the Vive Tracker over USB. So find a rifle, modify it for buttons, mount a Vive Tracker on it, add a SAMD MCU board inside of it, and you have a rifle controller for VR using the Vive tracker. If that all pans out then try adding recoil. Sounds like fun!

Vive Tracker Mounting Adapter

The first prints turned out quite nicely for the isolation mount and even the direct mount. The 1/4″-20 knob and bolt, not so much so I tested some real camera tripod parts as replacements. None of those worked well so I printed a knob for a 1/4″-20 bolt head. Here’s a few closeups of the isolation mount on the gun from the image at the top. Came out really nicely. I love 3D printing!

My next revision of the isolation mount is shown on the far right in the image below. This was an updated model of the center mount based on lessons learned from my first prototype gun described below. The main updates were thinning the body so the 1/4″-20 knob is easier grab, using a real 1/4″-20 bolt instead of a 3D printed one, and to move the isolation mounts onto the corners. Minor tweaks were made to dimensions as well. I had this version printed and they turned out nicely, as I’ll show below.

Prototype #1

I built the initial prototype using just the pogopins of the Vive Tracker. This is basically a PPgun or ScarVR duplicate but at a far cheaper price. The PPgun is going for $800 right now plus shipping which brings it close to $900. A new gun is out now called the ScarVR which is cheaper at $399 but with shipping to the US comes out to almost $500. Both of those guns use only the pogopins on a new Vive Tracker 2018 with blue logo, or the PPgun can use the trackpad functionality with an older Vive Tracker with gray logo. I’ll remind you those prices are without the cost of the $99 Vive Tracker. The one I’ve built below cost me $65 for the gun, $50 for the custom 3D printed mount, and then $99 for the tracker. I do lack the haptics in my first prototype that the PPgun and ScarVR have but I’ll be updating for that in the future. The point being is that for around $115 you can build your own and avoid be gouged by $500 and $900 prices.

My first prototype above had lots of extra unused buttons much like the PPgun. The PPgun was a stand alone controller which was later modified for HTC Vive tracker use so there are buttons that don’t map to VR. I took the same approach to keep cost low. I also using the isolation mount even though I don’t have recoil currently. There is a haptic motor inside but its not real rifle recoil. Just a buzzer like in PlayStation controllers. I used lessons learned on this first prototype to build a second one with updated mounts. I was able to play Overkill VR using the PPgun setting and it worked like a charm. I’d tried some other PPgun listed games with less success.  Support for games is really non-existent.  The gun is trying to emulate a controller in almost all of the games much like in the old days of VR when trackers tried to emulate a desktop mouse.

I worked on the USB interface to regain the trackpad but haven’t been successful so far. Quite frankly Vive Tracker support is a mess and the behavior seems to change with each new SteamVR update.  I’m starting to get the feeling that HTC has changed the firmware on the Vive Tracker 2017 model because none of the old HID examples for interfacing to the gray logo Vive tracker work anymore. Its already well known that the newer 2018 model(blue logo) doesn’t support the USB interface although HTC says an update is coming.  I’ve been waiting for a response from HTC support for about a month now.  Others trying to use the Vive Tracker USB interface have been waiting much much longer.

Prototype #2

I then started working on the US Army Elite Force Assault Rifle. Here’s a close up of the new REV3 mount. It came out quite nicely. The real 1/4″-20 bolt works a whole lot better than a 3D printed one.

Army Elite Mount

A close up of the mount itself. I’ve switched to silicone wires now to make the pogopin cable to the gun much more pliable. I also switched to a black cable sleeve instead of the previous red. My new mounting knob using an actual 1/4″-20 bolt is also clearly visible.

Elite Army isolation mount
Here’s the Army Elite Force rifle with the tracker mounted.  It works off the pogopins like prototype #1 but with improved wiring and mounting.

Other Guns

I have a couple other gun housings that I may build mounts for as well. One of them is the Top Shot Elite gun controller which can be bought on eBay for $25 for a pair right now. I received a mount for this one but it needs a bit of tweaking before I show it off here. Another is the Recoil SR12 which happens to be on clearance everywhere right now for $40. The SR12 includes a simulated recoil. The recoil isn’t great but it works. Interesting that the color scheme is very similar on both of these rifles.

I even looked at the old Delta Six gun but they all just sold out from China. There were 99 of them a few weeks ago. I may try to get my hands on one from eBay if the price isn’t too crazy. I have a fourth controller coming that I’ll keep quite for now. It looks the most promising.

A final idea is to modify KWA ERG airsoft guns which have built in electronic recoil. That last one is more involved than all the rest as I have to recreate the controller stick and buttons. It also raises the cost significantly because the ERG guns cost $279 by themselves. Baby steps… 🙂

OpenVR-Input Emulator

OpenVR Input Emulator was made by matzman666 so he could play games with his own homemade rifle. It’s said that its not going to be updated due to the new SteamVR controller bindings, but from what I’ve tried so far its still a must. It’s the only thing that works to get the gun correctly mapped in the games. Haven’t been able to figure out all games via the native SteamVR controller bindings. For example, Overkill VR seems to use native bindings and I can align by changing the pose bindings for the Vive tracker. However this doesn’t work for Warcade VR or John Wick Chronicles, but OpenVR Input Emulator works for all of them. Version 1.3 works with the current non-Beta SteamVR version 1539100633 built Oct 9, 2018 at 08:57. Hopefully they don’t break it in the next update!

Vive Tracker Support

Quite frankly Vive Tracker support is a mess right now and looks like it has been for some time.  I now clearly understand why we haven’t seen peripherals come out that use the Vive Tracker.  Pogopin only use of the Vive Tracker is very limited and currently the Vive Tracker is really only good for tracking without any input.  The lack of the working USB input even on the older model (its seems to have been broken with more recent updates) severely limits the applications of the Vive Tracker.  It’s been very disappointing especially since the Vive Tracker was marketed as a way to easily build controllers into the SteamVR environment.  That just isn’t the case right now.  I hope it changes in the future.