VR 6 DOF Controllers

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.

Links

MORE PICS