Close
0%
0%

SpaceLoaf

Another DIY 6-DOF HID Device

Similar projects worth following
102 views
A DIY 6-DOF HID Device intended for use with Solidworks and other CAD programs. The SpaceLoaf utilizes a 3D printed body, the BNO085 9DOF IMU, and an rp2040.

I've been trying to find a good solution for a DIY SpaceMouse for a while; I've built the Space Mushroom, the Spacefox, and SalimBenbouz's 3DOF SpaceMouse. Each are excellent projects that you should definitely check out, and building them has given me alot of knowledge to work off of.
I came across an ad for adafruit's 9DOF BNO085 sensor and it looks like the perfect device to try to utilize for this project.

  • Log 1: Update

    neatloaf703/04/2025 at 22:40 0 comments

    I have a newfound obsession with RP2040s and CircuitPython so I will likely be revisiting this project in the next month or so, provided I finish my other RP2040 project. 

    If I remember correctly, the Space Mushroom was flashed to have a VID and PID matching a 3DConnexion device, and was able to connect to the 3DConnexion software which interfaces with the CAD Program you are using. While writing this I actually found that TeachingTech made his own version of the Space Mushroom basically right after I had the idea for this project. His version is definitely cheaper at $20, as I just checked the price for the 9 DOF IMU and it's 25 dollars plus shipping alone. I forgot it was so expensive. The good news is that his project includes information about the 3DConnexion API and the VID/PID, so that takes care of some research for me.

    The CircuitPython library for the BNO085 can output a current rotation vector which I will try to use for sensing pitch, roll, and yaw. The documentation mentions that the vector can drift overtime, so I will need to implement some sort of recalibration routine. The library also detects general activities, such as walking. I will try to use the "still" activity state to re-zero the position after a period of inactivity. There is another rotation vector that is referenced to the geomagnetic field and shouldn't drift, but I need to check if my phone and computer speakers will affect its accuracy.

    Translational axes will likely have to use the 3 axis magnetometer with some stationary magnets in the base. I imagine I'll also have to correct for translational accuracy while the IMU is tilted, although it wasn't much of an issue with this DIY space mouse I made.

    I think the hardest part of this project will be the physical design.

  • LOG 0: Research, thoughts on other DIY Solutions

    neatloaf712/20/2023 at 19:19 0 comments

    I found out about the BNO085 about an hour ago so I don't have it yet, I will probably begin design work after the new years. I am planning to use the onboard 3DOF magnetometer for translational movements, and the gyro for rotational movements.

    For the controller I plan to use the ATmega32U4, as I know it supports spoofing itself as a genuine 3dconnexion device. I have a few pro micros laying around, but they lack a stemma or qwiic port. I would like to make use of the stemma/qwiic connectors on the BNO085 to free up some pins for macro keys, so I might end up buying another board. I also have a qt py rp2040 I can repurpose which does have a stemma qt port, so I might experiment with that as well. My knowledge of microcontrollers (and electronics in general) is extremely limited so if anyone reading has any suggestions that would be greatly appreciated. 

    Benbouz's design already incorporates magnets for its 3DOF magnetometer, so I am anticipating I will be building off of his design at first. The only issue I can forsee is that rotational movements will affect the magnetometer readings but that is yet to be determined. 

    If you are like me and have been trying to find a good DIY SpaceMouse solution, here is my personal experience with the ones I've built. The design of the Space Mushroom is limited in range of movement, which affects translations and rotations along certain axes. It does seem like the easiest 6DOF solution to source and build however. The Spacefox is nice, but my spring loaded potentiometers have trouble returning the knob to center. It is also a little too tall and the knob a little too large to comfortably incorporate into an enclosure. Other than that, usability is very good. Benbouz's SpaceMouse unfortunately only supports translational movements, but has (in my opinion) a nicer looking design than the other two and a very good feel. 

    I was looking at the OS3M as another project to make, or base a design off of utilizing 6 hall effect sensors rather than inductive sensors. This looks like the most compact solution, but requires a custom PCB. The compliant 3d printed spring it uses might be something to look into. This is a project I haven't tried, but is definitely worth looking into if you're looking for an already complete solution.

    Thanks for reading! 

View all 2 project logs

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates