12
Dom, Jul

Un maker construye una GPU casera con miles de microcontroladores RISC-V

Tecnologia
Contrario a la creencia común de que la fabricación de GPUs es exclusiva de grandes corporaciones, un ingeniero conocido como Bitluni está desarrollando una máquina gráfica desde su hogar. Este innovador proyecto utiliza miles de microcontroladores RISC-V, cada uno conectado a un LED RGB, fusionando el procesamiento gráfico con la visualización en una misma estructura. Aunque aún es un prototipo, el diseño redefine los límites de la creación de hardware a pequeña escala.

Durante años se ha asumido que la construcción de una GPU era una tarea reservada a empresas con fábricas avanzadas, equipos de ingeniería y presupuestos millonarios. Esta idea no era infundada, dada la complejidad de cualquier tarjeta gráfica moderna. Sin embargo, el trabajo de Matthias Balwierz, conocido como Bitluni, obliga a reconsiderar esa certeza. Aunque no busca replicar una GeForce ni competir con NVIDIA, está construyendo desde casa una máquina gráfica con miles de microcontroladores RISC-V.

La primera fase de su proyecto integra 8.192 de estos microcontroladores, cada uno directamente conectado a un LED RGB. Esta decisión hace que el montaje sea difícil de clasificar en las categorías habituales, ya que el diseño combina en una única estructura el procesamiento gráfico y la superficie de visualización. En términos técnicos, está concebido para funcionar simultáneamente como tarjeta gráfica y como pantalla, sin necesidad de un monitor externo. No obstante, el proyecto sigue siendo un prototipo parcial, aún lejos de la escala y las capacidades previstas para el sistema completo.

Esta arquitectura no fue la idea inicial. El creador comenzó con la intención de construir algún tipo de pantalla, pero al analizar el costo y la dificultad, descartó el uso de componentes RGB direccionables, que habrían encarecido demasiado el conjunto. La alternativa fue más directa: soldar un LED a cada microcontrolador y convertir cada chip en una unidad gráfica visible por sí misma. Esta decisión ayudó a controlar parte del presupuesto, aunque multiplicó el trabajo de diseño, montaje y programación necesario para coordinar miles de elementos.

La verdadera escala del proyecto se entiende al considerar el objetivo final. Una resolución de 1920x1080 píxeles habría requerido más de dos millones de microcontroladores, lo que habría disparado el coste y la complejidad mucho más allá de lo que Bitluni se había propuesto. Por ello, el maker redujo su ambición a 320x200 píxeles, una resolución asociada a los videojuegos de la era DOS, que aún así exige 64.000 chips. Los componentes instalados hasta ahora representan solo una primera fase de una máquina que, si se completa, multiplicaría casi por ocho su tamaño.

Para gestionar una cantidad tan grande de hardware, Bitluni dividió el sistema en placas de 16x32 "píxeles", diseñadas como módulos independientes dentro del conjunto. Estas se organizan en una disposición circular que evoca al Cray-1, el histórico superordenador de los años setenta, aunque la referencia es principalmente visual. La coordinación interna también está jerarquizada: cada grupo de 32 microcontroladores está bajo el control de una unidad CH32V más potente, encargada de organizar el funcionamiento de esa sección y de servir como nivel intermedio dentro de la máquina.

La elección del QingKe CH570 explica parte de la lógica económica del proyecto. Este microcontrolador cuenta con una CPU RISC-V de 32 bits, un conjunto de instrucciones limitado y una frecuencia de hasta 100 MHz. También integra un controlador USB, un transceptor de 2,4 GHz y compatibilidad con Bluetooth 5.0 LE. Bitluni pudo adquirir cada unidad por aproximadamente 0,13 dólares, pero esta ventaja económica se diluye al multiplicarla por toda la matriz prevista: solo los chips necesarios para alcanzar los 320x200 píxeles superarían los 8.000 dólares.

El desafío aumenta al proyectar la alimentación del sistema completo. Se estima un consumo de 2.161 W, equivalentes a unos 655 amperios a 3,3 V, para la configuración final. Cada microcontrolador consume alrededor de 10 mA. Para soportar una carga tan considerable, Bitluni ha utilizado una fuente Corsair WS3000 y convertidores propios capaces de transformar los 12 V de salida en los 3,3 V requeridos. Gran parte del proyecto también implica la fabricación de la infraestructura necesaria para su funcionamiento.

Bitluni diseñó las PCB, los circuitos de alimentación, las placas de interfaz y las placas de prueba, enfrentándose por primera vez a una placa de seis capas. La complejidad del diseño lo llevó hasta los límites del servicio de fabricación que utilizó. Paralelamente, exploró una solución de refrigeración por inmersión y llegó a dimensionar el contenedor acrílico que habría sido necesario, aunque pospuso esa opción por razones económicas y medioambientales.

La programación representó otro desafío de escala: no solo había que fabricar las placas, sino también cargar el código en cada microcontrolador. Para evitar hacerlo manualmente, Bitluni imprimió en 3D una pequeña herramienta con tres contactos y la fijó al carro de una impresora 3D. Un script de Python enviaba órdenes G-code para moverla hasta la posición exacta de cada chip y completar el proceso de forma repetible. Así, la impresora dejó de fabricar piezas para convertirse en una máquina de programación automatizada.

Esta máquina no compite en rendimiento, eficiencia ni tamaño con una tarjeta gráfica moderna, y tampoco ha alcanzado aún la escala que Bitluni proyectó. Su valor reside en exponer, mediante componentes separados, tareas que una solución comercial concentra o distribuye entre chips y circuitos especializados: cálculo, control, alimentación, coordinación y visualización. Al reconstruirlas con microcontroladores de bajo coste, el maker ha transformado una idea poco convencional en un sistema que puede diseñarse, probarse y ampliarse por etapas. No es una GPU doméstica convencional, sino un experimento de ingeniería llevado a límites poco comunes.