If you want something in life, sometimes you just have to make it. Nobody knows that better than developer Daniël van Belzen. Instead of purchasing a pre-built 3D mouse, he’s opted to create his own from scratch with a little help from our favorite microprocessor, the Raspberry Pi's RP2040. If you haven’t heard of a 3D mouse before, these are used for manipulating 3D objects in various CAD applications.
This isn’t Belzen’s first Raspberry Pi project and it shows. A quick look through his GitHub history reveals a previous Pi project that involved the creation of a custom camera GUI called Pi Vision which adds a selection of control options to the official Raspberry Pi camera module.
According to Belzen, the idea for a custom SpaceMouse had been cooking up for a while but it took some time to sort out the logistics of the design and obtain the necessary hardware. Most of the housing is 3D-printed from designs he made in Fusion 360. The end result is a custom 3D mouse with a joystick and multiple rotary encoders.
Instead of using a full-on Raspberry Pi model, this project is built around Pimoroni’s Tiny 2040 board. This board shares the same RP2040 SoC as the Raspberry Pi Pico but in a much smaller form factor, better-suited for Belzen’s project. the Space Mouse project also includes an SSD1306 OLED display that can be used for all sorts of data output options.
Belzen explains that the code for the 3D mouse was developed from scratch using CircuitPython. It can handle different CAD-centric control features like pan/zoom options as well as speed and sensitivity adjustments. This functionality is provided using rotary encoders to detect rotational movement, and analog joysticks which are used to proportionally steer around the 3D environment.
If you want to create a 3D mouse of your own, you’re in luck. Belzen was kind enough to share the code used in his project with anyone who wants to recreate it. You can look through the source code on his official GitHub page.
To take a closer look at this project in action, visit the thread he shared to Reddit for a demo video. There is also an Imgur album containing a behind-the-scenes look at the development process. Be sure to follow Daniël van Belzen for more cool Raspberry Pi creations.