Nunca tuve la intención de sumarme a la vanguardia de la televisión electromecánica. Solo quería hacer un reloj bonito. Pero a veces uno tiene que ir donde lo lleve la ingeniería y, en mi caso, me llevó al Scanwheel, una televisión electromecánica panorámica de bolsillo con una resolución de 4.096 por 20 píxeles. Sí: 4K por 20.

Un siglo de televisión sin tubo

La televisión electromecánica fue la primera forma práctica de televisión, desarrollada por John Logie Baird en la década de 1920. Usaba el llamado disco de Nipkow, que tiene una espiral de perforaciones. A medida que el disco gira, los agujeros pasan uno a uno frente a una fuente de luz. Al variar el brillo de la luz mientras un agujero la recorre, se puede dibujar una línea de barrido de un cuadro de video. Si el disco gira lo bastante rápido, la persistencia de la visión hace que parezca que el cuadro entero se muestra al mismo tiempo.

En el Reino Unido se produjeron televisores electromecánicos comerciales, con transmisiones regulares de la BBC en los años treinta. Aunque los tubos de rayos catódicos reemplazaron a las televisiones electromecánicas en los cuarenta, los aficionados siguieron construyéndolas e incluso mejorando la tecnología original. En la edición de junio de 2022 de la sección Hands On de IEEE Spectrum, por ejemplo, Markus Mierse presentó una versión a color impresa en 3D del tamaño de un escritorio.

Yo mismo construí una pantalla electromecánica hace algunos años, pero tenía un diseño tradicional, con un disco de Nipkow hecho a partir de un disco de vinilo perforado. Hace poco volví a experimentar con la televisión electromecánica como derivación de mi canal de YouTube, donde vengo desarrollando pantallas volumétricas, esas que crean píxeles 3D flotando dentro de un volumen de espacio.

En particular, me interesaba tomar prestadas ideas de las cámaras plenópticas, que usan orificios y lentes para capturar campos de luz multidimensionales. Me pregunté si podía correr el proceso al revés, para crear campos de luz en lugar de capturarlos. Suelo explorar ideas en dos dimensiones antes de expandirlas a la tercera, así que pensé en demostrar primero una pantalla 2D. Decidí convertir un dispositivo electromecánico en un reloj: después de todo, no se necesita alta resolución para mostrar dígitos.

¿Cómo funciona la pantalla Scanwheel?

Pensar la pantalla como una carátula de reloj me empujó hacia algunas ideas clave. Primero, en vez de tener una sola área de visualización, usaría cinco fuentes de luz para crear varias zonas: cuatro para representar horas y minutos, y una central para un separador que parpadeara cada segundo.

Segundo, para alinear los dígitos en una fila legible en lugar de dejarlos repartidos por un arco, cambié el disco de Nipkow por una alternativa ya establecida: un tambor de Nipkow. En un tambor, los agujeros recorren la superficie cilíndrica curva en un patrón escalonado. Eso significa que siempre trazan una línea recta desde la perspectiva de alguien que mira de costado, así que los dígitos del reloj quedarían alineados horizontalmente.

Esas dos decisiones resultaron clave para lograr tanto la miniaturización como la alta resolución horizontal. Un disco necesita un diámetro bastante ancho para que las líneas de barrido no queden ridículamente curvadas. Con un tambor, en cambio, la curvatura no es problema: puede ser mucho más pequeño que un disco con la misma cantidad de líneas de barrido. Y, a diferencia de lo que pasaba en los años veinte, meter varias fuentes de luz juntas dentro de un tambor pequeño no es problema con los LED modernos. Me decidí por un tambor de 6 centímetros de ancho, lo que convirtió al aparato de algo del tamaño de un escritorio a algo que cabe en un bolsillo.

Después me di cuenta de que mis cinco zonas de visualización podían trabajar en conjunto para crear una sola pantalla panorámica. Como es posible modular el brillo de un LED a tasas muy altas, la resolución horizontal también puede ser muy alta. Mi sistema tiene actualmente resolución horizontal 4K, y eso está limitado sobre todo por la cantidad de memoria disponible a bordo, que sostiene el buffer donde se guardan los datos de píxeles de cada cuadro antes de enviarse a los LED.

"En pruebas, he empujado la resolución horizontal a más de 8.000 píxeles."

Pese a la baja resolución vertical del Scanwheel, que con 20 píxeles tiene menos líneas de barrido que los televisores de 30 líneas de Baird, su alta resolución horizontal hace que la legibilidad sea sorprendentemente buena: puedo mostrar no solo dígitos toscos, sino video transmitido al buffer de cuadros.

El silicio especial del RP2040

Ese buffer de cuadros vive en una placa Raspberry Pi Pico, construida en torno al microcontrolador RP2040. El RP2040 es ideal para este proyecto por el silicio PIO dedicado del chip. PIO son las siglas en inglés de entrada/salida programable, y es un bloque de cuatro coprocesadores que usa un conjunto de instrucciones muy limitado. Cada coprocesador puede configurarse para masticar flujos de entrada y salida de manera completamente independiente de los dos núcleos de CPU del RP2040.

Gracias al PIO puedo seguirle el ritmo al tambor giratorio y modular los cinco LED simultáneamente mientras los agujeros pasan sobre ellos, una tarea complicada por el hecho de que el LED central no es monocromático, sino un LED de color con canales rojo, verde y azul separados. De hecho, el PIO hace casi todo el trabajo: extrae datos del buffer de cuadros y controla tanto los LED como el giro del tambor. El código que corre en la CPU, escrito en MicroPython, se encarga básicamente de configurar el PIO y después dejarlo tranquilo.

Un motor paso a paso conectado a una placa controladora hace girar el tambor, con alimentación provista por el conector USB de la Pi Pico. Todo lo que tiene que hacer la Pi Pico en materia de control es enviarle a esa placa un pulso para avanzar la posición del tambor una vez cada milisegundo. Los datos de video se transmiten a la Pi Pico por una interfaz de red. Se puede configurar el Scanwheel para reflejar una porción de la pantalla del computador, o para actuar como una pantalla independiente.

Cómo construir el tuyo

La carcasa, incluido el tambor, está impresa en 3D. Y acá viene un detalle elegante: en el repositorio del Scanwheel en GitHub, disponible en https://github.com/AncientJames/Scanwheel/tree/main, junto a todos los demás archivos necesarios para hacer este proyecto, hay un archivo de OpenSCAD que genera el archivo de impresión 3D del tambor a partir de parámetros ajustables.

Eso significa que se puede hacer fácilmente un tambor más alto y agregar más líneas de barrido, o probar otras personalizaciones para tener una pantalla electromecánica portátil propia. Incluso se puede usar como reloj.