Una radio de sobremesa no necesita un dial de frecuencias ni una antena. Basta con una ESP32-S3, una pantalla OLED, un amplificador I2S y un codificador rotatorio. Así lo demuestra Shebin Jose Jacob con su radio por internet, un proyecto que cabe en una caja impresa en 3D y se controla con un único mando. Girar el mando sube o baja el volumen. Pulsarlo salta a la emisora siguiente. El programa está escrito para Arduino y la lista de emisoras vive en el propio código. El diseño incluye una placa de circuito propia, una carcasa en blanco y amarillo y seis emisoras de serie. Repasamos cómo está construido y qué podemos aprender de él.

Un mando para todo

El autor publicó el proyecto en la web de Coders Cafe el 16 de septiembre de 2026. Después lo compartió en el subreddit de ESP32, donde despertó el interés de la comunidad. Esta semana lo recogió también XDA Developers, que lo presenta como un aparato pensado para dejar sobre la mesa de trabajo.

La interfaz es mínima. Un giro del mando cambia el volumen. Una pulsación cambia de emisora. No hay menús ni botones adicionales. Esa sencillez es el mayor acierto del diseño. Una radio se maneja casi sin mirar, y este montaje respeta esa idea.

La radio por internet resuelve además un problema clásico. Una radio de FM depende de la cobertura, del relieve y de las interferencias. Una radio por internet solo necesita una red Wi-Fi. Con ella se accede a miles de emisoras de todo el mundo, sin importar dónde viva el oyente.

El hardware: la ESP32-S3 al mando

La ESP32-S3 hace todo el trabajo. Gestiona la conexión Wi-Fi, recibe la emisión, dibuja la interfaz y lee el mando. El autor recomienda la variante N16R8, que ofrece 16 MB de memoria flash y 8 MB de PSRAM. La variante N8R8 también funciona, pero deja menos margen para el almacenamiento temporal del audio y para ampliar el programa más adelante.

El sonido sale por un amplificador MAX98357. La ESP32-S3 le envía el audio en formato digital a través del bus I2S. El amplificador mueve directamente un altavoz de 4 Ω. Al evitar la conversión analógica en la placa principal, se reduce el ruido de fondo.

La pantalla es un panel OLED de 128 × 64 píxeles con controlador SH1106. Se conecta por I2C, en los pines 11 y 10 de la placa. Muestra la emisora activa, una etiqueta corta y una barra de volumen. También informa del estado de la conexión durante el arranque.

El codificador rotatorio es un módulo tipo KY-040. Usa los pines 4, 5 y 6 para las dos señales de giro y para el pulsador. El código lee el estado de estos pines directamente desde el registro de entradas de la ESP32-S3. Así detecta cada paso del mando con muy poca demora.

Una placa propia y una carcasa de sobremesa

Tras validar el circuito en una placa de pruebas, el autor diseñó una placa de circuito impreso en EasyEDA. Encargó la fabricación a JLCPCB. El resultado elimina el cableado suelto del prototipo y deja un montaje mucho más limpio.

La placa gira en torno a la ESP32-S3. Usa conectores de tipo hembra para la propia placa de desarrollo, el amplificador, la pantalla y el codificador. Incorpora además un terminal de tornillo para la alimentación de 5 V. Ese diseño modular permite sustituir cualquier pieza sin soldar de nuevo.

La carcasa se modeló en Fusion 360 con un aspecto de radio clásica de mesa. Combina blanco y amarillo. El frontal lleva una rejilla grande para el altavoz, una ventana para la pantalla y un mando impreso a medida. Todas las piezas se imprimieron en PLA y se unen con tornillos M3. La rejilla se imprime aparte y se pega al resto.

Para la alimentación se usa un conector de barril y una fuente de 5 V. Tras conectarla, la radio tarda unos segundos en unirse a la red y empezar a sonar. Es un montaje accesible para quien ya tenga una impresora 3D y algo de práctica con el soldador.

El programa: las emisoras, en una tabla

El programa usa el entorno de Arduino. Se apoya en la biblioteca ESP32-audioI2S para recibir y reproducir las emisiones, y en las bibliotecas Adafruit GFX y Adafruit SH110X para dibujar en la pantalla. Todo el código está en un único archivo de unos 300 líneas, lo que facilita su lectura.

Las emisoras forman una tabla al principio del código. Cada entrada contiene la dirección de la emisión, un nombre y una etiqueta corta para la pantalla. De serie incluye BBC World Service, Swiss Jazz, Classic FM, Studio Brussels, Online Jazz y Lo-Fi Hip Hop. Añadir una emisora propia supone escribir una línea más. Cambiar la red solo exige editar el nombre y la contraseña del Wi-Fi.

Al encender, la radio muestra una pantalla de presentación y se conecta a la red. Después arranca la primera emisora de la lista. El volumen inicial es 15 y el máximo es 21. La barra de la pantalla refleja ese margen en 80 píxeles de ancho.

Hay un detalle práctico más. El código acepta órdenes por el puerto serie. Los números del 0 al 5 eligen emisora y los símbolos más y menos ajustan el volumen. Es una vía cómoda para probar el montaje antes de cerrar la carcasa.

Detalles que evitan fallos

El autor ha cuidado varios aspectos que suelen dar problemas en este tipo de proyectos. El primero es el rebote del pulsador. El código ignora cambios de estado que ocurran en menos de 250 ms. El segundo es el cambio de emisora. Tras pulsar, se bloquea una nueva pulsación durante 1,3 s para que la conexión anterior se cierre con limpieza.

El tercero es la espera de conexión. El programa configura tiempos máximos de 20 s y 30 s para las emisiones, de modo que una emisora lenta no bloquee el aparato. El cuarto es el ahorro de energía del Wi-Fi. El código lo desactiva para evitar cortes de audio, a costa de un consumo algo mayor.

También se limita la frecuencia de redibujado de la pantalla. Tras un cambio, se actualiza como mucho cada 300 ms. En reposo, se refresca cada 2 s. Así se evita que el dibujo robe tiempo a la reproducción del sonido.

Qué necesitas para replicarlo

La lista de piezas es corta. Hace falta una ESP32-S3, preferiblemente la variante N16R8, un amplificador MAX98357, un altavoz de 4 Ω, una pantalla OLED SH1106 y un codificador rotatorio. A eso se suman una fuente de 5 V, un conector de barril, tornillos M3 y filamento de PLA.

El autor ofrece los archivos de la placa y de la carcasa en la página del proyecto. Quien prefiera no encargar una placa puede montar el circuito con cables, igual que en el prototipo inicial. El esquema de pines del código sirve de guía en ambos casos.

Conviene revisar antes las direcciones de las emisoras. Algunas emisiones cambian de dirección con el tiempo o exigen una conexión cifrada. Si una deja de sonar, basta con sustituir su línea en la tabla.

Reflexiones

Este proyecto confirma algo que vemos a menudo entre los aficionados. La ESP32 ocupa hoy el lugar que durante años tuvo el Arduino. Es barata, tiene Wi-Fi integrado y cuenta con bibliotecas maduras. Con ella, un aparato que antes exigía varios módulos se resuelve con una sola placa.

También sorprende lo poco que hace falta para una buena experiencia de uso. Un mando, una pantalla pequeña y seis emisoras bastan para tener una radio útil. Muchos aparatos de hogar conectado añaden funciones que casi nadie usa. Este elige menos y funciona mejor.

Quedan margen y ideas para ampliarlo. La memoria sobrante de la variante N16R8 permite añadir más emisoras, una página web de configuración o integración con Home Assistant. En PcDeMaNo hemos probado montajes con ESP32 similares y sabemos que ese camino es sencillo. Para quien quiera estrenarse en la electrónica con un resultado que se escucha desde el primer día, es un punto de partida excelente.

3
Suscribirse
Notificación
0 Comments
0
¡Aquí puedes dejar tus comentarios!x