July 18, 2018

HP Internet Advisor - the Pop Out Mouse

The HP Pop-Out mouse in my HP Internet Advisor is quite a neat bit of engineering. The mouse itself has no sensors, no ball, and there is no electrical connection between it and the computer itself. So how's it work then?

It's a Mouse, Jim, But Not As We Know It


The Pop-Out mouse appeared in a few HP products in the 1990s. It's a clever take on the mouse idea. The pop-out feature made for a nice portable solution, and it does work as naturally as any other computer mouse, though it was probably quite a bit more expensive to make than a typical mouse of the era.

The pop-out mouse is more of a system, rather than a self-contained component. The part you grab with your grubby mitts is much like a shrunk-down mouse with two buttons. It connects to the PC through a black flexible "tongue", about 20mm wide by maybe .5mm thick. As mentioned before, there is no ball inside the mouse, and this predates even the most primitive optical sensors. When you move the mouse left and right, the tongue moves in and out of the PC. When you move the mouse up and down. the tongue rotates on a pivot inside the computer. A chunk of electronics in the PC senses these motions of the tongue and converts them to mouse movements.
The mouse (right), sticking its "tongue" out to the left. The adhesive holding this tongue together has degraded allowing it to delaminate. Don't let this happen to you, kids!
I mentioned before that the mouse has no electrical connection to the PC. In fact, one can disconnect the mouse simply by pulling it out of the computer.

The tongue on my mouse has de-laminated a bit, which gives insight into its construction. Its core is a simple bit of thin, flexible plastic. Bonded to either side are thin sheets of plastic (probably mylar?) and bonded to the insides of this plastic are some metallic patterns:

The three layers of my tongue, and a view of the underside of the mouse body, with no tiny plastic ball to get dirty.
The shiny areas on the inner plastic core are the failed glue.

You Said There Was No Electrical Connection!?

Correct. The metalized part of the mylar layers is on the inside, and meant to be bonded to the plastic tongue, so there's no way for the PC to make contact. How's the tongue motion sensed, then? I'm betting capacitively. Like how digital calipers work.

The receiver (transducer?), top view. The tongue sticks out to the right, and is sandwiched between the black plastic and the gold-colored polyamide. The entire receiver pivots on the pin sticking up on the right side, with round rubber baby buggy bumpers to limit travel. Note the white arc-shaped plastic on the left.

It's easier to see the working parts of the mouse's Y-axis. When you move the mouse along the Y-axis, the tongue acts as a lever and causes the whole receiver to pivot inside the computer. As it pivots it moves over this white arc-shaped piece of thin plastic, which is held to the computer chassis with two pins.
The white plastic arc, and the underside of the receiver. Normally the arc slides inside a channel under the clear plastic cover, but I've separated them here. See the previous picture for an idea of their positions in operation.
This arc also has a metalized layer on the other side (it looks black when viewed through the back). Here's a picture I composed with Krita, showing one of the metalized T-shaped features superimposed in place:
The sort-of T-shaped metalized area (dark grey and somewhat transparent) in its natural habitat (simulated).


My suspicion is that the receiver board creates a high frequency (100kHz, maybe?) signal, and applies it to the large pad underneath the thicker part of the T-shaped feature. This capacitively couples the signal into the T-feature, which then capacitively couples the signal to the thin traces. The signal is then picked up by some electronics to decode the position.

The thinner area of the T feature always covers four of the thin sections of copper. Every eighth one of these is connected together. If we name the thin strips A through H, the T feature is sized to always be over four of them. In the above picture, if we start naming the strips from the bottom, the T is covering GHAB:

           TTTT
     ABCDEFGHABCDEFGHABCDEFGHABCDEFGH...

If we move the mouse slightly, the T covers a different set of segments:

            TTTT
     ABCDEFGHABCDEFGHABCDEFGHABCDEFGH...


If we were a microprocessor looking for a signal on those 8 segments, we'd be able to detect that the mouse moved, and in which direction! Keep in mind that I wouldn't know which HABC segment had the T-feature over it, so I don't know its absolute position along the arc, but that's not terribly important for mice.

This would work in exactly the same way for the X-axis. One of the metalized layers of the "tongue" has a similar pattern of T-shaped features. As the mouse is moved on the X axis, the tongue moves in and out of the computer, sliding those T-features over similar strips on the receiver.

The buttons use the other layer of the tongue, which has just three metalized features covering its length. Pressing a mouse button would short two of these together, coupling the signal from one (say, the center feature) to one of the others.

BRAINS

The board I have been calling the "receiver" doesn't have a lot of electronics on it. Certainly, it has no microprocessor; there is only an LTC1060 an LM339 quad comparator, a 4069 hex inverter, and a boatload of passive components. I've run up against a limit in my knowledge here; I can't quite conceive how these parts work together to make this a reality (especially the LTC1060).

The receiver is connected to a Xilinx FPGA (or is that CPLD? I can never remember the difference) on the motherboard through a length of flat-flex cable. I think the Xilinx device does the final "thinking" that interprets these signals and sends them to... where? Perhaps it appears as a bus mouse on the ISA bus? I may chase that down some day.

For part 2 (assuming I don't break something that I can't repair in the meantime), I'll get some oscilloscope readings of interesting parts of the circuit.