DIY-Project: Super Budget Button Plate with LEDs

DIY-Project: Super Budget Button Plate with LEDs

DIY steering wheels and button plates are becoming increasingly popular. From small DIY projects by the community to €1000 builds with a custom PCB and an aluminium housing. This DIY project with a price tag of only around €20 is a return to the roots: Easily available hardware combined with a 3D printed housing make for an unbeatable price, but at the same time require a little finesse when assembling.

Materials

The primary aim of this project was and is to create a cost-effective button plate. Accordingly, budget-friendly components were installed, but in practice this is only noticeable in the buttons and encoders. If necessary, these can be replaced with significantly higher quality models. However, individual buttons at the price of a complete button plate (€20) are clearly overkill for a budget build.

PricePossible source of supply*
Button Plate with LEDs
Pico RP2040 clone (Micro-USB)3.00€Aliexpress
LED Board (8 Bits Black)1.00€Aliexpress
Aviation Connector 16 mm (4 Pin)1.50€Aliexpress
Buttons 12 mm x 84.00€Aliexpress
EC11 Encoder x 2 (15mm Half handle)2.50€Aliexpress
Micro-USB cable (4 Pin)1,50€Aliexpress
USB-A cable (4 pin)1,50€Aliexpress
Coiled cable3.00€Aliexpress
Total~16.00€
Other
Cables1.00€Aliexpress
Heat inserts (M4 x 4)2.00€Aliexpress
Shrink tubing2.00€Aliexpress
Total~5.00€
3D printing
Filament black~200gAliexpress
Filament white~5gAliexpress

The basic components of the steering wheel including the Aviation Connector and a spiral cable cost a total of approx. 16 €, plus the costs for the cables and the optional melt-in nuts and heat-shrink tubing, which cost approx. 5 €. In addition, you need approx. 200 g of filament.

The following parts are also required, but are not included in the price:

  • Tools:
    • 3D printer (ideally multi-colour printer)
    • Soldering iron
  • Screws:
    • M2 x 8 mm (4x): For the bolting of the RP2040 board.
    • M4 x 8 mm (4x): For the optional screw connection of the back plate when using melt-in nuts.
    • M5: Depending on the steering wheel rim and QR solution, three to six screws are required for the final assembly. For most combinations, M5 countersunk head bolts (35 mm) with matching nuts should be the right choice.
  • Steering wheel rim

Compatibility

The button plate has a bolt pattern of 70 mm. Accordingly, you also need a steering wheel rim with this hole spacing. Most current QRs are also directly supported.

3D printing

The print files are designed for printing on multi-colour printers, but files for conventional printers are also available for download. For the carbon look, the prints were printed on a printing plate with a carbon surface. The total filament consumption is less than 200 g. The files were each printed with 4 walls and 35% infill (Gyroid).

  • Body (With diffusion): The main body with an integrated diffusion layer consisting of a layer of white filament in the area of the LEDs
  • Body: The main body without diffusion layer. If required, this can also be printed and inserted into the recesses (2x Big outside, 6x Small inside).
  • Cover: The back cover. Can be printed as thick as required for greater stability.
  • Spacer: Spacers for the EC11 encoders to place them further into the housing.
  • Rotary encoder caps: Printed covers for the two EC11 encoders.

Electronics

The project is based on the popular RP2040 microcontroller. There is also an LED board with eight WS2812B LEDs and, of course, the eight buttons and the two encoders.

Assembly

Der Aufbau (bis auf die Verkabelung) ist in wenigen Minuten erledigt:

  • The buttons and encoders (with spacers attached) are inserted into the housing and secured with the screws provided.
  • The LED board is inserted into the corresponding recess. For the housing variant without diffuser, the optional inserts (2x large and 6x small) can also be fitted (see photo below).
  • The RP2040 microcontroller is screwed into the centre of the housing with four M2 screws. Care should be taken here and the screws should not be overtightened to avoid damaging the housing.
  • The aviation connector can be screwed to the front edge depending on the desired use. Alternatively, a USB cable can be routed directly from the RP2040 microcontroller through the recess in the centre of the rear panel, as with the button plate demonstrated here.
  • The rear cover (this step is of course only carried out after the cabling) is optionally screwed to the front panel using four M4 screws. To do this, the four melt-in nuts must first be melted into the housing.

Wiring:

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.

Thanks to the great project by Dahl Design (link to project), you have a certain amount of flexibility when wiring. Each button (and optional shifter) is connected to one of the ground pins (in series) and the other pin to one of the button pins. Two of the four available slots are required for the encoders. The LED board is connected according to the following diagram:

[Rp2040 VBUS]   --->   [5V  RGB Stripe] 
[RP2040 GND]    --->   [GND RGB Stripe]
[RP2040 GP28]   --->   [DIN RGB Stripe]

When using the Aviation Connector in conjunction with a spiral cable, make sure that the cables are not interchanged, otherwise the microcontroller may be damaged. Depending on the configuration, other solutions can also be used here.

If you want to make things a little easier, you can also use buttons with screw terminals instead of the conventional buttons. The cables can then be connected without soldering. The wiring of the button plate shown here (picture on the right) shows what the whole thing can look like in the end if you don’t have too much talent for soldering…

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.

Optional: Shifter:

The back of the button plate is prepared for the optional Turn DIY shifter. These can be screwed on there, and a cable bushing is also integrated. The connection to the RP2040 microcontroller is the same as for normal buttons; ideally, 2-pin connectors are also used here for easier installation.

Software

The software chosen was Fast-DDC, a non-commercial solution from Dahl Design that makes the software side of the project a breeze:

Installation

The software is installed in two steps:

  • Firstly, the RP2040 is connected to the PC. A file window opens automatically during the first connection (afterwards, the BOOTSEL button on the controller must be pressed while plugging it in).
  • Afterwards, the .UF2 file only needs to be stored in this folder. The controller then restarts and can be used directly.

Simhub

SImHub is used for the function of the LEDs:

  • Add a new device: Devices -> Add new device -> Add standard device -> Standard LED device
  • The following parameters must then be set for the device under USB PID / VID configuration:
    • VID: 0x2e8a
    • PID: 0x1053
  • A very low brightness setting of around 5% is perfectly adequate for the LEDs.
  • The name can be freely selected within SImHub.

LED-Profil

Under Telemetry LEDs effects, an LED profile can be imported into Simhub using the import profile option. The following functions are integrated in the profile provided here:

  • RPM-LEDs
  • Spotter
  • Pit Lane animation
  • Pit Speed Limiter animation
  • Starting animation

Conclusion

The button plate shown here should be of particular interest to beginners and, of course, DIY enthusiasts due to its very low price. Thanks to the great design by Dashl Design, the only challenge is the wiring. In the end, you get a versatile button plate with eight buttons, two encoders with additional push function and eight RGB LEDs that can be controlled via SimHub at an unbeatable price of less than €25.

One thought on “DIY-Project: Super Budget Button Plate with LEDs

Leave a Reply

Your email address will not be published. Required fields are marked *