Durante años se ha considerado que la construcción de una GPU era una tarea reservada a empresas con fábricas avanzadas y grandes presupuestos. Sin embargo, Matthias Balwierz, conocido como Bitluni, está desarrollando una máquina gráfica en su hogar utilizando miles de microcontroladores RISC-V.
En la primera fase del proyecto, Balwierz ha reunido 8.192 microcontroladores, cada uno conectado a un LED RGB. Este diseño permite que la estructura funcione tanto como tarjeta gráfica como pantalla, eliminando la necesidad de un monitor separado. No obstante, el proyecto se encuentra en una etapa prototípica y aún no alcanza la escala ni las capacidades previstas para el sistema completo.
Inicialmente, Balwierz planeaba construir una pantalla, pero al evaluar los costos y la complejidad, decidió soldar un LED a cada microcontrolador, lo que convierte a cada chip en una unidad gráfica visible. Aunque esta decisión redujo el presupuesto, aumentó significativamente el trabajo de diseño, montaje y programación necesario para coordinar los miles de elementos.
El objetivo final del proyecto es una resolución de 1920×1080, que requeriría más de dos millones de microcontroladores. Sin embargo, Balwierz optó por una resolución más baja de 320×200 píxeles, asociada a videojuegos de la era DOS, lo que aún requiere 64.000 chips. Hasta ahora, los componentes instalados representan solo una primera etapa de una máquina que podría multiplicar casi por ocho su tamaño si se completa.
Para gestionar esta cantidad de hardware, el sistema se divide en placas de 16×32 «píxeles», diseñadas como módulos independientes. Estas se organizan en una disposición circular similar al superordenador Cray-1 de los años setenta. Cada grupo de 32 microcontroladores es controlado por una unidad CH32V, que organiza el funcionamiento de esa sección.
El microcontrolador QingKe CH570, elegido por Balwierz, cuenta con una CPU RISC-V de 32 bits, un conjunto de instrucciones limitado y una frecuencia de hasta 100 MHz. Aunque cada unidad costó aproximadamente 0,13 dólares, el costo total para los chips necesarios para alcanzar los 320×200 píxeles superaría los 8.000 dólares.
La alimentación del sistema completo plantea otro desafío, con una estimación de 2.161 W, equivalentes a unos 655 amperios a 3,3 V. Cada microcontrolador consume alrededor de 10 mA. Para soportar esta carga, Balwierz utiliza una fuente Corsair WS3000 y convertidores que transforman los 12 V de salida en los 3,3 V requeridos.
Además, Balwierz ha diseñado la infraestructura necesaria para el funcionamiento del sistema, incluyendo PCB, circuitos de alimentación y placas de interfaz. La complejidad del diseño le llevó a los límites del servicio de fabricación utilizado. También exploró una solución de refrigeración por inmersión, aunque decidió no continuar con ella por razones económicas y medioambientales.
La programación de los microcontroladores representa otro reto, ya que no se puede hacer manualmente. Para ello, Balwierz creó una herramienta impresa en 3D que se fija al carro de una impresora 3D. Un script de Python envía órdenes G-code para mover la herramienta a la posición exacta de cada chip y completar el proceso de manera automatizada.
Este proyecto no compite en rendimiento ni eficiencia con las tarjetas gráficas modernas y aún no ha alcanzado la escala prevista. Sin embargo, permite explorar tareas que normalmente se concentran en soluciones comerciales, utilizando microcontroladores de bajo costo y convirtiendo la idea en un sistema que puede diseñarse, probarse y ampliarse por etapas.




