One morning back in college, I was lying in bed thinking about 3D input devices. I had some goofy ideas involving mouse parts and spring loaded pulleys in a tetrahedral frame. It didn’t seem very practical, it would cost me a lot of money, and I’d have to build a custom interface to my computer, which sounded tricky since I’m not much of a hardware guy.

I lay in bed daydreaming for five or ten minutes.

Suddenly, I realized that I had everything necessary to build a 3D input device right there in the room with me!

I built the device, which I called the Tricorder, out of two analog joysticks, a Super Pinky rubber ball, a bunch of rubber bands, and some clamps. It took about three hours to build the Tricorder and write software to display the position of a 3D cursor within a cube.

It actually works.

The user grabs the rubber ball and can move it around inside a one foot cubic space.

The joysticks are tilted 90 degrees and are mounted at right angles to each other. The rubber bands are attached to the ball and the joystick handles. They force the joysticks to always point straight at the rubber ball. The position of the ball can be calculated through simple triangulation, even if the ball is lifted off the table.

The third rubber band cord runs away from the ball at a 45 degree angle and is attached to a stationary post to keep the ball centered on the table.

As you move the ball, the resistance of the rubber bands provides a nice sense of feedback.

The hardest part about building the Tricorder was punching holes in the rubber ball with a screwdriver and then threading rubber bands through the rubber ball. Also, the linked chains of rubber bands tended to break until I figured out a stronger double-linking scheme.

I wrote a simple 3D Pong game using the Tricorder.

Coming up with the unique idea of the Tricorder and then constructing a working version of it in such a short time was probably the most overwhelming sense of creative euphoria I’ve ever experienced.

Return to Drew’s Home Page