Close

Final prototype V1.1

A project log for USB Crank-Stick

Crank-based game controller

pixjuanPixJuan 01/09/2021 at 17:550 Comments

As using an optical mouse sensor doesn't seem to be a good idea, I decided to work on my V1 prototype instead.

I added support for joystick HID, and not just a keyboard, so it can really be used in something else than emulators. I wrote those modifications for the V2 and back-ported them to V1 code.
I also gave up on the smart "binary led setting mode", now I use :
-  switches to set a key mapping, to decide if turning the wheel left sends a "joystick left" event or "keyboard left arrow" event
- a potentiometer to set the wheel resolution, aka how much you must turn the wheel to send a single event
- a potentiometer to set the wheel event length, or how long a key get pressed when the user turn the wheel left or right

Then I had the idea to try my Crank-stick with SuperStardust, for those who don't know this awesome Asteroids on steroids remake, have a look at the video

It was difficult to use a button for thrust instead of pushing the joystick up, like in the original game play, so I decided to use a foot pedal instead.
I bought very cheap foot pedals on ebay and plug them on an old power cord and plugged this power cord to the Teensy. On my Teensy 4 it works ok, but on the Teensy 3.1, the pull up resistor are not enough to get the signal down quickly. Sometimes when I remove my foot from the pedal, the Teeny picks it several seconds later!
I then used a thinner cable and it was working ok.

On the aesthetic side, I chopped a part off the Crankstick to make it smaller, and I also add some piece of plywood to hide the cables, so it looks more like a finished product now. In a world of laser cut projects, I like the raw, brutalist look of this prototype ;-)


Playing games with still isn't perfect, it feels a bit unnatural to make 360 degrees with the crank and have game characters move only 3 or 4 times. I guess it is unavoidable if I'm using it on games that were not designed with this type of controller in mind.
But otherwise, it works ok, and it is now much easier to find the right settings for a game with the potentiometers.

I may do another V3 prototype later or may be it will be another type of controller for exertainement.

For now, It think we can say the this project is officially finished!

Thanks for reading, don't hesitate if you want to reuse parts of this project or if you have any questions

Discussions