The Google Daydream 6DOF Prototype

The Google Daydream 6DOF Prototype

If you have checked out the Google Graveyard, you would know Google is not new to cutting off projects. Today, as Google is arming up to the release of Android XR, I thought it would be fun to share what Google imagined XR to be years ago, before they canceled it internally

Many users will remember Google Cardboard, Googles cheap VR platform that worked by shoving your smartphone into a cardboard box. It was intended to be a cheap way to give everyone a way to experience virtual reality. What I and many virtual enthusiasts believe, however, is that the experience was so bad that it actually put people off from VR as a concept. Google cardboard was destined to do nothing more than encourage cheap crap plastic VR phone cases to be mass produced and sold in every dollar store, to eventually clog up landfills and contribute to our microplastic poisoning.

So Google iterated onto Google Daydream, essentially the same thing but with higher standards hardware wise and with better software. It still used your smartphone as your display, which of course still causes issues, and so eventually they came out with the Mirage Solo with Lenovo, which essentially was a Google DayDream headset with the phone built in, like a Quest 1.

Credit to The Verge

And while the Mirage solo had revolutionary feature of having the headset do 6DOF tracking, the controller itself was still 3DOF, in other words it could only do rotations.

I am not going to go too deep into the headset itself, but you can watch reviews online to see what it was like. My personal review is I found it uncomfortable and with the OS abandoned, there is no future, so I wouldn't bother with this headset normally.

However, it seems that Google was themselves not happy with the controller's limitations, and were in fact working on a 6DOF system (before Google canceled it I guess). Google released to developers special controllers and tracking plates that can be placed on a Mirage Solo headset to enable 6DOF controller tracking mode. While I received the prototype / devkit with the headset, from my understanding, these drivers actually exist on all Mirage solo headsets, there should be nothing special about mine.

So lets talk about it.

The panel itself is simply a plastic shell with LED emitters, that connects to the headset via the charging USB port (hot swap is supported) and is "held" in place by the bands.

The tracking plate front, which has 2 hole cutouts for the Mirage Solo cameras

I put "held" in quotes because these bands have less staying power as Google's products themselves. The bands are supposed to hook over the outer rings of the headset. The problem is those rings are tilted outwards so the whole thing slides off immediately! Honestly, I couldn't get the front cover to stay on for more than 20 seconds. I used this headset for a few minutes at a time because I was just toying around with cool abandoned tech and I wanted to front this out of the window. I can only imagine how Sisyphean trying to actually develop using this platform must be!

And before someone suggests using tape or something to hold it in place:

The inside of the tracking plate, which is sandwiched to the headset

The controller "connection" button is on the INSIDE of the panel, and I have needed quite a bit of access to it to keep those controller working. That makes using tape wildly impractical, and other methods such as Velcro just have too much wiggle to be stable.

The controller, on the other hand, is much better designed.

A 6DOF controller next to a standard Google daydream 3DOF one

The controllers have the same button layout on the front, with a touchpad, and 2 buttons. The 6DOF controller however is more capsule shaped compared to the flatter 3DOF controller, and you can also see there is a large plastic orb with trackers inside. They are fairly light-weight, and feel comfortable for me to hold.

The 6DOF controller has additional trigger buttons, but no volume buttons

The back is a different story. The 3DOF controller actually has nothing there, while the 6DOF controller has 2 digital buttons (not analog triggers). The 6DOF controller has no volume rocker, but it does have a battery compartment for 2 AAA batteries (the 3DOF controller recharges by USB).

The inner battery compartment
A USB C port and a on/off switch, where "red" means on, for some reason.

The 6DOF controller also has a USB C port on the bottom, however I have not been able to get it to start with that port, nor do I get any connection to a computer when I plug it in (not even a COM port).

The internals after opening up the controller from the single screw in the battery compartment

Popping open the controller we can see the layout of the internals. Conveniently, all components are attached via cables / ribbon cables and are easily detachable (where was this practical design for the front cover???)

A closer look at the ICs on this side of the board

There are some more screws keeping the board in place. After disconnecting the cables and removing the screws, we can remove the entire board from the plastic shell.

You can see how the buttons from the front of the controller hit the buttons right on the circuit board
You can see how the buttons from the front of the controller hit the buttons right on the circuit board

On this board, we spot a ARM STM32F429 controller and a BlueNRG-2, which is presumably used for the wired communication.

You can actually spot what seem to be pinouts for serial communication on the front side of the board, but unfortunately no plug is installed for it (though you can see mounting holes). If I were to gander, that is what was used to develop the firmware of these controllers, but since this particular dev kit went to developers to make applications, the connectors weren't included.

Putting the controller back together (and yes, it still works), we can test the 6DOF mode in the headset itself.

I should note that I was unable to get 2 controllers to ever pair at one time. I imagine that wasn't intentional on Google's end, but since I needed to use one hand to keep the front tracking plate from falling off, I wasn't missing much anyways.

All the videos were recorded using the built-in screen recording feature of daydream, which is triggered via holding the home and volume keys on the controller. Since the 6DOF controller doesn't have volume keys, I had to start the recording from the 3DOF controller, then plug in the face plate to switch to6DOF mode (this disables the standard 3DOF controller).

The moment you plug in the plate, the UI asks you to turn on the 6DOF controller. This works pretty fast if the controller is already paired, though you will notice in some applications (such as Chrome here), the 6DOF controller was stuck emulating a 3DOF one. It only works in the menu and the home environment.

As you can see, once I enter the menu / home environment, I can see the Neck Massager  model work and move around properly in 3D space, not only bound by rotation!

You may also notice that the tracking quality is crap., which it often skipping from location to location. To be fair, this may have been since I was using one hand to hold the tracking plate from the other edge and the loose bands may have had led to momentary occlusion. Still though, this is pretty bad.

Loading in a VR app, we see similar behavior as before, where the controller emulates a 3DOF one. Unfortunately all the VR applications I tried that were on the headset had this behavior.

Interestingly, I did find a very early build of Minecraft PE on here. I don't personally know if this is a known alpha build version, but I found the inclusion of the "LENOVO-VR" at the top a bit odd. Hilariously while technically the 6DOF controller was working on here (Other 2D programs such as chrome did not work this way), it was only able to emulate touchscreen presses. Looking into the options of the game, I can find nothing unusual as far as I can tell. This was a bog standard 2D game.

And that's it for this adventure. I dug around a bit more in the headset, found some games that likely were later scrapped as Google Daydream itself was killed off, but nothing that worked in 6DOF mode or particularly interesting to share. This is certainly one of my more interesting headsets for my VR collection, even if it isn't particularly useful in the current age.

As always, I am working on other projects, but I wanted to share something interesting here instead of forgetting about it. Feel free to reach out on discord (please note I will not be sharing the software of this headset), and see you all next time!