A GPU (graphics processing unit) is a specialized computer component for, primarily, rendering graphics.That RTX 5090 that you took out a second mortgage to buy is one example.But GPUs are useful for far more than just playing the newest games at max settings; their parallel processing capabilities make them desirable for other tasks, like crunching data for machine learning.
Jean Michel Sellier was able to build something similar using microcontroller development boards, including an Arduino.Technically speaking, this isn’t a GPU.It doesn’t contain dedicated hardware for rendering shaders or anything like that.
Rather, it is a parallel computing cluster that can distribute processing tasks across several microcontrollers.But that’s a mouthful and so “GPU” is a good enough simplification.In total, this cluster contains five development boards, each with its own microcontroller.
An Arduino Nano Every acts as the primary controller, overseeing the processing tasks distributed to the others.Those are Teensy 4.0 boards.They’re all soldered on a perfboard with an OLED screen to show the results of the assigned computations. Sellier hasn’t yet provided many details on the code, except that it was programmed mostly in C.
It takes some resource-intensive job, like computing digits of pi, and breaks it up between the four microcontrollers.It might even be able to handle some light cryptocurrency mining — another popular use for GPUs.Sellier usually provides in-depth explanations and tutorials, so be sure to subscribe to his channel for more information about this DIY GPU.