3D Printed Full 6 DOFs Space Mouse - "Space Mushroom"

Sdílet
Vložit
  • čas přidán 22. 12. 2022
  • Very simple and easy to assemble 3D space mouse. It can input full 6 degrees of freedom (rigid motion) simultaneously. It uses three analog joystick sensors for game controllers.
    Free 3D model and code are at
    www.thingiverse.com/thing:573...
    www.instructables.com/Space-M...
    www.printables.com/model/3537...
  • Věda a technologie

Komentáře • 82

  • @EntropyValley
    @EntropyValley Před rokem +22

    This is incredible. I’d love to see this evolve into a more polished open source product with guides, etc. if you’re ever up for it.

  • @ExplodingWaffle101
    @ExplodingWaffle101 Před rokem +6

    the use of the symmetrical joysticks is very clever, intuitively you wouldn’t think such a system could support translation as well as rotation

  • @samhale5413
    @samhale5413 Před rokem +6

    I have used devices like this for CAD work. Had a regular mouse in one hand and the 6dof controller in the other.
    Very nice to see this. I hope it helps someone.

  • @checksummaster
    @checksummaster Před rokem +5

    How can a so simple design can be so efficient... Bravo's

  • @AshleyGittins
    @AshleyGittins Před rokem +6

    Your mechanical solution to use three off-the-shelf joystick modules is pure genius!

  • @brndto
    @brndto Před rokem +3

    I just had a quick browse through the rest of your creations on thingiverse and all I can say is wow...

  • @razberry1997
    @razberry1997 Před rokem +5

    finally a design I like for e 3d mouse, i'm going to make it in these weeks; I'll send you the final creation if u wanna see it!

  • @Jacob_graber
    @Jacob_graber Před rokem +4

    Shared. This is awesome! Thanks for making the code available, I will love to see how you’re deconvoluting the joystick inputs.

  • @abidingmarmot
    @abidingmarmot Před rokem +2

    Back in the early 2000s I remember seeing a product similar to this in PC Mag with a ball mounted on a sort of tripod that worked in more or less the same way. I think they went out of business but I always wanted one.
    Amazing work with your design! Functions just like I always imagined!

  • @PepijndeVos
    @PepijndeVos Před rokem +6

    Hey I'm the author of the SpaceFox, a similar 6DOF mouse, of which you can find two videos on my channel. I just wanted to say that the joystick idea is really clever. Also, two considerations: you could use Spacenavd to support many different 3D software directly, as well as games. And users of my space mouse said buttons are very important, so maybe something to consider. (I thought I posted a comment before but I don't see it anymore)

  • @Mouserzz
    @Mouserzz Před rokem +3

    Oh man this is amazing, good job! Ive wanted a space mouse for a while and this looks perfect.

  • @bluegizmo1983
    @bluegizmo1983 Před rokem +3

    I don't see this being useful for everyday computer mouse control, but for very specific uses such as 3D modeling as you showed it could be VERY useful as a secondary input system.

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

    This is the best design I've seen of these things on YT, common cheap components (maybe too cheap, these cheapo 2 axis joysticks are super jank and inconsistent), reasonable 3d print design.

  • @clown134
    @clown134 Před rokem +2

    that is so freaking cool. I saw this in a Google article and had to see it in action. that's like a modeler's wet dream

  • @jean-louisletiti9163
    @jean-louisletiti9163 Před 6 měsíci +2

    Hello, thank you for reading my message and answering my questions, that's nice. I'm going to start testing this evening. Good luck with your next videos, it's a lot of work with editing ;)

  • @vaughnmonkey
    @vaughnmonkey Před rokem +2

    This is amazing thank you so much for making this available to everyone.

  • @MattWyndham
    @MattWyndham Před rokem +4

    Woah this is awesome!!!

  • @Gruntguy55
    @Gruntguy55 Před rokem +2

    Wow, i might make this for space sims

  • @KumquatChampion
    @KumquatChampion Před rokem +1

    You got some good mouse concepts

  • @kumalalalalalalaa7045
    @kumalalalalalalaa7045 Před rokem +2

    Thats actually cool

  • @Creative_Electronics
    @Creative_Electronics Před rokem +2

    Very nice made!

  • @jeremywp123
    @jeremywp123 Před rokem +3

    Genius!!

  • @mutthunaveen
    @mutthunaveen Před rokem +2

    wonderful

  • @igora6367
    @igora6367 Před rokem +2

    Cool! Fantastic! Thanks!

  • @gavinobikereddu1589
    @gavinobikereddu1589 Před rokem +3

    thank you

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

    Fantastic

  • @chadvanderlinden9548
    @chadvanderlinden9548 Před rokem +2

    Ya know what would work even better, avoid the strain of holding your wrist in mid-air, and be immune to being torn off it's stalk? A trackball! Spin the ball in any direction to rotate your object and map the left and right buttons to zoom in and out. X, Y, Z.

    • @fmls8266
      @fmls8266 Před rokem

      And how do you do the panning? Doesn't look that comfortable either

  • @antitriangular2828
    @antitriangular2828 Před rokem +1

    素晴らしい

  • @chandradharkoneti
    @chandradharkoneti Před rokem +2

    Awesome. What CAD packages is it compatible with??
    What is the software you are testing it on??

    • @shiura
      @shiura  Před rokem +2

      Currently it can control Blender. By modifying the source code, it may able to control most of CAD softwares I believe.

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

    This is awesome, thanks for sharing the project!! does it support left-right click?

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

      Currently it has no buttons / functions to input simple left or right clicks, but it is essentially possible. Joystick sensor has a press switch inside and the function can be added to the program.

  • @thomson0x9
    @thomson0x9 Před rokem +2

    How does the 3D printed joints on 3D printed body feel ? Isn't it too grippy or too wobbly?

    • @shiura
      @shiura  Před rokem +3

      I give them some tolerance (free play) and no grippy feel. It has slight free play but the motion of the knob is relatively large so it is not an actual problem I feel.
      More specifically, the layer of the ball joint and the knob is perpendicular so the friction is minimum (the worst case is the parallel layers for the both parts that generates grinding feel).

  • @scottpond5345
    @scottpond5345 Před 8 měsíci

    Can the button of the joysticks be utilized? can a button be extended to be used?

    • @shiura
      @shiura  Před 8 měsíci

      Yes, if you connect the buttons (switches) to the micro controller, you can use them.

  • @davidespigolon8170
    @davidespigolon8170 Před 4 měsíci

    I can't understand one thing.
    Does the mouse cursor position change when I move the space mouse?
    Can I use both mouse and space mouse at the same time?

    • @shiura
      @shiura  Před 4 měsíci

      In the program, it repeats
      Press the mouse button down, then move,
      Release the button, then move back
      so the position of the mouse cursor is almost stationary.

  • @JamesBond-bu8co
    @JamesBond-bu8co Před rokem

    Hello! Great and very important project! Unfortunately, I don't understand Arduino. Could you explain the logic behind this device? What commands does it send to the computer when the stick moves in any direction? I noticed that when moving the stick, the cursor on the screen makes small movements. Perhaps I can get a similar result for myself with existing programs... Thank you very much!

    • @shiura
      @shiura  Před rokem

      This controller calculates the motion of the top handle (mushroom-shaped part) then send the mouse motion and button press command with keyboard modifier keys (shift, alt, etc.). The combination of the keys and buttons are related to the software you want to control.

  • @Pokolo413
    @Pokolo413 Před 8 měsíci

    super amazing work! i wanted to ask, do you happen to have a more in depth diagram of the wiring? i'm new to wiring but have an understanding of soldering. would i just wire all of the cables with words beside them? do i solder together the 3 ground cables together, and the 3 voltage cables together? thank you for your time!

    • @shiura
      @shiura  Před 8 měsíci

      Yes, 3 ground cables from the 3 joystick sensors should be gathered together and connected to GND of controller. Voltage cables also. In the description at thingiverse, I wrote that they should be connected to RAW but currently I think VCC would be better.

    • @Pokolo413
      @Pokolo413 Před 8 měsíci

      @@shiura sweet, thank you very much! i was able to get it working thanks to your help. i did find though, the viewport seems to be rather jumpy? would the conservative mouse code help this? i'm not sure if it's user fault, and i messed up assembling it...

    • @shiura
      @shiura  Před 8 měsíci

      @@Pokolo413 The conservative code suppress the frequent press / release of mouse button. Usually the rotation and translation of the object can be done solely by the mouse. For example, right-button + drag = rotation, center-wheel = drag = translation, etc. To rotate and translate the object in CAD simultaneously, the mouse button operation is very complex and fast and sometimes the app works unintentionally. Conservative mode fix the motion mode at the first motion of the handle, so the illegal motion would be suppress but to switch between rotation, translation and magnification, you should stop the motion once.

    • @yousseflachhab9057
      @yousseflachhab9057 Před 5 měsíci

      @@shiura Your project is very wonderful, but if all the movements were done using the keyboard instead of a mouse, the project would be complete. Unfortunately, there is a problem with keyboard clicks having a delay time, and this problem cannot be addressed because the operating program does not allow setting the time smaller than it is supposed to.

    • @shiura
      @shiura  Před 5 měsíci

      ​@@yousseflachhab9057 This is just one of the technical demonstrations to enable 6-DOF input using three commercial joystick sensors. Anyone is free to develop their own, based on this idea or not. I do not intend to commercialize or advance this project, nor will I accept or respond to requests for improvements from third parties.

  • @jfedor
    @jfedor Před rokem +1

    This is magnificent! Where can we see the code? I can't find it on the linked Thingiverse page.

    • @shiura
      @shiura  Před rokem +3

      In the thing file's page, "mouse.ino" is the source code.

  • @hockeybg1
    @hockeybg1 Před rokem +1

    Can I use it with dental CAD software?

    • @shiura
      @shiura  Před rokem +1

      It depends on the software. I just tested this device with Blender on Mac. With other softwares or OS, I heard some troubles.

    • @hockeybg1
      @hockeybg1 Před rokem +2

      It work with exocad dental software

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

    i can use this mouse with fusion 360 on windows 11?

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

      I do not know, I just tested with Blender on Mac. It works as a ordinary mouse, however, the smoothness of the motion much depends on the apps and OS.

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

      Someone made the code to make an arduino appear as a 3Dconnexion device, such that you can use the 3d Connexion software as daemon and thus use the mouse for virtually any cad or editing software.

    • @jucaesar4961
      @jucaesar4961 Před 5 měsíci +1

      Sadly, CZcams would not let me publish the link, but it is in the comment section of the instructables blog entry of shiura about this project.

    • @jucaesar4961
      @jucaesar4961 Před 5 měsíci +1

      Personally, I haven't been able to test it out completely because my diy 3d mouse is very janky and one of the hall sensors of the stewart platform, similar to the design from Pepijn de Vos, does not return any values and I can't be bothered to fix it... but the 3d Connexion driver does read values from the arduino.

  • @davidespigolon8170
    @davidespigolon8170 Před 3 měsíci

    i want to realize the same project but in smaller size…
    Do you know smaller joystick?

    • @shiura
      @shiura  Před 3 měsíci

      I do not know.

  • @mlsh-azerty
    @mlsh-azerty Před měsícem

    how did you get the transform matrix values ?

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

      Started from simple geometric calculations, values are modified and tuned manually.

    • @mlsh-azerty
      @mlsh-azerty Před měsícem

      @@shiura yep ok it's manually tuned thanks

  • @alessandrobrigida8951
    @alessandrobrigida8951 Před rokem +1

    hi, can i use this mouse in solidworks?

    • @shiura
      @shiura  Před rokem +2

      It depends on your OS and software. Some people try to make this mouse compatible to 3Dconnexion's one, so please visit the project's sites and read comments.

    • @thomasmichel1373
      @thomasmichel1373 Před rokem +1

      @@shiura Hey ! Your project is awesome, the joystick idea is really clever. Do you know the name of this projet ?
      Have a nice day

    • @shiura
      @shiura  Před rokem +1

      @@thomasmichel1373 Please run through the comments in Thingiverse and Instructables listed in the description above.

  • @Levelonesucks
    @Levelonesucks Před rokem +1

    What about camera roll? I think this is only 5 dof.

    • @shiura
      @shiura  Před rokem +6

      The device itself has a capability of 6DOFs. However, Blender always keeps the Z axis horizontal when we control it via mouse. Also I do not need roll motion so in this example the motion is in 5DOFs in actual.

  • @JamesBond-bu8co
    @JamesBond-bu8co Před rokem +1

    Do I understand correctly that your device simulates alternately pressing the mouse / keyboard buttons, followed by short shifts for a certain distance? If so, it means that using your device together with the mouse will not work synchronously - mouse movements and button presses will bring down the joystick and give additional commands to the program if middle click is used for them, and they will have to be used in turn ...

    • @shiura
      @shiura  Před rokem

      Yes, this device emulates mouse and keyboard. The press of the mouse button is very frequent and my PC (mac) adequately handle such very busy commands. They reports that windows can not, so the other software might be necessary.

    • @JamesBond-bu8co
      @JamesBond-bu8co Před rokem

      @@shiura Thank you for your responses! Since your device mimics mouse movements, I would like to recommend implementing one important setting. It should be done so that when the joystick is moved from the central position, the model rotation button is not pressed / released, but is pressed all the time until the joystick is returned to its original position again, and the modifier keys are only "added" to it as need. This is important because, for example, Siemens NX rotates the model while holding down the middle mouse button. However, the same button functions as an "OK" button when using various commands in the program. This means that when working with commands, you cannot use the joystick to rotate the model, as this will close the called command and reset all entered parameters. Good luck!

    • @shiura
      @shiura  Před rokem

      @@JamesBond-bu8co I tuned that for my environment with Blender so it needs to be optimized for specific applications.

  • @carelsberghstijn
    @carelsberghstijn Před rokem +6

    Hi, I've been thinking about building a 6 DOF mouse aswell but I didn't think of this setup, very nice. I've also been trying to find out how to input the 6 DOF's to every CAD program but it seems they use something proprietary, in this video it's explained a little bit, czcams.com/video/rLTWWPftyac/video.html hopefully you can figure something out and post an update

    • @shiura
      @shiura  Před rokem +2

      In my design and code, I use standard mouse control (XY motion) and attribution keys (ctrl and shift). By frequent switching of attribution keys, all kind of motions are simultaneously input. Please take a look at my code.

    • @carelsberghstijn
      @carelsberghstijn Před rokem +3

      @@shiura ah yes I've tried that aswell but then you can't use your mouse at the same time so that's why I wanted to figure out how it's done with for example a 3dconnexion spacemouse

    • @shiura
      @shiura  Před rokem +3

      I took a look at the code used in the video you introduced, and I learned the existence of Joystick.h. I will try to use it.

    • @carelsberghstijn
      @carelsberghstijn Před rokem +3

      @@shiura great, i look forward to the progress of this project and will build my own soon, thanks for your effort

  • @RenMomoDotPog
    @RenMomoDotPog Před rokem +1

    WE'RE RICH! MUSHROOM

  • @adamwoodworth5758
    @adamwoodworth5758 Před rokem +1

    Music was quite a bit loud 📢

  • @baranyildiz2895
    @baranyildiz2895 Před rokem +3

    wow, thank you so much