First look: Matthias Balwierz, a hardware hacker better known as Bitluni, is building a home-made GPU out of thousands of low-cost microcontrollers. Instead of relying on a single powerful processor, Balwierz spreads the work across thousands of RISC-V chips. Each one acts as both a processor and a pixel, thanks to an RGB LED soldered directly onto it. The result is a system where the graphics hardware and display are built into the same array of chips.

A Full HD display would need more than two million chips. So Balwierz scaled the concept down to a 320 x 200 resolution, a format that will still require 64,000 microcontrollers when complete. The current prototype is smaller, built with 8,192 chips arranged across custom circuit boards.

Each board handles a 16 x 32 block of pixels, and the boards themselves are arranged in a circular layout, loosely inspired by the Cray-1 supercomputer. The visual result is a dense array of blinking LEDs, each tied to its own processor.

The decision to attach a basic RGB LED directly to each chip came down to cost. More advanced addressable LEDs would have pushed the project budget too high.

The chips at the center of the build are QingKe CH570 microcontrollers. They cost about $0.13 each and include quite a bit of hardware for the price. Each one packs a 32-bit RISC-V CPU running up to 100 MHz, along with a USB controller, a 2.4 GHz transceiver, and Bluetooth 5.0 LE support.

Even at that low price, scaling up to tens of thousands of units adds up quickly. The full 64,000-chip version would cost more than $8,000 just for the microcontrollers.

To keep everything organized, groups of 32 of these smaller chips are managed by a more capable CH32V controller. That layered approach helps coordinate the system without relying on a single central processor.

Power is one of the biggest challenges. Each chip draws only about 10 milliamps individually. But across thousands of units, the numbers add up fast. The current setup pulls around 2,161 watts, or roughly 655 amps at 3.3 volts. To handle that load, Balwierz uses a Corsair WS3000 ATX power supply and custom converters to step 12 volts down to 3.3 volts at high current.

Nearly every part of the system is custom-built. Balwierz designed all of the circuit boards, power systems, and testing hardware himself. This is apparently his first six-layer PCB, and it pushed against JLCPCB's design limits. He had initially planned to use immersion cooling to deal with heat, but decided against it for now due to cost and environmental concerns.

One of the more inventive aspects of the project is the way the chips are programmed. Instead of manually flashing each one, Balwierz created a three-pronged programming tool using a 3D printer. He mounted the tool onto the printer's moving carriage and wrote a Python script that sends G-code commands to position it precisely over each microcontroller. The setup automates what would otherwise be a slow, repetitive process.

The project is still in its early stages, and it's nowhere near competing with commercial GPUs. But that's not really the point. What he's building is a proof of concept that tests how far you can push distributed, low-cost hardware. It takes a different approach to graphics processing, relying on many simple units working in parallel instead of a single powerful chip.

Whether it eventually runs something like Doom is still an open question. For now, it shows how far inexpensive parts can go when someone is willing to rethink how a GPU might work.