DIY 3D Spacemouse - for MacOS & Windows - affordable, usable Arduino project!

preview_player
Показать описание
Download link for printable files and Arduino programming code for MacOS and Windows:

This Teaching Tech video explains about the wiring and Arduino programming etc:

Many thanks to all the maker's whose remixes I utilized, and also thanks to all the makers upstream from their work. Amazing community!

I'm including an OrcaSlicer file of the whole set, ready to slice, in case you want to use it: "v3-spacemouse-slim-remix by Design8Studio (OrcaSlicer).3mf"

Please let me know if you find any issues. Thanks!

** As of June 16, 2024, I have added new firmware sketches to my Printables listing (link above). See the pinned comment below for details, or read the same info in the Printables listing. **

My PayPal Tip Jar:
Рекомендации по теме
Комментарии
Автор

I have added new firmware sketches to my Printables listing here:

Here’s a description of the newly added firmware options:

Arduino Sketches fine tuned for MacOS and Windows

NEW firmware sketches (as of June 16, 2024):
Mac and Windows
• The new code supports keys being added to your Spacemouse. I'm not yet using this new feature, but maybe you want to.
• After careful efforts, I have created two variations of AddunHH's work, which I am providing here, and they each have the following attributes: 
• The “config.h” file is already created for you, but you should still do some hardware calibration, which is made easier by use of a semi-automatic method triggered by setting the debug mode to a value of 20, and then compiling and uploading the code, and turning on the serial monitor in Arduino IDE, and physically toggling your Spacemouse's knob all around to its extremes in all directions, for about 15 seconds. The serial monitor will then spit out some values to copy and paste into your config! Cool.
• Of the two new sketches I added for Arduino IDE, they both work for either Mac or Windows. The difference between them is one is for up+down = zoom (my preference) while the other is for forward+back = zoom (the default behavior for the 3D Connexion tutorial). So here's what to do:

Steps to setup and upload one of the new firmware sketches:

1. Using the info above, be sure you add the modified content to your “boards.txt” file for Arduino IDE, so it will show a choice for you, under "Tools > Board > Arduino AVR Boards" of “Spacemouse Pro Wireless (cabled).”

2. Download and unzip your choice of either
—“spacemouse w fwd-back = zoom.zip” or
—“spacemouse w up-down = zoom.zip”

3. Browse into the subfolder named "spacemouse-keys" and double click on the “spacemouse-keys.ino” file inside that folder, to open it in Arduino IDE.

4. Select your board under "Tools > Board > Arduino AVR Boards" of “Spacemouse Pro Wireless (cabled).”

5. Select your port under “Tools > Port” —presumably this is a USB port by which you're connecting your Spacemouse.

6. Click the “Upload” button (arrow icon) or press Command+U (Mac) or Ctrl+U (Windows) or in the menu, tap on “Sketch > Upload” — to compile and upload your firmware.

7. To edit debug mode and do some calibration, go to the subfolder named “spacemouse-keys” and open the “config.h” file in your favorite code editor / text editor such as Visual Studio Code.

8. Set the debug mode to 20, save the file, and repeat the upload step above.

9. In Arduino IDE, switch on the Serial Monitor —in the menu tap “Tools > Serial Monitor”

10. Once the upload completes, the output in the Serial Monitor will tell you to physically move your Spacemouse's knob all around to its extremes in all axes for about 15 seconds. Once it gathers the movement data, it will show you values looking something like this:
MINVALS {-526, -517, -522, -518, -508, -506, -508, -512}
MAXVALS {497, 506, 328, 505, 515, 517, 515, 511}

11. Copy those values and paste them into the “config.h” file, replacing the existing values, but being careful to not remove the following at the start of each of the two lines:
#define
(Note: all lines starting with "//" are merely remarks that the compiler ignores.)

12. Do any other debugging modes you like, which are explained at the start of the “config.h” file.

13. Download the driver from 3Dconnexion, and install it.

14. In 3Dconnexion Home, run the trainer.

15. If you have trouble with any directions being wrong, be aware that although I have them working right in my environment for both Mac and Windows, on some systems they may need tweaked. The tweaks would happen either in the “config.h” file or the main “spacemouse-keys.ino” file.

16. Happy Spacemousing!

designstudio
Автор

Thanks for your great contribution to the CAD community.
Everyone who made remixes and added something contributed to the development of these ideas.
I've wanted this manipulator for a long time, but now???
Parts are already flowing to me from Ali (much cheaper) and I will start construction soon.

Good luck with your next projects.

Vipcioo
Автор

For the holes with 'false bottoms' I've been having a lot of luck using the stepped-up-line support method. Make it so there are 2 bridges across the primary gap that skip the center-hole, then do it again rotated 90 degrees one layer up, then it lays the curvature areas onto that. Works like magic and gets rid of that whole manual punch/drill process for any recessed hole. It also looks cleaner, and might save someone from accidentally poking themselves.

Roobotics
Автор

just found this after being only mediocrely happy with the "original" space mouse by shiura, will be printing this with a different knob as soon as my current print is done.

paulminor
Автор

There is no need to drill a hole in the joystick plunger to secure the joystick and ball. If you look at the top of the joystick plunger, a 1mm hole has already been drilled, and it is easy to assemble using M1.5 screws. You can also make some modifications to the ball.

starletzzang
Автор

Could you please make a video on walking through the calibration steps and setup of the firmware, I've built it and flashed it but it's so sensitive (using hall effect PS5 sticks) I don't really know if the axis are all set up correctly.

afkafkafk
Автор

Is it possible to use key button actions when using the previous code? I couldn't find the key-related code in the code. I have an idea. For example, if you quickly push the stick knob down twice, it switches from CAD to the home position. It looks good, but is this possible?

starletzzang
Автор

Hello? Did you have good weekend? I have a problem. The speed of 3D connexion settings cannot be adjusted in each app. Even if I lower or increase the speed bar, the moving speed is the same. Is there anything I did wrong? I am using the old firmware version, but the new firmware version is also the same. So in my cad, which I use, the speed is too fast, so int totalSentitivity=70; (350 --> 70) Since the value of is lowered a lot, it is usable in my cad program. :-)

starletzzang
Автор

I have one question. When I tilt the joystick, the modeling rotates and zooms in slightly at the same time. What is the solution? When I used teachingtech's code, it worked normally and was fine. I tried modifying the sensitive values ​​and settings, but the problem is the same.

starletzzang
Автор

Didn't he make a smaller version already? Or is this the one?

djVania