Hello, Instructables! Today, I will be showing you how to make your very own DIY Oculus Rift called The Nova!
In this instructable, I will be walking you through the design of The Nova's headset, the build process of said headset, and the head tracking techniques used in order to create the illusion of virtual reality.
Without any further ado, let's get to building!
Step 1: First Things First: Why go DIY?
Good question! With the Oculus Rift releasing sometime within the next year or so, and plenty of Oculus Rift Development Kits available for sale and preorder, making your own Virtual Reality Headset would seem a bit absurd.
However, there are many reasons why you'd want to make your own:
Let's face it-the Oculus Rift won't get here soon enough. Why wait, when you can make your own?
The Virtual Reality market is growing at an exponential rate. You can get in on the VR craze and learn a thing or two by building your own VR headset-you could even brainstorm a new VR concept that you can implement into your own VR headset and share with the world.
The Oculus Rift has many great features and looks pretty slick, but what if you could come up with a better design? One that suits your face better, maybe? Or maybe make one in a different color? The sky's the limit: this is YOUR VR headset!
The total build time is ~30 hours, including cutting out the pieces, hot gluing everything together, soldering the head tracking LEDs, and setting up the software. You can start making your own VR headset on a Friday afternoon and be up and running by Sunday afternoon!
Looking at you, Palmer. I don't blame him though, 2 billion dollars is a lot of money to go into making a high-quality and affordable VR unit, so maybe things will work out in the end. Until then, you can still make your own VR headset for less than half the cost of the current development kit!
Are you convinced yet? Great! Then let's go on to the next step: Parts and Tools!
Step 2: Parts and Tools
Here are the parts and tools you will need for this build, separated into categories:
HDMI+VGA+2AV+Rear View Monitors+7inch 1280*800 N070ICG-LD1 IPS LCD Display:
Head-Mounted Display Casing:
***CAUTION: DO NOT BUY THESE LENSES. PLEASE READ BELOW FOR MORE***
Three-Point Head Tracking Unit:
Tools and Misc. Parts:
Oculus Rift Development Kit: $350.00
You can find a spreadsheet of the parts and links to buy each part by clicking this link.
Some notes, as well as some things I forgot to mention:
Answer: Look at the palm of your hand. Currently you are looking at your hand from a comfortable distance, which allows your eyes to focus on the lines and creases of your hand. Now, take the palm of your hand and look at it from roughly 2 inches away. Can you see the lines and other small details of you palms? No. This is because your eyes cannot focus at this length. This is where lenses come in, because they allow you to look at objects with higher detail at a closer distance.
You're going to be putting a screen in front of your eyes at roughly 2 inches away. The lenses allow your eyes to focus on the images on the display at a close distance.
There is no getting around this; you will need lenses, period.
Step 3: Prototyping
Here's the fun part of making the head-mounted display: Designing and Prototyping!
Thankfully, I've already gone through all the boring stuff that went into making the design so you don't have to. You can download the digitally rendered dimensions in a .pdf file below, so all you have to do is print it out and go on to the next step.
However, if you want to know how I arrived at the design, you can keep reading below:
With the design ready, we can now move on to cutting out the pieces!
Step 4: Cutting out the Pieces
Now that we've designed out headset, it's time to get down to the real work: Cutting out the pieces!
I taped down all the pieces to the ABS plastic and traced along the outsides using a razor. Since the plastic is black which makes it difficult to see razor cuts, I taped over the cuts with invisible tape in order to see the pieces better (irony, huh?). I then used a hand saw to cut everything out-however, it's likely much easier to cut with a laser if you have a laser cutter available to you.
Note: Use eye protection! No matter how cool you think you are, being blind from some freak plastic-cutting incident isn't cool!
After cutting everything out, you need to sand the edges down. After all, you don't want plastic splinter bits sitting on your face! I used a large and rough sanding tool to get the big chunks of plastic off the edge, and then followed up with a smoother sanding tool to smooth everything down.
Note: You should still be using eye protection! Your eyes do not like plastic dust!
With all the pieces cut out, you can now move on to gluing everything together. Fire up your hot glue gun, we're almost there!
Step 5: Putting the HMD together:
This step is fairly easy, just hot-glue all the pieces together.
Step 6: Take a break!
Congratulations, you now have yourself a 3D Head Mounted Display!
If you adjusted the lenses properly, then you can now watch Side by Side 3D videos and play certain games in 3D!
Here is a roller coaster video you can use to test out the 3D effect:
Also, you can check out this breathtaking video of "The Jump from Space":
Speaking of roller coasters, you can download a roller coaster demo for the Oculus Rift (although without head-tracking) here:
It will likely be in a higher quality than the video above-plus, you have a whole park full of rides to choose from!
Want to watch your own regular or 3D videos in a proper Oculus Rift format? Use Bino to watch your videos in side-by-side mode. It's a free and open source application for Windows, Mac, and Linux. Download it from here: http://bino3d.org/
You can also use your desktop in a 3D space using an application called Ibex. This will allow you to view your desktop as a sort of "window" in a beautiful 3D world so you can use your desktop as normal while wearing your HMD. It's free and open source for Windows, Mac, and Linux. Download it from here: http://hwahba.com/ibex/
Go ahead, show your friends and family! When you come back, we'll go into detail about a very important part of your new VR Headset: Head Tracking.
Step 7: Head Tracking: Why it's so important
Welcome back! It's time we spoke about something very, very important: Head Tracking. You may think: "Well, I could just use the mouse and be perfectly fine," however, this is meant to be a Virtual Reality headset, not a "Look around with the mouse with the convenience of a 3D display strapped to you face" headset.
If you don't care about any of this and don't feel like reading all of it, then you can proceed to the next step-you won't be missing anything crucial to the build. It's good to know your options though, so read on if you're interested!
So the question here is: "How do we implement head tracking into our VR Headset without breaking the bank?"
There are many ways we can implement head tracking into our device:
So, what are the main differences between these methods? First, we'll need to know some basic head-tracking terminology:
Yaw: How far you've turned your head left or right
Pitch: How far you've turned your head up or down
Roll: How far you've rolled your head clockwise or counter-clockwise
X: How far you've moved your head to the left or right
Y: How far you've moved your head up or down
Z: How far you've moved your head towards or away from the screen
Drift: When, after moving the sensor, your original orientation is not the same as when you started
Degrees of Freedom: The extent of which your head is tracked, for instance, 2DOF only tracks yaw and pitch, 3DOF tracks yaw, pitch, and roll, 6DOF tracks yaw, pitch, roll, X, Y, and Z, and so on.
Latency: How quickly your computer takes the motion of your head and sends the signal saying you've moved your head. The lower the latency, the better.
We'll start our evaluation on the pricey side, with the 3DOF sensor. This is mainly in reference to something like the FSM-9 module from Hillcrest Labs.
Now, let's look at an alternative: an Arduino sensor. This generally refers to the 9DOF sensor provided by Sparkfun, but can be applicable to the many other kinds of sensors available for Arduino.
Also, here's an instructable on how to make your own Arduino head-tracking mouse if you decide on going the Arduino route.
And thirdly, we have something called an "air mouse." I personally have never used one before, so I'm not aware of all the pros and cons. For the sake of this list, we're going to include all devices in this category that use gyroscopes to track mouse position, which includes air mice, iPhones/Andoid phones, Wiimotes, Playstation Move controllers, and the Razor Hydra.
Now, for the least expensive and least time-consuming method:
So then, what should you use for head-tracking? It all depends on how much you're willing to spend. How valuable is head-tracking quality to you? You can sacrifice latency and accuracy for the sake of staying within your budget, but it depends-some people don't mind the latency at all, while others get motion sickness from it.
Since I'm a broke college student and don't feel like spending all of my money, I'll be showing you step-by-step how to set up a 3-point infrared head tracking system. Let's get on with it, then!
Step 8: Wiring and Mounting a 3-point Head Tracking System
This part can be a bit tricky if you've never done any kind of LED work before. The amount of wiring can also make this step confusing, but if you've never done this before, don't worry! Just follow these steps, and with the help of the instructables below, you'll be done in no time!
First, we'll need to diffuse the LEDs. This is because while the LEDs are viewed from the front, they're bright, but are nowhere nearly as bright when viewed from the side. Diffusing the LED allows for even lighting when viewed from any angle. If you want to know more about how to diffuse an LED, click here to go to an instructable on how to do so. All you have to do is run some sandpaper along the surface of the LED until it looks cloudy all over, and then you can move on to soldering the LEDs together.
Next, we'll have to solder some wires together. You can follow the simple schematic above in case you get lost or confused. If you don't know how to solder wires together, click here to go to an instructable on how to do so. It's a lot simpler than you think-just dab some solder on your soldering iron, twist the wires together, place the soldering iron on the wire, and then run the solder along the exposed copper. Remember, the long wire of the LED is the positive side, and the shorter wire is the negative side!
Once you've soldered the LEDs together, you'll need to find a place to mount the battery pack. Since the HMD is already fairly heavy, I decided to hot glue it to the headband.
You can check to see if your LED system works by aiming your phone's camera toward the LEDs and flipping the on switch. If they show up as bright white light, then congratulations, you've finished your head tracking system!
Now, we need to remove the infrared filter from the PS Eye.
Step 9: Removing the PS Eye Infrared Filter:
The photos here do not belong to me, the belong to Code Laboratories. They did a much better job of showing you how to remove the IR filter than I ever could-follow the link below for a walkthrough of how to remove the IR filter directly on the Code Laboratories website:
Before you can use the PS Eye for IR tracking, you will need to remove the IR filter. Even when I was using the super-bright IR LEDs, the IR filter on the PS Eye was still too strong for any actual IR tracking. This is where removing the IR filter comes in.
This will permanently damage the picture quality of your PS Eye. If you intend on using your PS Eye for anything other than IR tracking (such as for the PS Move or use as a webcam), you should buy a separate PS Eye for this step.
Here are the steps you should take toward removing the IR filter of the PS Eye:
If you need any additional help, you can follow the video guide below:
Now that the IR filter is removed, we can now move on to setting up the software for 3D and head tracking!
Step 10: Setting up the software:
Now we're ready to play some games!
Keep in mind that this step is a general how-to guide and that each game has its own settings that need to be adjusted prior to loading each game. This is not a plug-and-play deal-you will need to adjust the settings on your own to fit your game!
That being said, let's go on to install the software.
First, let's install the PS Eye driver:
Next, let's set up FaceTrackNoIR:
Now, let's install the Minecrift mod:
Last, we'll install the Vireio driver:
Step 11: Done!
Congratulations, you have officially built your very own Virtual reality headset!
So, what can you do?
The beauty of a DIY VR Headset is you can modify and improve it as much as you want, because you know exactly how you made it! I'll be setting aside a small budget for improvements in the future, so when I find something that I can implement into The Nova, I can take it apart and make it better.
Step 12: Updates and improvements:
This step is a placeholder for any updates and/or improvements made in the future. As new technologies arise, more affordable options will become available, and when they do, I will definitely improve the Nova!
Check back every couple months or so, you might be surprised what new updates you'll find!
Instructable Update 1.0.1
Instructable Update 1.0.2
Instructable Update 1.0.3
Instructable Update 1.0.4
Instructable Update 1.0.5
Headset Update v 2.0
Removed entire infrared LED setup in lieu of a wireless air mouse, hot glued to the top of the HMD.
After finishing the initial design, I decided that I could probably do a much better job. After researching some different designs, I decided to take apart the Nova entirely and start from scratch. The new design allows for the use of a set of flat-visor welding goggles (You can buy them from here) to be attached and offers a much lighter design than the previous one. The welding goggles completely block out outside light and conform to the face much better than the ski goggles, and they have air vents to prevent the lenses from fogging up. They also have a flat visor which can be switched out with my custom-made visor, which holds the two 5x loupe lenses. This means that the display can be detached from the lenses for any reason, such as removing dust from the screen. The lens are now much closer to each other in the visor, which meant I had to set up a divider inside the case to alleviate cross-talk between the two images. Cross-talk is where you see part of the image meant to be seen by your right eye in the image you're supposed to see in your left eye, and vice-versa. The divider was made by cutting out a piece of cardboard, painting it black, and then taping it to the edge of the visor where the lens slide in to hold it in place. The IR tracking setup from before worked well, but had some glaring flaws that I felt could be fixed with a new head tracking system. So I decided to do something different this time and ordered a cheap air mouse (You can buy the one I used here, but I'd recommend getting a better and more accurate model than I did). I hot glued the PCB of the air mouse to the top of the Head Mounted Display, which means all you have to do is hold your head at a regular position, turn on the air mouse, and you can now move the mouse (and subsequently, the game's view) with your head. It works well, but has some drift that can be adjusted manually with the mouse.
Want to find more DIY Rift projects like this one and share your build on Reddit? Come over to /r/DIYRift and share your builds and ideas!