Adafruit Demonstrates RP2040 DVI Output for CircuitPython
Simple video output from a microcontroller
It seems that the dream of a CircuitPython powered home computer is inching ever closer. Adafruit's recently released Feather RP2040 DVI simplifies the process of using the Raspberry Pi Pico's RP2040 SoC with DVI / HDMI output. In a video from Adafruit we can see live CircuitPython output running on an HDMI monitor using code that was originally developed for bare metal CircuitPython on the Raspberry Pi. This new board could become a hot contender to join our Best RP2040 Boards list.
turtle logo runs nicely on the Feather DVI with CircuitPythonwe rummaged through CircuitPython project-lead tannewt's github branches to find this build of CircuitPython with DVI output support. now you can treat any HDMI monitor as a display for CircuitPython - for example… pic.twitter.com/Ths9uqyLLcApril 19, 2023
In the video we can see Adafruit founder Limor "Ladyada" Fried demonstrating DVI output using CircuitPython. We can see that this is CircuitPython 8.1.0-beta and Fried demonstrates video output using a port of Python Turtle, itself a version of LOGO's turtle command. CircuitPython code is written on an external PC and when saved it triggers the code to execute. Fried's second demo shows Sierpiński triangle, a fractal composed of triangles, rendered in real-time.
So why is this important? For two reasons. Firstly to output graphics with the RP2040 we would normally need a lean programming language. In the past C/C++ and Arduino code provided the best results. In fact early demos of this board used the PicoDVI Arduino library to generate video output. With a CircuitPython alternative, we have an easier entry point for those who want to dip their toe into the project. CircuitPython abstracts much of the complexity via pre-written modules of code. Secondly, we now are a step closer to using CircuitPython without the need for a laptop or desktop computer. Once we have USB keyboard support, we could run the board "bare metal" with CircuitPython.
The idea of a "bare metal" version of CircuitPython for the Raspberry Pi was first mentioned by CircuitPython lead developer, Scott Shawcroft, during an episode of Tom's Hardware: The Pi Cast. The idea is to boot the Raspberry Pi directly into a Python Shell (REPL) where the user can directly work with Python and the GPIO in a manner similar to 1980s home computers. Shawcroft's Github branches contained a build of CircuitPython with support for DVI output.
Adafruit's $14.95 Feather RP2040 with DVI is currently out of stock. But, we can't wait to try it out for our self.
Stay On the Cutting Edge: Get the Tom's Hardware Newsletter
Get Tom's Hardware's best news and in-depth reviews, straight to your inbox.
Les Pounder is an associate editor at Tom's Hardware. He is a creative technologist and for seven years has created projects to educate and inspire minds both young and old. He has worked with the Raspberry Pi Foundation to write and deliver their teacher training program "Picademy".