Spaceball Serial to USB adapter code

6DOF controllers are cool, they seem ideal for playing games like Descent and… Descent 2. I’m sure there are others. They’re also traditionally used for 3D CAD. The ability to manipulate something unambiguously in 3 dimensions is really quite nice. Modern spacemice, however, are terribly expensive. New they go from around $150 for one with no buttons to near $400 if you want all the modern features. They do not, however, have that ’90s era SGI styling. There’s no perfect spheres and grids of lines in the design. They could be more stylish. I’m here to tell you that those older spaceballs that can be had for between $10 and $50 on ebay do have a chance at working on a modern computer with modern software.

Wouldn’t you rather have one of these on your desk than some tiny usb puck?

Enter the Orbotron 9001! a small USB peripheral that is simply a usb capable microcontroller and a level shifter to let it talk real RS232 voltages. You don’t need one of these things exactly, it should be possible to implement this protocol on any serial capable usb microcontroller, but this one is already established with a codebase ripe for tweaking.

I didn’t have anything to do with this project until it came time to use it. After trying it on some space balls I found I had to come up with a different way of reading the button packet to get anything useful out of them.

On the left I have working code to get the spaceball 3003 to output. On the right I have the spaceball 2003 code. These both differ from the supplied code, but the python development environment made it relatively easy to try modifications and iterate until I had it right. I will say this project isn’t perfect. There’s edge cases that aren’t accounted for like getting stuck if you move too quickly in one direction or the other. I also had a serious issue with the acceleration mapping, but maybe further tweaking in the python code could add curves that make it feel more natural. In the end I decided that I’d rather spend $100 on a used modern space mouse and have to spend a day stripping off the shitty soft-touch rubber coating that had become unusably sticky. I still envy the look of the spaceball 2003 though, can’t you just imagine one of those built into the arm of a captain’s chair? Wouldn’t you want to play Artemis with one of those?

My code is available at my own repo here, feel free to use and fix it at your leisure.

11 Responses to “Spaceball Serial to USB adapter code”

  1. Spaceballs Get Serialized – Mist Vista Says:

    […] by a company known as Spacetec in 1991 and rebranded by HP. Being an older peripheral, he used the Orbotron 9001, a converter from RS232 serial to USB, to interface his Spaceball with modern […]

  2. Spaceballs Get Serialized – Radio News Music Blog Says:

    […] by a company known as Spacetec in 1991 and rebranded by HP. Being an older peripheral, he used the Orbotron 9001, a converter from RS232 serial to USB, to interface his Spaceball with modern […]

  3. Les boules spatiales sont sérialisées | Hackaday - Whats Now Says:

    […] de Spacetec en 1991 et rebaptisé par HP. Étant un périphérique plus ancien, il a utilisé le Orbotron 9001, un convertisseur de série RS232 vers USBpour interfacer son Spaceball avec des appareils […]

  4. Spaceballs Get Serialized | Hackaday - E Amazings Says:

    […] by a company known as Spacetec in 1991 and rebranded by HP. Being an older peripheral, he used the Orbotron 9001, a converter from RS232 serial to USB, to interface his Spaceball with modern […]

  5. Spaceballs Get Serialized | Hackaday - 24Talker Says:

    […] by a company known as Spacetec in 1991 and rebranded by HP. Being an older peripheral, he used the Orbotron 9001, a converter from RS232 serial to USB, to interface his Spaceball with modern […]

  6. Spaceballs Get Serialized - Says:

    […] generally known as Spacetec in 1991 and rebranded by HP. Being an older peripheral, he used the Orbotron 9001, a converter from RS232 serial to USB, to interface his Spaceball with fashionable […]

  7. Spaceballs Get Serialized - Welcome to WebFulNet - Web Development Agency Says:

    […] by a company known as Spacetec in 1991 and rebranded by HP. Being an older peripheral, he used the Orbotron 9001, a converter from RS232 serial to USB, to interface his Spaceball with modern […]

  8. Spaceballs Get Serialized | Hackaday – The Web Compiler Says:

    […] regarded as Spacetec in 1991 and rebranded by HP. Getting an older peripheral, he made use of the Orbotron 9001, a converter from RS232 serial to USB, to interface his Spaceball with modern-day […]

  9. Spaceballs Get Serialized - Blog – Hackaday - LUCID NEWS Says:

    […] by a company known as Spacetec in 1991 and rebranded by HP. Being an older peripheral, he used the Orbotron 9001, a converter from RS232 serial to USB, to interface his Spaceball with modern […]

  10. Spaceballs Get Serialized [Hackaday] – Up My Tech Says:

    […] by a company known as Spacetec in 1991 and rebranded by HP. Being an older peripheral, he used the Orbotron 9001, a converter from RS232 serial to USB, to interface his Spaceball with modern […]

  11. 09 | January | 2023 – My Blog Says:

    […] by a company known as Spacetec in 1991 and renamed by HP. Being an older peripheral, it used a Orbotron 9001, a serial RS232 to USB converterto connect his space ball to modern […]

Leave a comment