Have you ever considered another option for the ball... Make the ball with a pattern of north and south oriented magnets inside, and place a set of electromagnets around the perimeter of the ball. The ball would not be attached to anything at all, just spinning on some ball casters or possibly fluid suspended. Your control device would operate the electromagnets to create the opposing poles of the magnet pattern across the electromagnets, much int he way a sinusoidal brushless motor pushes and pulls on a permanent magnet rotor by creating a magnetic field that rotates around the stator. creating a hemispherical magnetic field that pushes and pulls the ball around was beyond the tech back then, but I can't imagine it wouldn't be possible to create a patterned magnetic field with, say a hexagonal array of coils covering the rear of the ball (like the retina of an eye), and three caster balls to hold the ball stable against the rear of the housing. I'm thinking that if you get creative, it might be possible to create a pattern of magnets that could create a self calibrating start up sequence. Possibly an expanding spiral of north south regions in the ball, so if you start the field confined and then expand the field int eh opposing spiral, presumably, it'd drive the ball until it spins itself tot he aligned unique magnetic pairing with the controller generated field. Rotate the field, and you roll the ball, translate in one axis, and you get yaw, translate the field pattern in the other axis, and you get pitch. i realize it'd be a start from scratch effort, but it'd probably be the cheapest possible ball design possible. just a bunch of electromagnet coils in a grid, and a bunch of permanent magnets glued to the inside of a two piece ball. Presumably, if the magnetic pattern would not be a completely uniform, repeating pattern, and the field that is generated itself becomes the aligning factor through a sequence of generated fields designed to take advantage of that non uniformity to drive the ball into known predictable paths from an unknown start point. Another option available is to have a very uniform magnet pattern, which would allow for (I think) an easier software control if the fields, but have a CCD on the back of the ball image the ball to determine where it's at. That'd require image processing though, so that more or less negates the easier control pattern... I still theorize that a magnetic pole pattern could be created that forms a self aligning startup sequence, and maintains ball position based on the rotation or translation of a polarity field pattern over the electromagnets that matches the unique, non-uniform magnetic pattern of the ball. Yet another possibility is to place some hall effect sensors to detect the pattern of the magnets passing below them. Finally, the use of a laser barcode scanner MIGHT be able to be adapted to recognize the spacing of the graduations of the ball along different scanning axes, so that it can determine the start point of the ball. I myself am considering getting an old arcade style joystick (two I suppose), and a few pushbuttons and toggles that have safety flip top covers and making a simple keyboard replacement controller. It would literally be a gutted USB keyboard, with switches hard wired to the key matrix to recreate the keyboard keys in the appropriate switches... Not exactly rocket surgery... LOL But man, I so want a nav ball in it now! XD