ErgonoMouse is a do-it-yourself 6DOF Controller (6 Degrees Of Freedom) based on Arduino. Or commonly known as "space mouse".
It uses commonly available hardware (see “Required Hardware” 🡣) and it requires intermediate printing, electronics and software skills. A fun, DIY project that would make every maker's delight!
It comes in many flavors: ErgonoMouse offers multiple options with different features for the Base, Knob and Joystick, with all variants available for both Left and Right Hands.
---------------------------------------------------------------------
You can test the free version of ErgonoMouse here. It includes the “Simple” variants for the Base, Knob and Joystick assemblies (see “Variants” 🡣).
With the paid version, you get all variants for all features and assemblies.
---------------------------------------------------------------------
You can now test your printer capabilities with my QuBenchy - 3D Printing Torture Test Cube:
---------------------------------------------------------------------
So what does the "6DOF" mean? It means you can move a camera or object in 6 different ways: Rotation on X, Y, and Z axis, as well as Translation on X, Y, and Z axis. This makes the ErgonoMouse ideal for CAD and 3D Design tasks, or even videogames.
The controller uses analogue sensors (KY-023 Joysticks) to register your movements. The ErgonoMouse design also adds new features such as:
My personal preference is Left Hand, 6 Keys Base, Full Joystick (with Wheel for zoom and 2 Kill Buttons).
The project is based on Arduino and is compatible with the 3DConnexion software (see “Software” 🡣).
This project was inspired by @TeachingTech and his SpaceMouse v2. I had been looking for space mouse DIYs and commercially available options for a while when I stumbled across his video, and I finally decided to get one myself. While recognizing and appreciating his work, I wanted a more sleek, refined design.
“It will be just a few hours worth of CAD”, “I will save money”, “I'll be proud of designing my own”, I said to myself. Now I know that only one was true, and it wasn't the time or money.
Let's just say that it got out of hands:
So after 3 months, a few orders to Amazon, a bunch of new tools including a new TS101, a new A1 Mini for rapid prototyping, a fair share of hardware, 5Kg of PLA, 20 iterations from MK I to MK XX, and 1.159 saved versions later (I did count them), I present to you: the ErgonoMouse MK XX!
As a side note, most of the time and iterations went into miniaturizing the design while keeping it user and assembly friendly with still commonly available hardware, and adding the new features, variants and layouts.
The ErgonoMouse offers multiple variants based on desired features and orientation for both right and left hands. The complete pack contains 73 3D parts (list of assembly options and parts needed per option included in the PDFs). With them, you can build the following variants:
The download includes 4 PDF assembly guides for the Base, Knob, Joystick, and Key Caps, including:
For reference, this is the hardware you'll need for the a Left Hand, 6-Keys, 2-Part Base + Full Joystick:
Well, this pretty much depends on personal preferences and skills. There's no better hammer than a wrench, right? However, you should consider getting some of these tools for the ErgonoMouse:
IMPORTANT:
This project has been developed on and tested on a Bambu Lab A1 Mini. This damn little printer works remarkably well. So much so that the ErgonoMouse needs very low tolerances:
I recommend running a tolerance test on your machine and try to compensate for that on your slicer settings. You can test your printer capabilities with my QuBenchy - 3D Printing Torture Test Cube. Ideally, the 0.1mm tolerance piston should move freely or after applying some force.
Resolution:
It pretty much depends on what finishing you want. For me, I've found the 0.4 nozzle with 0.12mm layer height as a good compromise between printing time and quality. I haven't done any additional post-processing and the visual quality for those settings is more than enough.
Base:
Weight is not a problem for the Base assembly (quite the opposite). To ensure a good grip for the screws to bite on, and overall robustness, I recommend printing with 4 to 5 walls, 1.6 mm top / bottom thickness and 10% to 20% infill.
Knob and Joystick:
For the Knob and Joystick assemblies it's quite the opposite. Try to keep them light enough while maintaining certain strength. I'd go with 3 to 4 walls, 1.6 mm top / bottom thickness, and 5% to 10% infill. The parts are fairly small so the robustness will come from the shell.
Key Caps:
The recommended orientation is for the key caps to be facing down. One of the variants offers multicolor, manual printing. To do so:
The download includes 4 PDF assembly guides for the Base, Knob, Joystick, and Key Caps, including:
As for the electronics, this diagram shows all connections needed for all features. You can just ignore some of them if you opt for simpler variants.
The ErgonoMouse design is compatible with the original @TeachingTech firmware. Additionally, I added new features on the ErgonoMouse, i.e. Knob / Joystick Wheel to simulate one axis, and Kill Buttons to limit Rotation and Translation movements. @Andun_HH was very kind to add the new features to his amazing GitHub repo, where he's cleaning, refactoring and expanding on @TeachingTech version.
Please, follow the instructions on @Andun_HH GitHub repository to configure the controller.
Once the configuration is completed, using the ErgonoMouse is simple. When connected to the computer, the controller should be automatically detected by the 3Dconnexion software (Please note that this is NOT affiliated with 3Dconnexion).
It also detects the app that you are using (Bambu Studio / Fusion360 / Blender / etc.) and allows for a certain level of configuration.
This is my biggest design project to date, so future plans will likely depend on the reception of this model in the community. I would very much appreciate your feedback on the current design as well as potential improvements.
For now, ideas for future iterations include:
---------------------------------------------------------------------
This project was inspired by @TeachingTech and his SpaceMouse v2. Big thanks to him and his work on technological and engineering divulgation!
And huge thanks to @Andun_HH, who took upon his shoulders the refactoring of the code and has done an amazing job with his GitHub repository!
---------------------------------------------------------------------
Rendered in Blender, using Blender Boom's Desk Scene and @Az3Dip's Ender 3.
The author marked this model as their own original creation.