Examining the P5 Glove by Essential Reality

Figure 1: The P5 Glove with tower in background (image differs slightly from real thing)

This is a cursory technical look at the P5 3D Virtual Reality Controller. Before I dissassembled the tower, I assumed it contained two optical cameras (web-cams) behind the dark semi-transparent window, at the top and bottom of the tower. I thought the hardware used some sort of fancy algorithm to simultaneously track the various LED lights on the glove. To my surprise, this is not at all how the P5 glove works.

Figure 2: The P5 Tower

Tower Dissassembly

  1. Take off the rear cover. Just slide your finger nails into the cracks and pull outward. The top of the cover (wide end) comes out first. You'll notice two plastic bars once the top is partially exposed. Press down on these to release the latches, then it will pop right open. (or you can force it by pulling hard and it will open)

  2. Figure 3: The Rear Cover Removed
  3. Two screws are now exposed. Use a #1 (Phillips) screwdriver with a medium diameter to remove the screws.
  4. Remove the four #1 screws at base of the frame.

  5. Figure 4: Removing the four screws at the base of the tower.
  6. Unplug the micro-ribbon cables that connect the two detectors to the main PCB (printed circuit board).

  7. Figure 5: Disconnecting the micro-ribbon connectors.
  8. Slice through the sticker at the bottom of the base using an exacto knife.
    Note: This does not appear to void the warranty since the label does not say so explicitly. However, I am unsure, so do so at your own risk.
  9. The frame splits in half. It is pretty easy to gradually pry apart the two halves. Work one area at a time, moving from bottom to top. The top of the tower won't slide apart as easily because there is a latch, but it's pretty easy to seperate.

  10. Figure 6: Splitting the tower in half.
  11. Now that everything is exposed, pull the wires out of the plastic molding. This includes the eight-pin DIN connector, a power jack, and an LED. The LED snaps out of the black window cover pretty easily, but try not to pull on the wires.

  12. Figure 7: The cover with the wires removed from frame.
  13. Remove the three tiny screws on the main PCB using a #1 20MM screwdriver from a precision screwdriver set. Make sure to press down firmly, otherwise you might strip the screws. This will allow you to remove the PCB from the black plastic cover (note the wires are attached to the PCB.)

  14. Figure 8: Removing the tiny screws.
  15. I only took off the top position detector. These snap firmly into the cover, but curiously the factory workers in China also used a glue gun to hold it in place. On my model, this seemed totally unnecessary since the camera was almost impossible to pry off with the glue removed. Anyway, use a small screwdriver to pop off the glue rivulets. Next, use your fingernails to pull both clamps on one side only, then force a tiny screwdriver under the board (being careful not to damage the PCB circuits on the other side) and pry up. It should pop off. Make sure to take your time on this stage because you could ruin everything here. It took me about 5 minutes of prying and pushing before I figured it out.

  16. Figure 9: The four glue points securing the detector to the cover.
  17. That's it! That's as far as you can go unless you want to remove the metal shielding on the back of the main PCB and see what is under there. I refrained from this because I was worried I might damage the tower while trying to remove it.

  18. Figure: The back of the main PCB, showing the metal shielding.

Analysis

Note: If you can answer some of the questions below or shed more light on the electronics, please e-mail me and I will update this page.

Phantom Power Jack

You probably noticed that there is a power jack on the back of the tower, above the USB wire. This is fully connected to the main PCB inside, so obviously it could be functional. It's a bit of a mystery, however, since the P5 comes with no power supply (the tower takes its power from the USB port). I think I have an explanation! (see below)

Card-Edge Connector

Once you have the back cover off, the first thing you probably noticed is the card-edge connector (see Figure 5). Though it resembles a PCI card, it does not have the same number of pins. PCI has three groups of 11, 36, and 11 pins (double that if you count the other side). The P5 PCB has two groups of 11 and 34 pins, which are numbered on the PCB up to 90 (even on one side, odd numbers on the other), on both sides of the card. The spacing of the pins is identical to the PCI standard.

This brings up an interesting question: is the PCB supposed to plug into something before it is installed in the plastic frame, or does something connect to it once it is assembled? I think something connects when assembled, because the plastic mold is shaped around the card-edge so a connector would fit.

The big question, however, is what do each of these pins do? Which are input and which are output? Is there a voltage supply and ground pin? I can tell you right now, pins 34 to 40 and 42 to 48 are shorted together right at the pins. Pretty much every odd-numbered pin on the back pokes through to the circuitry on the front of the PCB (identified by little holes through the board). By using a magnifying glass and following the traces for the rest of the pins, we can see which IC's they connect to (and which pins on the IC's they connect to). So if we identify the functions of these IC's, we can tell what each pin is used for. If we can identify the Flash-RAM and trace it back, we might be able to tell which pins are used to program the flashram (these probably go from flashram to IC, then to a pin). This would take a methodical listing of all 90 pins, and documenting each pin in a spreadsheet.

So what is the purpose of the connector? Maybe it can be used for future expansion. But expansion for what? Perhaps another P5 glove for your left hand. Essential Reality really engineered the hell out of this thing. If the P5 was a huge hit, maybe they were going to release an upgrade pack for the left hand, allowing you to use two hands simultaneously.

I also think this explains the phantom power jack. With a second glove attached, it might take more power than the USB port can supply on its own, hence the redundant power jack.

Note: Ross Bencina e-mailed, "I don't agree that the edge connector must be for expansion though. My thought was that it's a debug/calibration port."

I can see Ross' point. The detectors would not all function exactly the same for all units because of slight differences in the electronic components, photodiodes, and the orientation the position detectors. After the unit is assembled, the workers might do some calibration. (Perhaps they use the power jack at this stage too?) Roidddddd also mentions that one of the developers said the unit is flash upgradable. I wonder which IC is the flash RAM?

In the Developer IRC logs, a development team member says:
"actually.. the p5 micro is already programmed to detect and process a mirror image of the current glove :) you will just plug it into the existing receptor."
At first I thought 'receptor' meant the edge-connector, however he likely means the front connector can also accept a left handed glove, but still only one glove at a time.

The Glove

I didn't attempt to dissassemble the glove because there is not much to it. There are five bendy-resistors to monitor each of your fingers. These sensors just produce a different resistance when bent. I don't think it can tell if the top part of the bendy-resistor is bent or the bottom, just overall bend. This does not seem to matter in practical use, since most actions on the computer do not depend on bending specific joins in your fingers.

Figure 10: The P5 glove has eight LED's.

There are eight LED's that emit invisible light (I assume they are still called LED's when the light is invisible). I have no idea if they are infrared or what spectrum they use. They are amber in color. A closer look shows a tiny component in the center that looks like a pin head. Probably it contains some sort of gas. Curiously, each of the LED's has what looks like a bubble around the outside. What are these things? At first I thought they might be inconsistencies in the manufacturing process, but they are in each of the LED's. Maybe they serve a purpose, maybe they don't.

Position Detectors

The two position detectors are very interesting. Curiously, the circuit layouts for the top and bottom detector PCB's are almost identical, but not quite (see figure 11). You would think they could have made them identical and saved some time and money, but there must be a pretty good reason for this.

Figure 11: Differences in the position detector PCB layout.

As I mentioned before, these are not web-cams (see Figure 12). They are some sort of detectors I have never seen before. I am very curious if these are readily available components or if these are the two key pieces of technology Essential Reality holds patents on. I flipped through a Digikey catalog but could not find an off-the shelf component that looks like this. They are held onto the PCB using bolts and nuts, painted over with red glue to hold them in place.

Figure 12: The mysterious position detector.

Position Detector Theory

As you can see in the photo, there are four tiny black squares on the detector face. These must be photodiodes, sensitive to the light from the LED's on the glove.

As you can see in Figure 12, the four black squares are paired together, inside rectangular depressions. There is a good reason for the depression. To understand this, ignore the top pair of black squares (these are used for detecting the Y position of LED's). Look at the lower pair, which determines the X position of an LED light. Since the tiny black sensors are recessed, if the LED moves to the left or right, the light beam will become partially blocked by the edge of the depression. In Figure 12, I took the photo slightly to the left of the detector. Notice how one of the black squares is only partially visible? This is because the depression keeps part of it blocked, hidden in shadow from the light from my camera.

Since these are photodiodes, it produces a current when light strikes the surface of the photodiode. Each photodiode is a light meter, and provides a very linear signal. When the LED becomes partially blocked by the edge, the current will decrease slightly. When more of the LED light is visible, the current will increase. Using the values produced from the photodiodes, these numbers are then then translated into the X position.

Why two photodiodes per coordinate instead of just one (for a total of 4 photodiodes per detector)? Because with only one, it will only be able to tell how far to one side or the other the LED is, but not which side it is on. with two, it has enough information to know if the LED is left or right of the detector.

The reason for two detectors is for calculating the Z-coordinate. With one detector, it would not be able to determine the Z position (distance from the tower). However, with two, it can use triangulation to determine the position of the LED light. I won't get into the theory behind triangulating position because it's basic high-school math using SIN, COS, and TAN. (Thanks to Ross Bencina for pointing out the reason for two detectors.)

This example is for just one LED, but the P5 tower tracks up to eight LED lights on the glove pseudo-simultaneously. I say pseudo because in reality, it probably checks the LED's one at a time. This means the LED's must be blinking in sequence very rapidly, and the software knows which one is turned on, hence it knows which LED it is looking at. So maybe at 5 ms it turns on the lower-left LED, checks the photodiode current, calculates the X-Y positions, then at 8 ms it turns on the center LED and repeats. This must also mean the photodiodes are very quick to reset, with no residual effects from the previous state.

So once the X, Y, and Z position of three or more LED lights are known, another algorithm can calculate the orientation of the glove. According to a website, this is happening at 45 Hz which probably accounts for the noticable lag behind actuall hand movement (not quite as responsive as your mouse). The IRC logs say it happens at 60 Hz, but I think this is only the bendy resistor measurements.

If Essential Reality developed the theory behind the position detectors and designed these, color me impressed! The only identifying text on the detector is "APERTURE COD 260X213X5 THOU". I performed a search of the web for "aperture cod" and didn't really come up with anything. 260x213x5 must be the measurements i.e. 260 x 213 x 5 micrometers. Unfortunately, I reassembled the tower without confirming this by taking measurements. It's curious though... why engrave the measurements on the detector casing?

These detectors, if owned by Essential Reality, would be a God-send for all kinds of robotics projects and other electronics. I've experimented a lot with Lego Mindstorms and believe me, there are so many uses for this sensor in navigation. The only problem is the limited range of about two feet, but perhaps more powerful lights (rather than tiny LED's) around the room would overcome this. If Essential Reality owns this patent, they are in a potentially lucrative position even without the VR Glove (does anyone know for sure?).

Glue on the PCB

This is not really important, but there is glue on many components in the photo's (Figure 9). I've never seen a glue gun used on circuit boards inside electronics this way. Essential Reality must have had a good reason, but it escapes me. Once I pried the glue off the top detector PCB, it was still nearly impossible to pry it loose, so the glue seemed redundant. It was secure without the glue! Think of the extra effort to do this. Factory workers in China on the assembly line would have to become profficient with the glue gun. The act of gluing everything would slow down assembly. All I can say is labor must be dirt cheap there to be able to do such a quality job with the P5. What would the world do without Chinese assembly lines?

Closing thoughts

It makes me sad that such brilliant engineering was a failure in the marketplace. No one has been able to come up with such a high quality glove at such a low price point. The engineers might have gone the extra mile and included the possibility of future expandability, something we will never see due to the luke-warm reception of the glove. At least a developer community has sprung up around the glove. Currently they are working on some decent open source drivers for the glove, and hopefully after those are done we will see some interesting software come out of it.

It's the usual story of a Western inventor coming up with some great technology, then failing to market it properly. These brave pioneers who invested time and money in Essential Reality have so far not met with success or rewards. If history serves as a precident, soon the Japanese will copy this, market it properly with a true killer app, and it will be a hit for them. Microsoft, where ever you are, BUY ESSENTIAL REALITY! They have some great patents, the engineers are obviously brilliant, and they will be able to further refine the glove technology. I think the current system is probably a stop-gap solution until gyro/momentum sensors drop in price, but it's still very functional. This would be the perfect peripheral for the next XBox and might give MS the edge they need over Sony.

Component List

Technical notes and a component list for gear heads who want to study the electronics further. I haven't looked up the IC's to see what they do. Most components are from Texas Instruments (Ti) and ST (Singapore Technology?). All electronics use SMT components and layout sizes.

Detector Bottom (narrow end)

The PCB is labelled "OC-106" (Optical Camera?), "94V0 C", and "0237" in digital style numbers.

IC List:
  • IC1 - Ti 28AF CDT, TLC2274C
  • IC2 - ST 74HC 4066, 90Q227
  • IC3 - 2272C

    (I did not remove this PCB from the cover so I have no idea what IC's are on the other side.)

    Detector Top (wide end)

    There is no text on the back side on the PCB, other than component labels. The front (with the position detector) says, "Detector Heads" (I guess that's what they are called), "Rev 4.5 COD", "0237" (upper-left corner), "94V0", "08.20.02" (date), and "OC-106". The metal detector head says, "APERTURE COD", "260X213X5 THOU"

    IC List (back):
  • IC1 - Ti 27D716T, TLC2274C
  • IC2 - ST 74HC 4066, 90Q227
    IC List (front):
  • IC1 - Ti 28AF CDT, TLC2274C

    Main PCB

    I didn't bother listing IC's on the back of the PCB because they are visible once the cover is removed. See photo. Text says, "OC-106" "94V0C" "0237" "ESSENTIAL REALITY INC", "VRY Development" "Main Board" "Rev 4.3" "15August2002". A sticker affixed to the PCB says, "V02092300042 SO# 30015"

    IC List (front):
  • IC1 - Rev. 4.3 CS: C5E8 (this is on a paper label on the IC)

    Return to Main Brian Bagnall

    Created April 4, 2004 6:04 PM

    Last Modified April 10, 2004 2:44 AM