VicoVR - the subtleties of the development of the Russian controller for mobile virtual reality
3DiVi recently introduced its VicoVR project at the IndieGoGo crowdfunding platform, where it plans to raise $ 75,000.
The technical director of 3DiVi, Andrey Valik, answered my questions.

VicoVR is a sensor for mobile virtual reality. We can say that this is a 3D sensor with built-in processing of the depth map, which transmits already prepared data via Bluetooth to a smartphone or any other device, thereby bringing your body into virtual reality.
Tell us more about the product
In the hardware part, the sensor consists of a 3D sensor (we use an OEM Orbbec module) and a controller to process the depth map received from the sensor and transfer data to the smartphone.
The software consists of two parts: the
firmware that runs on the sensor controller. Here, the main value is software, which contains our middleware for processing the depth map, highlighting segments of people, further highlighting skeletons and recognizing gestures. We have been developing middleware for more than four years.
The client part that runs on the smartphone actually receives the data and transmits it to the top application.
Thus, we removed the heavy processing of the depth map from the smartphone, freeing all its resources for working with VR. We have worked a lot and continue to work on reducing the delay in processing and transferring data. Much work has been done on optimizing and compressing data during transmission over Bluetooth.
What goals did you set for yourself by launching a crowdfunding campaign?
We set ourselves 2 goals:
- probe the market and find out the interest of people in a similar solution for Mobile VR.
- collect pre-orders and raise funds to start the production of sensors.

What is the difference from Microsoft Kinect?
The physical principle of the sensor is the same, but all the processing of the depth map is transferred to the sensor itself. Thus, we release the host device from the depth map processing and gesture recognition, leaving all the resources for the final application. In addition, we have a wireless interface for communicating with the host device.
We also focused on optimizing our middleware for ARM platforms, which are more energy efficient than desktop solutions, cheaper and more compact, which allows us to process data in real-time on the embedded controller. Moreover, Microsoft does not position Kinect as a sensor for VR applications.
And why did you decide to concentrate on mobile virtual reality?
We see the future in mobile virtual reality, and not in desktop VR solutions.
The advantages of mobile VR platform over heavy desktop VR solutions are the following:
- low cost
- lack of wires
- constant updating of smartphones and a gradual approach of their capabilities to desktop solutions
- increase in the market share of mobile gaming applications

At the moment, Google has released an announcement of the software platform for mobile virtual reality Daydream. This platform will be released this fall and in fact it will be the next Android update for smartphones that will support this platform.
This platform will bring the quality of mobile virtual reality to the quality of desktop solutions in terms of minimizing delays and comfort. VicoVR would be a great addition to Daydream ...
Have you developed all the development yourself or turned to third-party companies?
The design of the sensor case for us was developed by the company Innozen Design, and the rest is all by ourselves.
For hardware, we received support from Samsung - they were interested in our project and as a result we made a controller on an Exynos processor.

Production and assembly where will happen?
Production and assembly will be in China and Taiwan. Final assembly, testing and packaging will be held at Foxconn, in Taiwan. This company consolidates production of most of the 3D sensors on the market. For start-up projects like ours, they produce the first test batches in Taiwan at the head office, then, as production increases, they transfer it to other countries.
Printed circuit boards are manufactured, assembled and tested in Foxconn partners in Taiwan too. Body parts are manufactured in China.
Tell us about the first prototypes.
We started with prototypes using Asus Xtion sensors and Odroid U3 debug boards, the first demonstration was made at the MWC exhibition in March 2015. After that we started developing our controller. In October 2015 we launched the first revision of the prototype already on our controller. Still without a case, in the form of a separate board.

In December, they made the case and the second revision of the controller, collected the first sample and demonstrated it at CES 2016. At the moment, the third revision of the controller with the co-processor is being tested for authorization of the connection to iOS which will go into mass production if there are no problems with EMC certification.
We have made two models of cases, one of an alloy of zinc and aluminum, the second contains partially plastic elements for cheaper prices. Currently testing both.
What difficulties did you encounter during the design process? What has undergone significant changes?
Difficulties were and there are all sorts, it is good when they are, otherwise it would be boring to live :) The very first difficulty we faced was the search for Russian manufacturers who can make a printed circuit board of such complexity as ours.
The technological complexity of the board is due to the components used - these are chips in the BGA package: PMIC with 0.4mm pitch and SoC (Samsung Exynos) with 0.5mm pitch. These housings involve the use of HDI (High Density Interconnection) PCB — high-density interconnect printed circuit boards.
Within this technology, “blind” and “hidden” buried vias are used. Their peculiarity lies in the fact that they are not performed through the entire PCB, but only to a depth of several layers. “Deaf” holes connect one of the outer layers with the inner ones (performed by a laser), and “hidden” ones connect the topology between the inner layers, they do not have access to the outer layers (depending on the diameter and depth, they are performed either by laser or by traditional drilling) .
These types of holes impose a limit on the thickness of dielectrics - the depth of the hole cannot exceed its diameter. The thickness of the dielectric between the metallization layers in turn affects the configuration of high-speed tracks (in our case, this is DDR3). With a thin dielectric, these paths should have a small width (in our case, up to 79 µm) to provide the required impedance. Also, a small width of the conductors is required to display the connections between the Exynos contact pads - we have 65 microns. The gaps between the elements of the topology in the Exynos tracing zone and the RAM are the toughest and up to 65 µm.
For HDI boards, it is typical to introduce several cycles of metallization of the holes, filling the cavities of the micro-holes (for performing the so-called stacked via - composite vias). All this, together with the small size of the topology, requires tighter tolerances on the mutual arrangement of the layers, the pressing processes of thin dielectric materials, the processes of chemical etching and deposition of copper on the foil, the application of the finishing coating on the contact pads.
One of the manufacturers in the Russian Federation first agreed to perform the necessary work, but then began to put forward requirements for the alteration of the printed circuit board to reduce the complexity, we did several iterations, which took as a result almost 2 months, and as a result decided to turn directly to Chinese manufacturers. The first prototype of the board was made in China, and then Foxconn recommended us its partner for the production of printed circuit boards in Taiwan.
Installation of printed circuit boards for prototypes and testing during the development we do in Chelyabinsk on Technocom.
Then there were problems with the purchase of prototype collations. For example, some of the components that were recommended in the Samsung device simply do not come to Russia.
Separate song with customs clearance and collation. For example, we cleared the batch of Orbbec sensors for almost a month.
We will most likely go to the next such iron development in China, where it is possible to shorten the development time by about two times, despite the current “tendency” to import substitution and transfer of production to Russia.
As a result, they first raised the U-Boot in the internal memory of the processor, then for two weeks they started DDR, until they came across three and a half thousand pages in the description of the special memory protection registers, and found the correct configuration using a scientific method :)
Then we loaded the kernel and compiled a minimal distribution based on ubunt.
Then there was a long struggle with the bluetooth wifi controller and its firmware.
At the moment, all the pressing problems of an iron nature have been solved, we are demonstrating sensors at various exhibitions. Development goes in the field of software optimization for our hardware.

Tell us about the stuffing, what processor are you using, etc.?
- The processor is used by the Samsung Exynos HEXA 5260 SCP variant, that is, without DDR memory installed on it.
- RAM too samsung DDR3 dual channel 1GB
- EMMC also samsung 4GB
- Bluetooth-WiFi module AP6210.
How was the design developed?
At first, they turned to a Russian company for design, received sketches, and somehow did not get hooked.
Then we were recommended by Innozen Design, we received sketches of three options from them and the majority liked the concept of Power Crystal.

Now specifically what are you working on?
Now we are working on software optimization. To maximize CPU utilization and reduce processing time. In addition, work is constantly underway to improve the quality of skeletonization.
Special attention is given to the development of applications and approaches to management in virtual reality. At the moment, more than 10 applications have been developed for our sensor and mobile VR, some we do ourselves, some are our partners. You have to look for convenient, intuitive and easy ways to interact with VR.
The main problem faced by users is nausea, now the term Virtual reality sickness can often be found. This happens due to the inconsistency of movements in VR with movements in real life, or rather not even movements, but accelerations that act on the vestibular apparatus of a person.
Many people write that this is strongly influenced by the delay in transmitting movements and movements to the screen of the VR helmet. For almost two years we have been developing and testing various VR applications with active movements, which are monitored by our sensor, and we came to the conclusion that there are 2 types of movements in VR:
Head rotation. In our experience, they should be worked out quickly, with a minimum delay, which in principle is decided by the fact that they are processed in the smartphone based on its sensors or on the basis of helmet sensors, for example in GearVR. To further reduce this delay, the recently announced Google Daydream platform will allow. It is this delay that very critically affects the comfort in VR, because there are always accelerations and there is no way to do without them.
Linear displacement. These movements are not very critical, provided that often accelerations are either absent or they are consistent with human actions. There are two options to avoid discomfort in VR during linear movements:
Elimination of accelerations. It is possible to eliminate accelerations - for example, games like runners with movement in one direction with constant speed or just playing on the spot without moving, or using teleportation for moving in VR.
Coordination of human movements in real life and in VR. If the human brain receives conflicting information from the organs of vision and from the vestibular apparatus, then nausea and discomfort occur. In our experience, if movements in reality (coming from the vestibular apparatus) are consistent with movements in VR (coming from the organs of vision), then the brain easily compensates for the delay between them and there are no unpleasant sensations. Thus, the main thing is to transfer movements from the real world to the virtual world as best as possible, albeit with a slight delay. And as much as possible to exclude unpredictable accelerations in VR.
On an ongoing basis, we are faced with the task of improving the quality of skeleton recognition to reduce errors during transmission.
What are your future plans?
The nearest plans are to collect a sufficient number of pre-orders for the crowdfunding campaign and launch production. Until the end of the year everything is pretty tightly painted
1. EVT (Engineering Validation Test) 03/2016 - 05/2016, we are at the very end of this phase.
- PCB testing and correction
- mold making
- development of testing stands for production
- assembly of 15 EVT samples for testing
- production of devits for developers
2. DVT (Design Validation Test) 05/2016 - 07/2016
- PCB
correction - press correction -forms
- making 20 DTV samples
- beginning certification procedures, FCC, CE, Laser
3. Product Validation Test 07/2016 - 09/2016
- assembly and testing of 100 PVT samples
- certification completion, FCC, CE, Laser
4. MP - 11/2016, the first volume 5000pcs.
the launch of the production of the first batch of 5000 pieces

At the end of this year, it will be necessary to begin the development of the next generation controller using a new processor and a new sensor. We have proposals from Asus to use their new 3D sensor module in the future, and Samsung put forward proposals for new processor lines. We are also looking forward to the release of the Google Daydream platform for porting our SDK and applications.