Close

Mouse sensor saturation

A project log for USB Crank-Stick

Crank-based game controller

pixjuanPixJuan 01/06/2021 at 10:410 Comments

My V2 prototype was more or less working but I was struggling to get a nice feeling while using it.

I knew the mouse sensor couldn't keep up with the speed of the wheel, I was expecting to have a saturated Y value but be able to use the X value to approximate something nice but it's not the case. I think the problem is made worse because the wooden laser cut disc is not completely flat, so the distance between the sensor and the disc varies.
With a bit of empirical filtering I managed to improve the situation, but still, when I was a playing a game it didn't feel right.

Using jstest-gtk to debug my controller showed no problem, so instead I  printed the mouse output when doing a quick 360 turn with the wheel and then used LibreCalc to draw a graph:

triangle : the speed of rotation I try to compute with X and Y mouse speed
diamond : The Y mouse movement, the one that should be enough if there was no saturation
square : The X mouse movement,  very low and only serve as a hint when the Y saturate

I have hit a dead end: the sensor just stop responding if I saturate the mouse sensor for too long. This I can not fix.
I tried to solve the problem by using more recent sensor and ordered a cheap gaming mouse and to see if it behaves better : It was a complete failure since plugging this new mouse just seems to reset the Teensy!
It works perfectly when I plug it on my PC and the Teensy is happy with my current Logitech G500, so the problem lies in the Teensy + cheap mouse combination.
The mouse says it takes up to 100 mA but I suspected it was using more, so I unsoldered all the useless tacky leds on it, hoping it will consume less and start working, but it didn't change anything.

So far the V2 prototype looks like a dead end. it was already more expensive because it requires a board with both a USB host and a USB client, and now it looks like it could only work with an expensive mouse sensor...

The V1 prototype works OK and I spent too much time on the V2 and lost motivation. I'm gonna tweak a few things on the V1 and give up on the V2 for now.

Discussions