One accessory that has become fashionable and that a huge number of streamers use in their broadcasts is the deck, a module composed of dedicated buttons (whether physical or on a touch screen) that behave as shortcuts. The most basic versions cost 100 euros on average, and these days it's not such an easy sum to digest, but if you don't mind following the DIY path you can build your own deck for a fraction of the cost, using a touchscreen and an ESP32 module with Bluetooth.

How to Build Your Own Open Source Deck
Deck ESP32

The DIY Route

If you are a frequent visitor to Twitch, you have probably already seen your favorite streamers using (and promoting) decks. With the touch of a button they can send messages, trigger effects, load programs, and much more. A well-configured deck saves time and clicks, and overall it's easier for the end user.

Now, if you want a basic version like the "Elgato Stream Deck Mini" with six keys, you'll have to invest at least 100 euros, and I know that in other regions the price is a bit more... uncomfortable, so to speak. So what alternatives are there? Some readers won't hesitate to point out that with enough AutoHotkey knowledge it's possible to emulate a deck via keyboard shortcuts, but there's also the DIY option, and Instructables user Dustin Watts shared an excellent weekend project: FreeTouchDeck, your own open source deck.

What You Need

The best part of this development is without a doubt its cost: All you need to get started is an ESP-WROOM-32 module with WiFi and Bluetooth, and an ILI9488 touchscreen or equivalent. The PCB that connects the two components is optional (you can always use wires), but the main link between the deck and the computer is via Bluetooth, and you'll need something like an extra USB dongle if your system doesn't have that function built in.

Software Setup

The physical connection is simple, however, a good part of the tutorial is dedicated to loading Arduino libraries onto the ESP32. First you set up the core for ESP32, and then you add six additional modules: Adafruit-GFX-Library, TFT_eSPI, ArduinoJson, ESP32-BLE-Keyboard, ESPAsyncWebServer and AsyncTCP. The last three must be installed manually.

How to Build Your Own Open Source Deck
This is quite easy to follow...
How to Build Your Own Open Source Deck
... and here's another visual reference. You can use a PCB, or direct wires.

After that you have to replace a file in TFT_eSPI, using one of its examples (there's no need to modify code here, just rename). The rest requires downloading the ESP Sketch Data Upload Tool, manually configuring the WiFi parameters (the ESP32 acts as a microserver and you must access it using the browser), preparing the FreeTouchDeck.ino sketch, and finally loading it onto the ESP32. It's not an intuitive process, but if you follow the instructions step by step, you should reach the finish line.

Printing a 3D case for the FreeTouchDeck is optional, since there's always the possibility of reusing something, but the model is available for free on Thingiverse. The last two steps of the tutorial focus on the deck's first boot and its final configuration. In total you'll have six buttons at a touch's distance, perfectly adapted to your needs, and with the satisfaction of having spent a quarter of what a commercial solution costs. Give it a try!

Official site: Click here