DIY Project: Super Budget Sim Racing Button Box
Following on from the DIY button plate presented last time, the matching button box now follows. It is designed as an inexpensive and easy-to-implement DIY project without a time-consuming ordering process and can be completed in just a few hours. Of course, 3D printing is also used here.

Required materials
Compared to the button box, the material list is even more compact. In addition to the main component (Pico RP2040), you only need buttons, encoders and suitable cables for soldering. You also need a little more than 100g of filament in the colour of your choice and screws if necessary. This results in a total price of €10 to €15, depending on which components you already have.
Preis (ab) | Mögliche Bezugsquelle* | |
---|---|---|
Button Box | ||
Pico RP2040 (Micro-USB) | 3.00€ | Aliexpress / Amazon |
Buttons 12 mm x 8 | 4.00€ | Aliexpress / Amazon |
EC11 Encoder x 3 (15mm Half handle) | 2.50€ | Aliexpress / Amazon |
Total | ~10€ | |
Wiring / other | ||
Cables | 1.00€ | Aliexpress / Amazon |
Optional: Melt-in nuts (M4 x 4) | 2.00€ | Aliexpress / Amazon |
3D-Print | ||
Filament black | ~100g | Aliexpress / Amazon |
Filament white | ~5g | Aliexpress / Amazon |
The following tools and screws should also be available:
- DIY Tools
- 3D-Printer: Anycubic Kobra S1 Combo – (Test / Review)
- Soldering Iron: TS101 (Aliexpress*) / Amazon.de*
- Solder: Aliexpress* / Amazon.de*
- Soldering Flux: Aliexpress* / Amazon.de*
- Wire Stripping Pliers Aliexpress* / Amazon.de*
- Screws
- M2 x 8 mm (4x): For the screw connection of the RP2040 board.
- M4 x 8 mm (4x): For the optional screw connection of the back plate when using fusion nuts.
3D-Print
3D printing for this project is extremely straightforward. All printed parts can be printed without support and, with a size of 160 x 120 millimetres, fit on almost all 3D printers currently available. As a small visual highlight, the housing of the box was printed on a printing plate with a carbon pattern so that it also has a corresponding pattern.
- Box: With a weight of around 100g, the housing of the box is the largest part that has to be printed as part of the project. In order to achieve a flawless appearance, a low speed should be selected for the first layer.
- Cover: There is a choice of covers for M6 and M8 screws.
- Labels: The labels are designed for multi-colour printing. The project files also contain a label without text so that you can use your own texts. To ensure a better hold in the cut-outs, a test copy should be printed first so that the size can be readjusted in the slicer if necessary.
- Rotary encoder caps: Printed covers for the two EC11 encoders, which are supplied without caps as standard.


Electronics
The electronics for this project are very simple. Only a Raspberry Pi (RP2040) is used as a 32-bit microcontroller, which is combined with eight buttons and four EC11 encoders. The latter have an additional push function that can also be used if required.
Alternatively, many other types of input devices can also be used, which are connected according to the same principle as the conventional buttons used. The existing cut-outs may need to be modified for this. It is also possible to replace the components with high-quality versions, although the cost per button can then be as high as the total price of the entire project.


Assembly
Assembling the box is super easy. The following steps must be carried out:
- Screwing the individual components into the housing of the button box. Buttons, encoder and RP2040. The latter can also be simply glued instead of fastened with M2 screws.
- The wiring as described in the next chapter.
- (Optional) Melting the melt-in nuts in place with a soldering iron.
- The cover can then be screwed to the rig or another location using any method using the two mounting holes. Ideally, lens-head screws or similar screws with a short head should be used, especially for the variant with cut-outs for M8 screws, so that the screws do not touch the opposite Raspberry Pi.
- (Optional) The cover can be fixed with four M4 screws.
The button box can then be easily connected to the PC using a USB cable. The connection depends on the version of the RP 2040.
Wiring
The wiring is quickly explained. Thanks to the great project by Dahl Design, you will find a wiring diagram below this text (link to the project). Any pin of the Rp2040 can be used as ground. Each button can be connected to any button pin. The assignment is also not relevant for the encoders. However, an encoder must always be connected to two identical pins, for example ENCO 3 A and ENCO 3 B.
Important: All electronic work should only be carried out under the supervision of trained electronics engineers, no liability is accepted for errors / damage. DIY at your own risk.


Software
Thanks to the ‘Fast DDC’ implementation, the software side is also completed in just a few seconds. Only the following two steps are required:
- Firstly, the RP2040 is connected to the PC. A file window opens automatically during the first connection. Afterwards, while plugging in, the ‘BOOTSEL’ button on the controller must be pressed.
- The file B17_E4Half_LED30.uf2 must then be saved in this folder. The controller then restarts and can be used immediately.
As a result, the button box is recognised as a conventional game controller and can be used directly without further configuration. The buttons can then be assigned as required in any current racing simulation.

Conclusion
The DIY button box project presented here is aimed at simracers who want to build a simple but functional button box on a small budget. It offers a total of eight buttons and four encoders that can be assigned in any current simulation. The construction can be completed in just a few hours and is also very suitable as a project for beginners.
