Saltar al contenido
iPaud

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.

  • 2026
  • Hardware
  • Software
  • Código abierto
  • Vídeo
  • Estado: Activo

Hecho con

ESP32-S3 · C++ · PlatformIO · MJPEG · FFmpeg · Docker · Swift

RetroTV, una pequeña televisión color crema con dos ruedas negras, mostrando un atardecer pixelado sobre un escritorio de madera

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.

Detalle de la rueda de RetroTV con su anillo naranja, junto a la rejilla del altavoz

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.

La pantalla de RetroTV con un atardecer pixelado y un gato sobre un tejado

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
RetroTV desmontada: carcasa frontal, chasis, pantalla, placa ESP32-S3, altavoz, batería, ruedas y tornillos

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)
La pantalla de RetroTV con un menú en pantalla

Desarrollo

La primera semana, sacada directamente del historial de commits.

  1. 04 OCT 26

    v0.1

    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.

  2. 03 OCT 26

    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.

  3. 02 OCT 26

    Primera versión pública.

    Cuatro diseños de mando y RetroTV Voice: palmadas para encenderla y una grabadora de mensajes de 15 segundos.

  4. 01 OCT 26

    Funcionando con batería.

    Una LiPo de 3000 mAh la alimenta sin cables, y la guía de programación llega al mando.

  5. 30 SEPT 26

    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.

  6. 29 SEPT 26

    Primeros canales en directo.

    Las emisiones en directo por HLS llegan a través del servidor de casa, empezando por 3Cat.

  7. 29 SEPT 26

    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

La parte trasera de RetroTV en una estantería, con la pantalla iluminando la pared
La placa ESP32-S3, el altavoz, la batería y las ruedas sobre papel
Cable USB-C conectado al panel trasero de RetroTV