The current potentiometer joysticks used have two main issues:
The Hall Effect modules do not have these issues. The lack of dead zones has really improved my Space Mouse.
Before: small joystick movements had no effect, move the joystick some more and it kicked into action with a movement that was more than I would have desired.
Now: Small joystick movements actually work and give small, smooth movements to whatever model you are manipulating on screen.
I used PS5 Hall Effect joystick modules. They need to be mounted on a PCB to enable them to be used in the various Space Mouse iterations here.
I have designed such a PCB and had a batch manufactured (for those of you that don't want to order them via a PCB manufacturer (and also get them quicker)).
The PCB is a drop-in replacement for the current potentiometer joysticks. Connections to the Arduino are the same and the hole spacings are the same as the current joystick (with the subtle difference that the PCBs I designed have the joystick in the exact centre between the mounting holes).
As well as the Hall Effect joystick modules you will need some PCB headers - search for “2.54 mm Right Angle Single Row Pin Header Male 90 degrees” on Ali Express, eBay, Amazon etc.
(You don't need to use the pin headers if you prefer to solder your wires directly to the boards)
There are two options:
https://www.ebay.co.uk/itm/326171361770
https://www.ebay.com/itm/326171361770
They are available via Ali Express, Amazon, eBay etc. (I have had good results getting them via Ali Express).
Search for “PS5 Hall Effect joystick module” - you are looking for the PS5 version (that has given me good results).
Just because a seller describes it as a PS5 Hall Effect module does not mean that it is one! Below is guidance on what to look for and what to avoid.
I'm not going to tell you how to solder 😀 but here are a couple of ways I found to make life easier.
Binder clips are a great help to keep the pin headers in position when soldering them.
“Soldering Stand.stl” is great for holding the joysticks when soldering boards onto them.
Because of the lack of a dead zone with these joysticks, I found that I had to set “int DEADZONE” to a value of 20.
I ran the calibration routine for max and min values - no problems there.
I have yet to change any sensitivity values. What seems to happen is that the joystick sometimes does not return to its central position and the model on screen is still moving (albeit slowly). This seems to be a mechanical issue because a very slight nudge on the joystick stops this slight movement.
(Update: a squirt of “Dry PTFE” spray onto the balls and their sockets seems to have cured this 😁 Additionally, I have set “int modFunc = 3; ” - you get really fine control over all movements)
https://github.com/AndunHH/spacemouse
The Hall Effect joystick modules take the Space Mouse up a level. I feel that there are even more improvements ahead - mechanically and in software.
Give these joysticks a try, any improvements you can think of? - Post them here 👍
Der Autor hat dieses Modell remixed.
I have designed a Printed Circuit Board (PCB) to enable the use of Hall Effect joystick modules in the Space Mouse instead of the potentiometer style modules that are currently used.