May 29, 2025
Description
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.
---------------------------------------------------------------------
This is the free version of ErgonoMouse. It comes with the “Simple” variants for the Base, Knob and Joystick assemblies (see “Variants” 🡣).
You can get the Complete version for only $12 here. It includes all variants for all features and assemblies.
---------------------------------------------------------------------
New axis mod inspired by Kempy's Steel Balls + Hall Effect Joysticks for smooth control.
---------------------------------------------------------------------
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 told to myself. So I decided to design my own. And, well, it got “just a bit” 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, and a fair share of hardware, 5Kg of PLA, 20 iterations, 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.
License:
Creative Commons — Attribution — Noncommercial — Share Alike