Code Monkey home page Code Monkey logo

3dconnexion's Introduction

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.

3dconnexion's People

Contributors

pepijndevos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.