Description
Wouldn't it be cool if you could display images and graphics from a microcontroller directly to an HDMI monitor or television? The Adafruit Feather RP2040 with DVI Output Port makes this possible by providing a digital video output (DVI) that works with any HDMI monitor or display. Note that it does not support audio, only video graphics.
This Feather board combines the power of the RP2040 microcontroller with a DVI breakout, offering all Feather pins for use, Lipoly battery support, USB-C power/data, an onboard NeoPixel, and 8MB of flash suitable for storing code and files. With 8 additional pins, the board provides a DVI output that can be utilized with CircuitPython or with Arduino's PicoDVI library and Pico SDK.
In Arduino, the PicoDVI library creates an internal framebuffer of either 320x240 or 400x240 16-bit pixels which is then output as doubled pixels at 640x480 or 800x480 resolution, showing crisp color graphics instantly on a digital display. The library is a subclass of AdafruitGFX, familiar to users of other Adafruit displays.
CircuitPython supports DVI output as of version 8.1.0b2; however, it uses a significant amount of memory which may affect the usage of other libraries or hardware accessories.
The DVI video generation utilizes one full core, both PIOs, and a significant amount of SRAM (150K for 320x240 or 190K for 400x240), so be mindful of resource limitations.
The board's HDMI connector's I2C pins are connected to the Feather's SDA/SCL through a safe level shifter, allowing reading of the display's EDID EEPROM. It also breaks out CEC and Utility pads, and includes a Hot Plug Detect pin at the end of the 16-pin header to detect when a display is connected.