Stream Deck
desde cero



¿Por qué construirlo?
Los stream decks comerciales cuestan entre 100€ y 250€. Este salió por una fracción de ese precio y además es 100% mío — diseño de las caps incluido. Lo uso a diario para lanzar apps, abrir URLs que visito constantemente y ejecutar atajos de teclado. Cuando enciendo el ordenador, el software arranca solo y se queda corriendo en segundo plano. Cada botón es configurable desde una interfaz gráfica sin tocar código.
Lo que necesitas
Carcasa y keycaps
Carcasa
Modelo de Thingiverse
El modelo de la carcasa es de __CDante en Thingiverse. Lo imprimí en una Bambu Lab X1 en PLA, tardó 2 horas. No modifiqué el modelo.


Keycaps personalizadas
Diseños propios con AMS
Las keycaps sí las diseñé yo. El proceso: descargo la imagen que quiero, la paso a SVG con Photoshop, y luego pego el SVG sobre la cap en el laminador de Bambu Studio. Las 12 caps tardaron 8 horas porque se requiere AMS para el cambio de filamento en los diseños de colores.
Soldadura y conexiones
Cada switch tiene dos pines. Un pin de cada switch se conecta a un GPIO diferente del ESP32-C3, y el otro pin de todos los switches va a GND compartido. El ESP32 usa los pines GPIO en modo INPUT_PULLUP, de forma que cuando se pulsa un switch el pin pasa de HIGH a LOW.
Los termorretráctiles son opcionales pero recomendables para proteger las soldaduras y que el cableado interno quede más limpio. Una vez soldado todo, se monta dentro de la carcasa impresa.
Firmware del microcontrolador
El firmware del ESP32-C3 es simple: detecta qué botón se ha pulsado y manda el identificador por puerto serie a 115200 baudios. El software de Windows escucha ese puerto y ejecuta la acción configurada.
App de Windows (WPF + C#)
El software está escrito en C# con WPF (.NET). Escucha el puerto serie (COM5 por defecto), recibe los identificadores de botón y ejecuta la acción configurada: abrir una app, abrir una URL, o enviar un atajo de teclado.
El software se añade al registro de Windows para arrancar automáticamente al inicio. Cuando se cierra la ventana, la app se minimiza a la bandeja del sistema — sigue corriendo en segundo plano. La configuración se guarda en JSON en AppData.
Ensamblaje

Una vez impresa la carcasa, soldado el cableado y flasheado el ESP32, se monta todo dentro. Los switches encajan en los agujeros de la carcasa, el ESP32 va en el interior, y las keycaps se colocan encima de los switches. El USB-C sale por la parte trasera.
Al conectarlo al PC, Windows lo reconoce como dispositivo serie. Hay que asegurarse de que el puerto en el código coincida con el asignado (COM5 en mi caso). Una vez configurado, funciona solo.
Cómo lo uso
12 botones configurables para lo que necesites. En mi caso: VS Code, navegador, Spotify, URLs que abro constantemente, y algún atajo de teclado. Cada vez que arranco el ordenador está listo sin hacer nada. Si quiero cambiar qué hace un botón, abro la app desde la bandeja y lo edito en segundos.





