After looking at Kevin Mellots VRGun 2 USB System I decided to build my own VR gun. As the VR gun will be quite easy to build it will give me a finished controller that I can use with any FPS game, and will also be suitable to use with my custom VR software. The VR gun will be recognised by the computer as a standard mouse and keyboard making it an ideal controller for any FPS game. If someone has any suggestions or requests, please don't hesitate to contact me through the Contact page.
After purchasing a couple of Trimersion sets I was pretty impressed with the Gun controller that comes with it. So the plan changed, rather than finish rebuilding my VR Gun I decided to modify the Trimersion gun by adding an air mouse to it. See the later posts for information on the mod.
Kevin Mellot's VR 2 USB gun uses components from a Gyration gyromouse and a standard PS2 keyboard for the gun controls. While I was hunting on Ebay for a gyromouse I managed to find a complete Gyration Ultra GT Keyboard and Mouse Suite at a bargain price. By using the components from these I can make my gun completely wireless and utilise the 2 axis gyros from the gyromouse as well as the mouse buttons and scroll wheel, and also the wireless keyboard controller giving me more than enough keyboard keys than I will need.
For the gun I went hunting around toy shops to find something suitable. Kevin used a PC Light Gun but I couldn't find anything similar. After a lot of hunting around I managed to find a light and sound toy gun that already has 6 buttons on it as well as a trigger that is a switch which made it ideal. It wasn't exactly realistic looking but I am not too worried about the looks of the controller, as long as it works. The light and sound gun makes a number of different sounds and has flashing lights but I will be stripping everything from the inside to be able to fit all of the mouse/keyboard components into it. It even has a compartment for 3 AA batteries so I just have to make some room for one more battery.
First thing I did was open up the wireless keyboard. In the top right hand corner is the main pcb with the keyboard chip and wireless communications. This pcb is not too large and will fit into the gun body quite easily. The keys for the keyboard are made up of 2 plastic sheets with traces on them. These connect into the main pcb via a 10 pin and a 20 pin connector. When a key is pressed a contact from one sheet connects with a contact on the other sheet. By following the traces it is easy to map which pin from each connector must connect to make a specific key press. Once I had mapped the keys to the pins I had to work out a way to connect wires to the connectors so I could hook them up through the gun switches. The easiest way I found was to break the plastic surround away from the sockets on the pcb exposing the pins. Then I could solder some wires directly to the pins.
Next I decided what buttons I would need on the gun. It already had a 6 button panel and a trigger switch. For character movement I decided to add a 4 way button from an old gamepad controller. I would mount this on the front left of the gun so I could use the thumb on my left hand to control direction. I also need easy access to some buttons for jumping and crouching while running around so I decided to add 2 buttons to the opposite side of the game pad controller so the index and middle fingers of my left hand would have easy access to them. I dismantled an old game pad controller and removed the pcb and switches. I cut the pcb down just leaving the section with the contacts for the 4 way button. So all of the components would stay in place I cut the piece out of the game pad case that holds the 4 way button. I then cut a circle out of the gun case that this would fit into. I glued it into the gun using epoxy resin and held the contacts and pcb into place with some screws. I also decided to add a couple of other buttons to the gun handle that would be easy to press while still holding the trigger. In the end I ended up with 16 buttons for keyboard keys, the trigger for the left mouse button and one button for the right mouse button. I am also hoping to fit the scroll wheel and mouse button 3 into the gun as well.
Next I had to connect all of the switch wires to the keyboard pcb. Ideally I would have liked to map the directional keys to the standard WSAD keys on the keyboard controller but both the 4 way button pcb and the 6 button pcb use a common connection so the 4 way button pcb has 5 wires and the 6 button pcb has 7 wires. By looking at the key map I chose a common wire on the 10 pin connection that would give me 4 and 6 choices on the 20 pin connector. This meant I didn't have a lot of choice over what key was what. Most games can be congifured to accept any key input so this shouldn't be a problem.
Once the keyboard wires were all connected up and tested I pulled the gyromouse to pieces. I had to make quite a few modifications it. The gyromouse has 2 pcb's that plug into each other making them sit one on top of the other. I couldn't fit it into the gun like that so I removed the 12 pin plug from the top pcb and the 12 pin socket from the bottom pcb and connected the 2 pcb's with a 12 strand ribbon cable. I also had to remove the mouse button switches and solder in wires instead so they can be connected to the trigger and button on the gun. For the gyroscope part of the gyromouse to work there is a button under the mouse that needs to be pressed before it works. I also removed this and soldered in wires to be connected to a toggle switch on the gun body.
I installed the top pcb from the gyromouse at the top of the gun's handle. With some modification I managed to install it in such a way that the scroll wheel could protrude just enough to still be usable. This also gives a 3rd mouse button as well. The picture of the finished gun shows the 4 way game pad in place. By holding the gun in my right hand and grabbing the front of the gun with my left hand I can easily use the 4 way controls with my thumb and have access to loads of keyboard keys and mouse buttons all within easy reach.
Well I finally got around to testing the VR Gun and it was a major disappointment. I found out that the receiver for the Gyration mouse/keyboard suite does not receive any keyboard input while it is monitoring the gyros of the mouse. It can only receive keyboard input when the gyros are disabled. I need it to receive input from both at the same time. I guess I should have tested this before I destroyed a perfectly good wireless keyboard. The only option is to use a different wireless keyboard with a separate receiver. Nothing is every as easy as it sounds.
Well a long time has gone by and I have finally revisited this project. I did get another wireless keyboard to finish the VR Gun I already started, but a few months ago I managed to pick up a couple of Trimersion sets very cheap. These are a complete Head Mounted Display with Gun designed for gaming. I was really impressed with the gun as it has lots of buttons plus 2 gamepad controls as well as 2 joysticks that work as a mouse. It is also wireless which is a bonus. All I need to do to modify it is to build in a gyro mouse so I can aim with the gun rather than via the head tracker.
First I decided to hunt around for a new gyro mouse and discovered the Rechargeable Wireless Air Mouse WM001 by Omnimotion. After disassembling this unit I found it to be perfect for the project. The photo to the left shows the circuit board from inside the air mouse. The gyro is mounted on a small pcb attached to the main board. I removed it from the main board and added in some wires to connect them together. Luckily the air mouse still worked after I stripped everything down and did this. Now I can mount the circuit board flat inside the Trimersion gun and fix the gyro in the correct position.
In the photo to the right you can see where I have mounted the circuit board for the air mouse inside the Trimersion gun. I also drilled some holes and mounted the air mouse switch panel so the LED's could be seen from the outside. I extended the power switch and the enable/disable gyro switch and mounted them inside the gun. The usb connection to charge up the air mouse battery points out the front of the gun. I could probably have powered the air mouse from the same supply as the gun, but I wasn't sure if the voltage converter on the air mouse could handle the 6 Volts going to the gun so I left the mouse powered from its own 4.2V Li-Ion battery.
To make room for the air mouse addition I removed the battery pack from the gun. Originally only 4 x AA batteries are used to power both the gun and the HMD. I found that when using the Trimersion HMD with the gun the batteries only lasted around 20 minutes so an external power supply will be an improvement as well. In the photo to the left you can see where I put a power socket into the handle of the gun. Now I can either clip a bigger battery pack on to a belt or plug in a mains powered supply.
That's it basically, the gun is now modified to take an external power supply and has a wireless internal gyro mouse added. Works perfectly. The photo to the right shows the outside of the finished mod, with switches and visible LED's. Once I test it out in a game with an HMD I will post some video of it in action.