STREAM-DECK Con ESP32
Este proyecto consiste en construir un Stream Deck de bajo costo utilizando una placa ESP32-WROOM, una pantalla TFT táctil de 3.5" con controlador ILI9488, cables Dupont y un cable USB. El dispositivo permite acceder rápidamente a funciones de la computadora mediante botones táctiles personalizables: abrir aplicaciones (OBS, Discord, navegador), controlar multimedia, volumen y un agente de IA por voz. La IA interpreta la solicitud y el PC ejecuta la acción autorizada.
Supplies
- ESP32 DevKit V1 principal — 1 — Controlador
- Pantalla TFT 3.5" ILI9488 — 1 — Interfaz visual
- Micrófono INMP441 — 1 — Captura de voz
- Protoboard — 1 — Montaje inicial
- Cables hembra-hembra — 20 — Conexiones
- Cable USB de datos — 1 — Alimentación y programación
- Resistencia 220 Ω — 1 — Controlador LED
- Caja impresa en 3D — 1 — Carcasa (Opcional)
- Fuente USB estable de 5V — 1 — Alimentación
Diseño General Del Proyecto
El sistema se divide en tres capas que se comunican entre sí
- El ESP32 captura el audio del INMP441 y lo envía por Wi-Fi/USB a la PC.
- El servidor local transcribe el audio con Whisper y consulta a Ollama.
- Ollama interpreta la solicitud y el PC ejecuta la acción autorizada.
Prototipado En Wokwi
En esta parte se realizo el prototipado en la plataforma wokwi herramienta de simulación de componentes electrónicos donde se probaron las conexiones y el software que luego seria cargado al esp 32 una vez llegado a una plataforma funcional con la simulación se paso al ensamblaje de los componentes físicos y la puesta en marcha de las pruebas reales en hardware real
Conexiones Electrónicas
Conexiones Pantalla TFT ↔ ESP32
- VCC — 3.3 V
- GND — GND
- SCK — GPIO 18
- MOSI — GPIO 23
- MISO — GPIO 19
- CS — GPIO 15
- DC — GPIO 2
- RST — GPIO 4
- T_CLK — GPIO 18
- T_DIN — GPIO 23
- T_DO — GPIO 19
- T_CS — GPIO 27
- T_IRQ — GPIO 34
Conexiones Micrófono INMP441 ↔ ESP32
- VDD — 3.3 V
- GND — GND
- SCK — GPIO 26
- WS — GPIO 25
- SD — GPIO 33
- L/R — GND
Software Del ESP32
El firmware del ESP32 incluye:
- Interfaz gráfica con 6 botones táctiles personalizables (color, icono y acción configurables).
- Menú de ajustes para editar cada botón y guardar la configuración en NVS (memoria no volátil).
- Calibración táctil guiada de 4 puntos, guardada en Preferences.
- Comunicación USB serie bidireccional con la PC: el ESP32 envía comandos (OPEN_OBS, OPEN_DISCORD, PLAY_PAUSE, VOL_UP, VOL_DOWN) y recibe el volumen real (STREAMDECK:VOLUME:<n>).
- Medidor de nivel de audio del INMP441 en la pantalla del Agente IA.
- Protocolo serie a 115200 baudios compatible con el receptor Python.
Acciones disponibles: OBS, Discord, Agente IA, Play/Pausa, Volumen +, Volumen −.
Servidor Local De Voz E IA
El servidor recibe audio PCM crudo del ESP32 (16 kHz, 16 bits, mono) y:
- Transcribe el audio con faster-whisper (modelo small, CPU, int8).
- Consulta a Ollama (modelo qwen2.5:3b) con el texto transcrito.
- Devuelve la pregunta y la respuesta en JSON.
Código de ejemplo/guía adjunto
Downloads
Ejecutar Las Pruebas
- Encender ESP32 — Inicialización correcta
- Pulsar botón 1 — Acción Chrome
- Pulsar botón 2 — Acción VS Code
- Pulsar botón 3 — Acción Ollama
- Pulsar botón 4 — Acción Audio
- Mover potenciómetro — Lectura variable
- Reiniciar — Interfaz vuelve a estado inicial
Mención
El proceso de Design Thinking permitió desarrollar el Stream Deck de forma ordenada y centrada en las necesidades del usuario. El resultado es un dispositivo económico, personalizable y funcional que combina hardware accesible (ESP32 + TFT + INMP441) con software local de reconocimiento de voz e inteligencia artificial (Whisper + Ollama).
Firma: Integrantes del grupo de 5to