Stuck at home due to pandemic lockdowns, I turned to virtual reality as a way to keep me occupied during quarantine, but I was very unimpressed by the controllers used to play games in VR. Not only are they clunky and unintuitive, but they also don’t allow you to use your hands like you would in real life: touching, grasping, and feeling objects.
Solutions do exist, such as commercial VR gloves for professionals, however these cost thousands of dollars and are virtually inaccessible to the average consumer. A few consumer products are available but these can’t do force feedback to make it feel like you’re really holding things, and they still cost hundreds or thousands.
I really wanted to experience using VR gloves, so I decided to take a shot at building a pair for myself. It started as just a shower-thought, then some napkin drawings, and then eventually I set out to actually build, wire, and program a prototype of my gloves that actually worked. And instead of thousands of dollars, I was able to build a pair for just $22.
For each glove:
- Potentiometers, 10kΩ, linear taper (5) such as Amazon B07VQTFFGC or Aliexpress 32869141485
- Retractable badge reels (5) used for their rotary springs, such as Amazon B0732Z7T8W
- Servomotors, 9g (5) for force feedback haptics
- Arduino Nano or ESP32 microcontroller board or clones; use ESP32 for Bluetooth support
- 3D printed parts: spools, tensioners, finger end caps, etc. Download the free files for printing.
- A comfortable glove made of material you can glue onto
- Elastic for mounting controllers/trackers
- Jumper wires, breadboards, JST connectors, etc. depending on wiring method of choice
- Batteries (optional) USB battery bank or 4×AA batteries for wireless operation
- 3D printer I use an Ender 3.
- Hot glue gun
- VR-ready PC with any PC-VR headset Oculus Rift/Quest, Valve Index, HTC Vive, etc.
- Soldering iron and/or crimping kit (optional) for more robust wiring
Finger Tracking for Cheap
Some gloves use flex sensors to detect finger position, but these are expensive, about $10 each — that would be $100 or more for the whole hand. Instead, the LucidVR haptic gloves track your fingers using spools of string that are attached to the end of each finger.
As a finger moves, the string gets pulled out of the spool, rotating a potentiometer, which is measured by an Arduino. The spool is spring loaded, using a rotary spring that’s recycled from cheap badge reels, so it retracts automatically.
The finger tracking is then calculated and sent to a VR-ready PC over a USB cable or Bluetooth. This allows you to see a representation of your hand in virtual reality that tracks your fingers and lets you interact with objects in the virtual world.
Pullback Force Feedback
Not only can you interact with virtual objects, but now you can feel them too. Prototype 4 of the gloves includes servomotors which pull back on the strings when you hold an object in-game. This makes it feel like there is actually a solid object in your hand, even allowing you to feel its shape! Adding the servos raises the price a little: expect $20–$30 per hand, depending on where you find your parts. (Some people build only one glove, so they can use a controller in the other hand.) The cost for my current Prototype 4 glove is $23 per hand so far.
All of this software runs off the open source driver called OpenGloves that I have been programming together with a co-developer, Danwillm, on GitHub. The OpenGloves driver is now available to download on the Steam store.
Viral VR Vids
At the same time, I’ve been publishing videos of my progress on the gloves online in hopes of getting more people involved with the project. To my surprise, one of my very first videos on my VR gloves went viral, with over 8.4 million hits worldwide. Feedback and support started pouring in. It turns out that people enjoy watching my janky-but-functional gloves slowly evolve into a more and more polished product.
Since then, I’ve been working to add lots of awesome features to the gloves (with hundreds of hours coding them to work). This project has now amassed nearly 400,000 regular followers on TikTok and YouTube, and continues to grow every day.
Together We Can Rule
You can build the Budget VR Haptic Gloves right now and help develop the next prototypes. All the resources for my latest prototypes are available at lucidvrtech.com — the parts list, wiring diagram, STL files for 3D printing, Arduino software, and our OpenVR driver. You can find tutorials on YouTube that teach how to build the gloves. And you can get assistance from our LucidVR Discord community.
The gloves are currently compatible with any SteamVR game that supports Valve Index finger tracking, and we are gradually working to roll out mods to add haptics into games.
We’re actively looking for contributors to the project. Contributions to the driver and hardware GitHub are always appreciated, and we are searching for more experienced game modders to help integrate our gloves into more games and platforms.
Next Level Features
Force feedback is now working in the game engine on Prototype 4. In Prototype 5, I’ll be reducing the bulk of the glove as much as possible (by switching to Hall effect sensors), as well as adding simulation for squishy objects by adding force sensors. A few more planned features we’ll experiment with in later prototypes are finger splay tracking, integrated 6-DOF tracking, and vibration haptics.
This article appeared in Make: Vol 78.