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

Sdílet
Vložit
  • čas přidán 5. 09. 2024
  • Download link for printable files and Arduino programming code for MacOS and Windows:
    www.printables...
    This Teaching Tech video explains about the wiring and Arduino programming etc:
    • Making a cheap, open s...
    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:
    If you'd like to buy me a cookie for all my work in this, you can send me a tip via this link: paypal.me/desi...

Komentáře • 29

  • @design8studio
    @design8studio  Před 2 měsíci +2

    I have added new firmware sketches to my Printables listing here:
    www.printables.com/model/908684-spacemouse-mini-slim-profile-with-easier-assembly
    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
    • Kudos to Printables user @stavros who pointed us to a newly revised repo on Github that works with all axes at once, and likewise kudos to Github maker AndunHH who posted this new code, which is available here: github.com/AndunHH/spacemouse
    • 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!

    • @lgbarons9233
      @lgbarons9233 Před měsícem +1

      Very nice update of the project. I implemented 2 additional buttons to get the original menu working. To include that, you must change the PID=0x635 to get a Spacemouse compact.

    • @design8studio
      @design8studio  Před měsícem

      @@lgbarons9233 Cool! Thanks for the tip!!

  • @Vipcioo
    @Vipcioo Před 2 měsíci +2

    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.

    • @design8studio
      @design8studio  Před 2 měsíci

      Thanks for the kind words! Please keep us updated on your progress!

  • @Roobotics
    @Roobotics Před 2 měsíci +3

    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.

    • @design8studio
      @design8studio  Před 2 měsíci +1

      Thanks. Yes I’m familiar with it. May take the time to do that.

  • @paulminor4707
    @paulminor4707 Před 2 měsíci +2

    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.

  • @starletzzang
    @starletzzang Před 2 měsíci +1

    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.

  • @afkafkafk
    @afkafkafk Před měsícem +1

    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.

    • @design8studio
      @design8studio  Před měsícem

      I will definitely consider it. I'm so swamped right now it would be a while.

    • @afkafkafk
      @afkafkafk Před měsícem

      @@design8studio Thanks

  • @starletzzang
    @starletzzang Před 2 měsíci +1

    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.

    • @douggjoseph
      @douggjoseph Před 2 měsíci +1

      In my Printables listing, there is an older set of code, and a newer set of code. The older set of code behaves like what you are seeking. The newer set of code has the potential issue that you described. It gains the benefit of easier operation of rotating in multiple axes at once, but it has the drawback of unintentionally operating in multiple axes at once.

    • @starletzzang
      @starletzzang Před 2 měsíci +1

      @@douggjoseph thanks u for answer. I applied the previous version and fortunately it works fine! 🙂

    • @design8studio
      @design8studio  Před 2 měsíci

      @@starletzzang Cool. Thanks for updating us!

  • @starletzzang
    @starletzzang Před 2 měsíci +1

    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?

    • @design8studio
      @design8studio  Před 2 měsíci

      Great questions and good idea. The older code was before the addition of support for buttons, and I was not remembering that distinction. The idea for overloading the use of the knob for more than axes vectors is clever, and may well be doable. The author of the code seems open to such suggestions on his Github where he shares the code.

  • @starletzzang
    @starletzzang Před 2 měsíci +1

    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. :-)

    • @design8studio
      @design8studio  Před 2 měsíci +1

      @@starletzzang thanks for the advice! I also have struggled with the movement being too fast. I will look at what you’ve mentioned.

    • @design8studio
      @design8studio  Před 2 měsíci +1

      I did have a great weekend

  • @djVania08
    @djVania08 Před 2 měsíci +1

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

    • @paulminor4707
      @paulminor4707 Před 2 měsíci +1

      this is a remixed version than Teaching Techs "small" one, even smaller, with multiple other remixes of the original V2 all into one.
      the TT V2 Frame file is 102x102x49mm, this one is 102x102x37.
      other main changes: compatible with different mods (swappable knobs for example) and more precise Joystick placements,

    • @djVania08
      @djVania08 Před 2 měsíci +1

      ​@@paulminor4707is the hardware listed in the V2 the same? I ordered that and waiting for delivery.

    • @design8studio
      @design8studio  Před 2 měsíci

      @@paulminor4707 thanks for such an accurate summary!

    • @design8studio
      @design8studio  Před 2 měsíci

      @@djVania08 yes, hardware should be the same

    • @design8studio
      @design8studio  Před 2 měsíci

      See the great reply by @paulminor4707 - this is based on Fabien's remix of Teaching Tech’s smallish v2. It combines several remixes plus some remixing improvements I have made.