Nvidia + Nexus 7 + two magnifiers + box = VR helmet

    Good afternoon! The Internet already has accumulated a sufficient number of articles on assembly DIY VR helmets and Habr addition is no exception . But in most cases, the assembly uses smartphones with relatively small displays, which does not allow to obtain a wide viewing angle . Today we will be collecting a helmet based on the Nexus 7, having spent only 600 rubles in the nearest hypermarket. Well, because the main slogan of this article is “Less theory, more practice”, enough extra words, let's get started!

    0. Foreword

    This article is written at the request of users. It is written quickly, on the knee, like the helmet itself. But in it I will try to tell everything from beginning to end. Please note that this helmet is not compatible with native Oculus Rift applications, and all the photos were taken just for the “story”, but were subsequently used in the article, incl. do not blame me.

    1. We go shopping

    So. The first thing we need to do is buy everything we need. I will consider my case, but nothing prevents you from using your wit and your engineering skills in designing your helmet option.

    My shopping list:
    • 1. Cyanoacrylate, by simple superglue. 2pcs = 60rub.
    • 2. Tool box for 11 "= 120 rubles.
    • 3. Mask for welding = 70 rubles.
    • 4. Mouse pad. 2pcs = 80 rub. (or thin foam rubber)
    • 5. A stretching tape. 2 meters = 150 rubles. (Purchased at any sewing store)
    • 6. Magnifiers for 5 times, with a diameter of 65mm. 2pcs = 120 rub.

    You will also need:
    • 1. Nexus 7
    • 2. Nvidia GTX 650 and later (for GameStream)
    • 3. Good wifi router

    I advise you to measure or take the tablet with you to the store. He will be needed to try it on the box in place and choose the best option. The distance from the lenses will be about 6 cm.

    2. Testing the lenses

    I used conventional lenses from 5x magnifiers. Oddly enough, they showed the best performance in testing. The distance to the screen in this case is ~ 6-7cm. You can use other lenses. I have tested glasses with 6- and 8-fold magnification, the viewing angle in this case becomes higher, but the eye is much more difficult to focus. In any case, I advise you to immediately test and figure out the desired distance and position of the lenses! Highly recommendTest already on games with Vireio Perception drivers. We will consider setting them a bit below. Or use native Oculus Rift apps. Demos for Android do not have common standards and for the most part are not designed to work on tablets. Using them, you can spend a lot of time choosing the location of the lenses, and then find that when broadcasting from a PC, the picture doubles. The only application that worked well on my tablet is DiveCityCoaster . For tests, I used a regular box. During the experiments, it turned out that the glass holder from the welding mask is quite suitable for mounting my lenses.

    3. Assembly

    I used a thin rod soldering iron to cut plastic. Depending on the density of the plastic, you can use a file or a knife. When gluing parts, I advise you to sand them, especially with a rubber mask.

    I cut the lid and top of the box, as they were quite weighty, but maybe you will find the best option for the box, the presence of the lid can well insulate the insides from bright light. I made the partition inside out of dark plastic that fell under my arm. It serves as a distance limiter in the lower part, in the upper part the box itself is the limiter. The tablet mount is made from knitting needles with bent ends. Height fitted with several layers of mouse pad. With the rubber side it lies up, which prevents the tablet from sliding inside.

    Now fasten the straps. I advise you to make the mount T-shaped, as a helmet with a tablet inside will weigh decently and all its weight will put pressure on your nose. Testing! Subject does not complain. That's great!

    4. Configuring GameStream

    This technology allows you to stream a picture to a tablet with very good quality and almost no delay. For its operation, you will need an Nvidia GTX 650 graphics card and older. This technology was developed for the Nvidia Shield console, but using the Limelight applicationYou can use almost any tablet or phone. So, we install the latest drivers and put a daw on the GeForce Experience. We launch the application, add the applications we need and turn on the GameStream in the settings. On the tablet, launch Limelight and add the computer by entering its IP address. We select the quality of the stream in Limelight and test it. I must say right away that on an old router standard 802.11n 150Mb, broadcast quality of 720p normally refused to work, which prompted me to buy a new device long overdue. A 300Mb router was purchased, and after installing it, a 1080p broadcast at 60fps started to work.

    5. FreePIE

    FreePIE is very buggy and unpredictable software, but after several hours of war with it, a small script was written and most of the pitfalls were discovered. The points. 1. Be sure to install the apk that comes with the distribution kit on the tablet. There are many versions of Android applications on the network that support FreePIE, but none of them worked for me normally. 2. After running the script inside FreePIE and launching Vireio Perception, in no case do you focus on the FreePIE window, otherwise it will certainly freeze. 3. On the tablet, do not enable Debug mode, when you try to minimize the application in this mode, it will surely freeze. In normal mode, the application works fine in the background.

    The script that I used. To start tracking, press the "Z" key.

    def update():
       global yaw
       global roll
       global pitch
       yaw = android[0].googleYaw + math.pi
       roll = android[0].googleRoll
       pitch = android[0].googlePitch
    if starting:
       yaw = 0
       roll = 0
       pitch = 0
       enabled = False
       android[0].update += update
    deltaYaw = filters.delta(yaw)
    deltaPitch = filters.delta(pitch)
    deltaRoll = filters.delta(roll)
    if math.fabs(deltaYaw) >= math.pi:
       deltaYaw = 0
    if (enabled):
       mouse.deltaX = deltaYaw*1280	
       mouse.deltaY = deltaRoll*900
    toggle = keyboard.getPressed(Key.Z)
    if toggle:
       enabled = not enabled

    We test if the mouse obeys, we take up the last item.

    6. Vireio Perception

    Vireio Perception is not a more stable set of drivers than FreePIE, but it works pretty well. On the main page of the official site of Vireio there is a long obsolete version, the latest side can be found here .

    We start and select "RiftUP!", This driver allows you to adjust the position of the images along the X \ Y axes, configure its scaling, and most importantly shift it relative to the center. The menu during the game is called up by the keyboard shortcut Ctrl + Q, but I strongly recommend that you read the manual that comes with the software.

    7. We play!

    After setting, you can start playing. Personally, I started Mirror's Edge and Portal 2 normally. But Left 4 Dead 2 hung at the start. I have not tried the rest yet. The claimed list of supported games is here . All of the above was launched on Windows 8.1 64bit. The stability of the software as a whole leaves much to be desired, especially after communicating with Oculus Rift.

    I tested Oculus Rift and the resulting quality is not much worse than the original, but the lack of compatibility and constant problems with the drivers make it possible to consider the resulting device only as a means to at least get a bit involved in the VR era and look forward to Oculus Rift and Project Morpheus entering the market .

    A short video demonstrating the operation of the device. Anticipating your question about the inclination of the tablet, I answer, it is inserted so because of rush, during the game it is shifted all the way in.

    I hope this information was useful to you. I will be happy to answer your questions.
    Thanks for attention!

    Also popular now: