Project start: March 2025
One Button Controller
In computer science lessons back then, we liked to play the game “Achtung die Kurve! / Zatacka!”.
Each player presses two keys to steer their continuously moving line to the left or right, avoiding all the increasingly long lines.
As the game is so easy to explain and only requires two buttons, it often became very crowded in front of the keyboard.
To this day, I still love playing Achtung die Kurve! or IPCurve with friends.
In addition to this classic, however, there are now many more such mini-games that can be played with as little as one button per player.
The so-called one button games. With several players in front of one keyboard, however, it is not quite suitable as a couch game.
Now there is the option of using several gamepads, but then it is much more complicated to explain which of the 12 buttons has a function.
It would be better if there was only one button to press.
With the aim of presenting
my first one button game at Makerfaire Ruhr 2025, I needed a simple and robust controller to go with it.
I still had some
FUTABA MA41-JF keyboars switches in my assortment box.
All that was missing was the cable and a kind of handle as a housing.
3D printing was again an excellent manufacturing method, as the players can be distinguished with different colored filaments.
However, I couldn't find a satisfactory 3D model (or I secretly didn't want to), which is why I bought a set of play dough to make a handle.
We scanned this handle using the Scaniverse app on an iPhone with a depth camera.
I also tried photogrammetry with the Meshroom software, but the mesh from Scaniverse was a little bit better. And the scanning process was much easier.
Nevertheless, I would use photogrammetry for such projects in the future and, if possible, mix two colors of plasticine so that the structures are easier to see.
Surrounding geometry can be removed directly in Scaniverse. The resulting 3D mesh can be seen here opened in MeshLab.
I have also simplified and filtered the geometry there.
The basic shape of the handle was further processed in Blender.0
First, the mesh was evenly distributed using the Remesh Modifier.
Then I used the Smooth Brush in Scrulpt Mode to go over all the sharp edges that were not scanned cleanly.
The next step was to create space for the buttons and cables.
To do this, I created the geometry to be removed from individual solids and then removed it from the base model using a boolean operation.
As I wanted to print the model in two halves, I added three holes for M3x16 screws.
By cutting the model in half, cables and buttons can be installed more easily afterwards and the print itself is much simpler.
It was printed in the three basic colors plus salmon.
The button was inserted inside, a cable soldered on and both halves screwed together. The buttons were given a simple keycap, which is also printed.
I use a 6.35 mm mono jack plug at the end of the 2.5 m cable.
Pressing one of these buttons is transmitted to the computer by an ESP32, which simulates a USB keyboard.
This ESP will later support wireless controllers with more than one button, which is why the housing has only been implemented as a prototype for the time being. (Not sponsored)
And so the controllers were successfully used at Makerfaire Ruhr 2025.
The only question that remains is: How do I make it clearer that there is no rotation sensor installed and that the bobby cars in the game steer on their own?
Rebuild May 2025
I was asked to exhibit my One Button racing game for an
exhibition in the uzwei at Dortmunder U.
I used this opportunity to improve a few small shortcomings concerning the hardware.
Firstly, the thin PVC cables, which get tangled easily and are very difficult to untangle.
At Thomann I found a
6m textile guitar cable in four different colors. A 6.35mm jack plug is also already attached.
On the other hand, the key caps were only loosely attached and would have fallen out in rough exhibition conditions.
Due to the thicker cables, the handles had to be adjusted anyways and some of the previously selected player colors had to be changed as well.
In this version, the buttons are now fully enclosed inside the handle and cannot fall out or be pressed too firmly onto the button.
Another thing I learned at the Makerfaire was that the rough, untreated surface of a 3D print leaves visible dirt behind when in contact with many hands and is difficult to clean.
I therefore tried to get the contact surfaces as smooth as possible. By sanding them first with coarse, then finer sandpaper and then applying clear varnish.
Controllerbox
The controller box for connecting to a computer also needed to be a bit more solid.
Based on the
UltimateWaterproofCase_V6.1, I added mounts for an ESP32-S3 Devkit M1 in OpenSCAD. M3 nuts were embedded during printing.
There are four WS2812 LEDs aligned to the 6.35mm jack sockets, which display the controller color and signal when a button is pressed.
This makes debugging easier if a button is stuck.
The status LED on the ESP devboard is brought out through a light pipe on the side.
And here they can be seen at their destination described at the beginning: A one button game on a large screen in front of a couch.
Repositories: