Why build such a controller?
When I was younger, I was very fond of an Apple2 game called Sabotage, this is a very basic game. I still enjoy playing it from times to times, but to make this game funnier, I want to do what Nintendo did with the Wii : make an average game funnier by using a special controller. I want to make a "physical" controller, something that requires a bit of strength and ample moves.
This controller should also work for games like Tetris and Puzzle Bobble, FrozenBubble, etc.
I looked at similar projects that would involve "spinning a device" or more generally moving and I found one involving a unicycle! Too challenging for me ;-) Also, after developing my prototype, I found a project with a similar idea : Exercise machine as a usb controller
Build at least 2 of those controllers so I can play versus games with friends. This project is also an excuse to learn new things such has designing a my own pcb board(not done yet) and use laser cutting(not done yet).
The technical details
The original game is played with keys D and F for left and right and any other key for fire. It means my device must be able to act as a keyboard, or more generally a HID device, so I will be able to use it for other games.
How to act as a HID device? Some Arduino board can act as HID devices, but it is not always easy. For example if you want to use the Arduino Uno you need to reflash the Atmega8u2 to be detected as a HID device. Teensy boards are more appropriate for this task, and as a matter of fact I had a Teensy 3.1 lying around, so I used it for this project. It could also probably be done with a Teensy 2 or a STM32 blue Pill board which are much cheaper.
Then the other major part of the project is being able to read the position of a crank and feed it to the Teensy board.