Overview
I was the hardware lead of Google’s 6DoF VR controller project. At the time (2016), no other VR system had ever launched standalone (no external hardware) VR controllers — the existing tracking technology was too hard to manufacture, too high power, and too non-performant. I worked with two algo engineers to first prove out a low-power 6DoF tracking technology using off-the-shelf infrared LEDs and photodiodes and once the the technology passed feasibility gates, I built and led a 4-person hardware team to productize and ship 3k+ controllers to developers across the country.
What I Did
In the early days of the project I did everything hardware related — electrical design, mechanical design, and firmware. I built over 50 prototypes sometimes at the subsystem level to prove out certain concepts but also at the full system level to showcase the technology in controller form-factors. Some of the hard problems solved in the R&D stage were:
- Ambient light rejection — developed a photodiode frontend that allowed for the controllers to be used outdoors in full sunlight without saturating
- Wireless time-syncing — sub-microsecond syncing was achieved by diving into the low-level capabilities of BLE
- Interleaved ADC — very fast ADC sampling of 8 photodiodes (900 ksps / diode) was achieved with clever firmware tricks
- Fast, high-energy LED pulsing — pulsed LEDs with 1 A of current for microseconds without causing crazy EMI or brown-outs in the rest of the system
At a certain point the demo was good enough to get the green light for productization. At that point I became the hardware lead for the project, given the unique opportunity to build a 4-person team, spin up a contract manufacturer (CM) in China, and manage the hardware development of a prime-time-ready controller. It also meant that we fielded inbound requests from different fronts — management, the user experience (UX) team, the human factors (HF) team, the industrial design (ID) team. I managed those requests — things like controller weight, the number of buttons, the touch and feel of said buttons, the battery life, etc. and turned them into engineering deliverables for the team. I also managed the CM’s engineering team who we had doing most of the heavy-lifting on the mechanical design side. Finally, I was responsible for manufacturing including assembly SOPs, test fixture design, and test bring-up.
Traveled to Taiwan and China to complete 4 builds in 9 months and delivered 3k+ controllers that got great reviews on Twitter and Reddit, you know, where developers share their thoughts.