Skip to content

pepijndevos/spacefox

Repository files navigation

SpaceFox

A 6DOF DIY HID. A what? A 6 degrees of freedom, do it yourself, human interface device. In other words, a 3D mouse, or an open hardware SpaceNavigator. You know, one of these thingies CAD designers use to zoom around.

All the existing DIY designs out there I could find are not actually 6DOF. Some are literally a knob on a joystick. So I set out to make a better one.

This one is based on a stewart platform made from potentiometers. It was designed so that any idiot with access to a 3D printer can build one. You might even get away with some careful jigsawing!

Other true 6DOF projects

Since doing this project I've become aware of a few other people making true 6DOF DIY spacemice that may actually be worth your time.

Gallery

Watch the Youtube video:

Watch the video

Close-up of the spring-loaded potentiometers:

IMG_20230122_151121

CAD model of one of the arms:

image

CAD model of the knob:

image

CAD model of the base

image

Bill of Materials

  • 3x arm-Body + arm2-Body, 3D printed.
  • 1x top-Body, 3D printed.
  • 1x base, cut from 4 layers of 4mm triplex.
  • 1x PCB Aisler
  • 6x potentiometer, 6mm flatted shaft Farnell
  • 1x Arduino Pro Micro Sparkfun AliExpress
  • 12x ball joint rod ends, 2mm, half pad AliExpress
  • 6x torsion spring, 1mm diameter, 3mm length, 90 degrees, 8.5mm outer diameter AliExpress
  • 6x threaded rod, 2mm, 20mm length AliExpress
  • 9x Cherry MX compatible switches AliExpress
  • 9x keycaps AliExpress
  • 2mm & 3mm nuts and bolts
  • 0.1" male & female headers

Assembly instructions

  1. Put the springs on the potentionmeters and snap them onto the PCB. Solder. Cut the ends short below the PCB.
  2. Push the male and female headers together and insert them between the Arduino and PCB. Solder. (This way you ensure they end up straight)
  3. Slide the arms halfway onto the potentionmeters facing 45 degree outwards. Apply a drop of hot glue to the slot for the spring and push them all the way in. Apply hot glue to secure the arm to the shaft.
  4. Screw the rod ends onto the push rods and secure the rod ends to the arm with nuts and bolts.
  5. Secure the knob to the rod ends with bolts.
  6. Cut 4 sheets of the base plate (the middle sheet twice)
  7. Insert Cherry MX switches in the top plate
  8. Wire switches to the header on the PCB
  9. Bolt the base plates together
  10. Bolt the PCB onto the base plate
  11. Upload the Arduino code.
  12. Install spacenavd and add device-id = 1b4f:9206 to /etc/spnavrc.

Releases

No releases published

Packages

No packages published

Languages