When trying to brainstorm projects for the Raspberry Pi Pico, using it to make a GPU is one of the last things we would have thought of. But clearly maker and developer Clem Mayer with Element 14 lives life on the wild side as he recently brought this intriguing idea to light in a video recently shared to the Element 14 YouTube channel.
According to Mayer, the idea for this project stemmed from a need to create a graphics card for his Linux-based ESP32S3 machine. He also wanted it to be flexible so that it could work with other microcontrollers and SBCs. This would make it easier for others to implement it at home in their own projects.
Mayer goes on to explain that the meat of this project wasn't put together entirely by Clem but rather inspired by similar projects put together by others. Mayer mentions PicoDVI, created by Luke Wren, which uses the GPIO on the Pico to bitbang DVI signals. Mayer's project, while similar, is a little bit different.
In this case, Mayer designed a PCB that the Pico can be mounted to. It has a bracket for mounting the GPU in place, a DVI port on the side and a blank spot with contacts is available to surface solder the Pico GPIO to. At the moment, this is just a concept PCB design that has yet to be put to the test, however, he did manage to use the Pico as a GPU by manually wiring the hardware together. The end result is a functional graphics processor that can handle some low-level processing for small machines like SBCs and microcontrollers.
In the video, we get a look at the code Mayer used to make the Pico work as a GPU which he created using Arduino IDE. If you want to explore this Raspberry Pi project in greater detail, we definitely recommend checking out the video so Mayer can indulge you in all the juicy details. Be sure to follow Element14 for any future updates to this project. The PCB will provide PCIe support and should be well worth waiting for when it's time to put it to the test.
If this project has piqued your interest, then you can pickup a ready to go solution from Pimoroni. PicoVision is a dual RP2040 based retro game creation board which also uses an RP2040 as a GPU. There is even a MicroPython module to handle graphics and sprites.