I Built a Tool That Transformed My Workflow

Resources

The project

I spend a lot of time in CAD designing and refining parts for 3D printing—so when I discovered the 3DConnexion SpaceMouse, I was instantly hooked on the idea. But instead of buying one, I decided to make my own.

Design Goals

  • Intuitive & easy to use → control the model as if you’re holding it in your hand.
  • Accessible components → buildable with parts anyone can source.
  • Clean design → should look good on the desk as well as perform well.

Hardware

  • Adafruit BNO055 IMU sensor → detects rotation & orientation.
  • Arduino Pro Micro → acts as a USB HID device so the PC recognizes it as an input controller.
  • Compression & extension spring mount → 3D printed, gives the sensor “float” for accurate readings.
  • Push button → toggles between rotation mode and pan/zoom mode.

Prototyping

  • Breadboard test with the BNO055 gave immediate success → moving the sensor rotated models in Fusion 360.
  • Button integration allowed for panning/zooming functions via custom Arduino code (thanks to ChatGPT-assisted scripting).

CAD & 3D Printing

  • Enclosure and knob modeled in Fusion 360, STL files available on Printables.
  • Added slicer pause points:
    • Inserted square nuts into the knob.
    • Dropped ball bearings into the base for extra weight & stability.
  • Post-processing: extensive sanding, primer coats, and spray painting for a polished finish.

Assembly

  • BNO055 mounted onto spring-loaded platform.
  • Arduino Pro Micro soldered & fixed with hot glue.
  • Push button painted to match overall aesthetic.
  • Final assembly completed with 3D printed parts, nuts/bolts, and a bit of hot glue for security.

Results

The DIY Space Mouse works as intended—smooth model rotation, intuitive control, and toggled pan/zoom. It looks professional on the desk and ticks off all design goals. Future improvements: refining spray painting techniques for an even smoother finish.