Oculus Go, like all products, is the result of a series of compromises around cost, schedule, quality, and competence. It is clearly the best standalone VR platform on the market, but anyone with a bit of technical skill can make it even better.
I have been modding my Go over the past few months, and the resulting device is a huge step up in terms of overall experience. Once you GoBlack, you never go back! Here is a list of upgrades, along with a bit of explanation on the thinking behind each of them.
The shell of a stock Oculus Go is made of ABS plastic, and the facial interface and head straps are a blend of various synthetics. The coloring is a nice mainstream-friendly gray that does a good job of hiding minor defects in the injection molding process. I am a strong believer in black VR headsets, so going dark was at the top of the upgrade list. This is especially important for all the surfaces on the interior of the facial interface, given the critical role they play in controlling contrast and other aberrations. Any light from the displays, nose opening, or other gaps is reflected off those surfaces and back into the lenses/optical cavity – if you don’t like god rays, learn to embrace matte black surface treatments!
Painting the outer shelI would have increased weight and still not solved the facial interface problem, so I decided to dye everything with polyester dye. WARNING: Be careful if you try this yourself. Dying plastics requires high temperature near-boiling liquid solutions, and if you go even a few degrees too hot, you will warp your plastics almost instantly. If you go too cool, the dye won’t permeate properly. Also, you can burn yourself.
Oculus Go is pretty heavy. The overall weight pencils out well on paper against the Rift, but most of that is due to the much lighter fabric straps, which don’t really contribute much to perceived weight or skin shear during head movement. The actual face-borne unit weighs just over 400 grams.
With a few mods, I was able to get that down to just 280 grams, and most of the gains are out at the front edge of the headset where it matters most. Totally subjectively, it feels like a 50% weight reduction, especially during head movement. Here is how I got there:
Battery Swap – I removed the battery from the front of the headset and relocated it to the top of the head, where it attaches with velcro to the over-head strap. It was originally a pretty low-end 2600mAh 18650 cell that provides about two hours of battery life, but I decided to spend a few dollars on a nice 3500mAh that pushes over three hours of juice. It connects through a new magnetic pogo-pin connector I installed, which allows me to easily swap to a new battery pack whenever I want to keep playing. Much nicer than charging while playing, which can overheat the headset. It would be easy to create larger battery modules that allow for all-day use, but I don’t think I am likely to bother.
Thermal Management/Heatsink: Oculus Go was designed with a passive cooling system that uses a heat pipe to spread heat from the Qualcomm Snapdragon 821 SOC across the aluminum faceplate. Unfortunately, the system is both heavy and located way out at the front of the headset, maximizing impact on comfort. I am brutal on headset weight – HMDs, like rockets, get huge gains out of seemingly small decreases in weight.
To solve this, I installed an entirely new cooling system. It uses a much shorter and lighter heat pipe to move heat from the SOC into a nearby array of small aluminum fins that are cooled by the flow of a small micro-blower. Power for the system is pulled off the mainboard, and the aluminum faceplate was replaced with lightweight tinted/polarized plastic. I think it looks pretty sweet.
FCC Stuff: I pulled the lids and shielding off everything. This only saved a couple grams, but I liked the aesthetics of being able to see all the support circuitry for each chip.
Plastic Reduction: I could have been more extreme on this, but I wanted to maintain durability, rigidity, and a somewhat stock appearance. I was able to trim a lot of the plastic that was used to mount and support the thermal management system and front faceplate, but my friend GOROman really took this to the extreme in his modded Go!
Misc Other Stuff
IPD Adjustment: I gave up on this for a variety of reasons. Oculus Go is a fixed-IPD headset, so the higher resolution is not useful for people with particularly wide or narrow IPD. I have a pretty wide interpupillary distance, around 70mm, and Oculus Go is somewhat unusable for me – mismatched geometric distortion, scale, and field curvature causes eyestrain and blurriness. I suspect most of the people using Go on a regular basis have a more average IPD, which is unfortunate – we designed the Rift to accommodate male and female users from 5th to 95th percentile, and we were really proud of that. As displays become higher resolution, proper optical adjustment (or custom sizing) will become even more important. The VR revolution should be accessible for everyone, no matter the distance between their eyes. I will be writing more on this in the future.
Keyboard for Mobile Computing: One of the most exciting things about Oculus Go, in my opinion, is Virtual Desktop support! It allows me to have a full Windows setup almost anywhere I go, complete with giant monitor. I built myself a custom PC inside one of my favorite mechanical keyboards, a dampened Happy Hacking Keyboard Professional Type 2 S with blank PFU keycaps (no need for labels you can’t see in VR anyway!) I might do a writeup on this at some point, having a full size keyboard+Windows+GoBlack is so much better than any laptop could ever be!
6DOF, Oculus Quest, NOLO, etc: I am not using GoBlack very much at the moment, mostly because of the IPD issues mentioned earlier. I am very glad Oculus Quest has IPD adjustment, and really look forward to it! For anyone who cares, wait just a little bit longer for the vestibular fix I have been talking about.