RetroTV
Una tele de los 90 en miniatura. Los canales siguen un horario real, así que siempre la enciendes a mitad de episodio.
Firmware y carcasa para una tele de tubo en miniatura, con un ESP32-S3 y una pantalla de 2,8″. Canales con horario, estática al cambiar, teletexto, mando web y canales en directo desde un pequeño servidor en casa.
Hecho con
ESP32-S3 · C++ · PlatformIO · MJPEG · FFmpeg · Docker · Swift

Qué es
RetroTV es una tele de los 90 en miniatura. Cada canal es un bucle atado al reloj real: cuando la enciendes, caes a mitad de episodio, con un golpe de estática y el destello del tubo.
El vídeo se reproduce en MJPEG a 320×240 y 20 fps, con el audio sincronizado, desde una microSD. Una página de teletexto muestra lo que hay ahora y después, y la propia tele sirve su mando web en retrotv.local, con cuatro diseños de época.

La idea
La tele de antes no te esperaba. La encendías y ya estaba echando algo, lo hubieras elegido o no.
RetroTV recupera eso: sin menús ni colas, solo canales que siguen aunque no los estés mirando. Un pequeño servidor en casa añade canales de red y emisiones públicas en directo.

Hardware
Una placa Freenove ESP32-S3 con pantalla de 2,8″, dentro de una carcasa impresa en 3D hecha para ella. La última versión no tiene botones: un LED y ocho imanes.
- ESP32-S3, 2,8″ ILI9341
- Códec de audio ES8311
- Altavoz de 40×28 mm
- microSD
- Batería LiPo de 3000 mAh
- Carcasa impresa en 3D

Software
Firmware en C++ con PlatformIO. Un servidor en Python con FFmpeg prepara los canales y los directos, y una pequeña app para Mac, RetroTV Importar, convierte tus propios vídeos en canales.
- C++ · PlatformIO
- MJPEG + AAC
- Python · FFmpeg · Docker
- Swift (app de Mac)

Desarrollo
La primera semana, sacada directamente del historial de commits.
RetroTV Importar 0.1.
Una pequeña app de Mac que convierte tus vídeos en canales, y una red wifi de configuración para el primer arranque.
La carcasa sin botones.
Soporte para la carcasa v10, con un LED y ocho imanes. Además, palabras de activación experimentales e integración continua.
Primera versión pública.
Cuatro diseños de mando y RetroTV Voice: palmadas para encenderla y una grabadora de mensajes de 15 segundos.
Funcionando con batería.
Una LiPo de 3000 mAh la alimenta sin cables, y la guía de programación llega al mando.
Un mando que sirve la propia tele.
Mando web, canales en directo de RTVE y Pluto TV, y el servidor de casa pasa a Docker.
Primeros canales en directo.
Las emisiones en directo por HLS llegan a través del servidor de casa, empezando por 3Cat.
Primer arranque.
Reproducción local, el gestor de canales con su rótulo CRT, la programación en antena y el teletexto, todo en un día.
Galería


