Code Monkey home page Code Monkey logo

diy-spacemouse's Introduction

DIY Spacemouse for Fusion 360

Watch the build video ↓

This device is made for Fusion360 but can be adapted to other CAD applications. Current features: Orbit, Pan, Home view and Fit to view.

Build instructions → Instructables

CC BY-NC-SA 4.0

CC BY-NC-SA 4.0

diy-spacemouse's People

Contributors

sb-ocr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

diy-spacemouse's Issues

Button 2 sharing SDA line: is this ok?

Hi,

thanks for sharing this cool design!
I did not test the product yet, still waiting for components to arrive.

This is more of a question.. while I was going through the document of the buttons' wiring I notices you assigned button2 to pin 24, which happens to be the SDA line. Isn't it going to conflict with the TLV493D operation?

// Setup buttons
OneButton button1(27, true);
OneButton button2(24, true);

wiring

Script python error

Hi, great project but I get this error:

C:\Users\titan\Downloads\diy-spacemouse-main\diy-spacemouse-main\Code\Fusion360 Add-in\Send Home>SendHome.py
Traceback (most recent call last):
File "C:\Users\titan\Downloads\diy-spacemouse-main\diy-spacemouse-main\Code\Fusion360 Add-in\Send Home\SendHome.py", line 1, in
import adsk.core, adsk.fusion, adsk.cam, traceback
ModuleNotFoundError: No module named 'adsk'

How can I solve this problem?
Thanks!

Fusion file?

Hello,

Thank you for making this and sharing it. I've started assembling one and am looking forward to giving it a try.

I've run into a small snag. The threaded inserts I have are a little smaller in diameter than the ones you used. I thought hey, no problem there's a step file I can just tweak it. And that's true to an extent but editing a step file is not nearly as straightforward as editing the equivalent Fusion 360 file.

Would you be willing to include the Fusion file to the GitHub repository?

Thanks again for all your work in documenting and sharing this.

GY-521 sensor

Hi, thanks for the project. You have inspired me to work. As in my country it is difficult to get the TLV493D, I will rework the inner triangle for the GY-521 sensor (MPU-6050). It will allow better position tracking.

When I come back from vacation, I will try to implement my ideas. And be sure to come here and show you the result.

BOM

Please include a Bill of Materials when you add your Build Instructions. That way we can purchase the same springs and boards you did, Thanks.

A few suggestions for wider compatibility

There are many versions of the pi tiny sized rp2040 board but most don't have the i2c socket on them. For future revisions, could you keep the i2c pins clear (4 and 5) and put the buttons on different inputs? That would make it easier to connect to more versions. Of course, I can just edit the pin file, and I'll have to for my seeed xiao rp2040 anyway to move the i2c.

A 3rd button could also be easily added (and I did). Let me know if you're interested in the file, though I'm sure you can just as easily copy the existing button setup and rotate it 90 degrees to drop in a 3rd button.
image

for printability, having the shaft of the knob tapered all the way to the mounting plate means no supports needed.
image

Same for the bottom of the case, a chamfer first and then fillet on the top half means no overhang over 45 degrees.

Looking forward to the next version! Thanks for sharing. :)

MMC5603 Code

Hi Salim and community. Any possibility on a code update for MMC5603 magnetometer?
Like many people I bought the MMC5603 magnetometer and I´ve been playing around with new library and updating the code to no avail.
I can´t seem to make it work.
On Instructables you mentioned that some users used the MMC5603 but I cannot find the code anywhere.
Can you provide some help?

KM emulation: no-go

Hi Salim, some time ago I built Orbion for exactly the same reasons you mention, but I never use it and always stick to my real SpaceMouse. The reason, which you maybe already realized if you used your DIY spacemouse for a bit, is you can't use keyboard/mouse emulation for a real work because your cursor, focus and everything is constantly taken away. I immediately noticed that by the end of your video, seeing mouse cursor slowly sliding away when you were rotating view. My point is that these devices are not much of use unless someone really dive into API you mentioned and program a full driver which doesn't emulate keystrokes and mouse movements. Any chance you would be interested in that after all?

6 Axis Sugestion

Hi,
How hard do you think it would be to modify the design for 6 axis? In the spirit of using parts laying around I realised a drone flight controller which are somewhat cheap and very available have at least 5 axis gyro + altitude. Just trying to work out how to pull the data from betaflight now.

3D Models for SLA Printing

Salim,

This is awesome, and I'd love to make my own, however; I have a SLA resin printer, and thus I cannot heat sink the threaded inserts, but have to press fit them in place. I was wondering if you could release STL files with the threaded insert positions increased to 4.5 mm in diameter. I tried to press fit some of the threaded inserts in and the holes are two small and the part ends up breaking apart. I opened the STEP file in FreeCAD, but I can't navigate down to the individual subelements of the larger parts, i.e. I can only get as far as "Spring Mech Top," "Sprint Mech Bottom," "Stem," and "Knob Shell" from the "Knob" part.

Thanks,
Bruno

When orbiting the middle mouse button is triggered.

I have found through testing that when you orbit that the middle mouse button is triggered along with the left shift key. I have changed the code some but can't find were it constantly wants to press the middle mouse when orbiting. Panning works as it should, middle mouse button only.

This is the code changes I made but it still pressed the middle mouse when orbiting only now it toggles on and off.

if (abs(zCurrent) < zThreshold && !isOrbit) {
  Keyboard.press(KEY_LEFT_SHIFT);
  Mouse.release(MOUSE_MIDDLE);
  isOrbit = true;
  Mouse.move(yMove, xMove, 0);
} else { 
  Keyboard.release(KEY_LEFT_SHIFT);
  isOrbit = false;
  Mouse.press(MOUSE_MIDDLE);
  Mouse.move(yMove, xMove, 0);
}

CAD files

Hi would it be possible to upload step files of the components, rather than just stls?
Thanks

Size of the Heatset Insert?

Instructables says that it's a M2.5x3.4 heatset insert. I'm going to assume that 3.4 refers to the insert's outer diameter and not length.

When trying to order the part, it doesn't appear that 3.4 mm is a standard size, I can only find listings for 3.5 mm. Also I have no idea what length to order (3mm? 3.6mm? 4.0mm? 4.5mm? 5mm?)

The linked Amazon product only comes with M2.5x5, which doesn't even match the Instructables page.

Can I get a little bit of guidance here?

Code difficult to adjust

Hi, the way the code is made it is difficult to adjust to other CAD software, since Fusion360 is unique for using a additional button to toggle between orbit and pan-mode. Other programs use e.g. rigth-button+mouse-movment for orbiting and middle-mouse-button+mouse-movment for paning.
I tried to implement it, but it's not elegant at all
See my code here

I switched what is triggered by pressing the knob and added different sensitivities for every mode. Also turned everything bei 90° to have the cable in the back.

Alternatives!

Hi Salim,

Thanks for the Video, it's helpful.

I have a few questions related to it.

  • How is it different from the Orbion?
  • Is it usable in all 6 directions?
  • Is it is usable in Autodesk Software's Like Revit, Navisworks, etc?
  • Very Important "What are the Alternatives I can use"
  • Especially the TLV493D Triple-Axis Magnetometer as it isn't available in my location.

If possible please suggest the Alternatives for all.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.