Example of project final output:
- Power the Feather RP2040 DVI via PC USB so you can edit code.py
- Plug HDMI cable into Feather DVI output
- Plug other end of HDMI cable into HDMI capture dongle
- Plug HDMI capture dongle into PC USB port (acts as a video input source for OBS)
- Install & lauch OBS studio
- OBS Layers sources from top to bottom (top source being the top most layer). You can re-order your sources (layers) with drag & drop.
- Add HDMI capture source (appears as "USB Video" device)
I have an HDMI splitter so it also outputs to a 3rd 1080p monitor but that is unnecessary just to capture the source from the HDMI dongle.

-
Using crop/pad it's now cleanly cropped and displaying only the area we want to share
-
Add Source > Window Capture (adafruitIO Dashboard browser window)
-
Right-click on Source > Blending Mode > Subtract
-
This will blend the AdafruitIO dashboard onto the animated radar background
-
Blending will change the colors of elements as they'll be blended with the background colors. I've created some additive/subtractive font colors in code.py that might help with blended font colors.
-
Also add Blending Mode > Subtract to your HDMI capture (Feather DVI) source
This is just a demonstration of using the Feather DVI + HDMI Capture + OBS. You can use this method to create practically any combination of data sources you want. It takes time to manually place elements and text labels using X/Y coordinates. DVI/HDMI extends the possibilities of what Circuit Python is capable of heading into the future.
- Please keep in mind the output of the Feather RP2040 DVI is 320x240 then upscaled to 1080p. The upscale is about 4x to 5x the normal output. Fonts will look a little blocky when upscaled.
- The Feather RP2040 DVI doesn't have much RAM left over once it's done processing DVI. It does not work with an Airlift for online capability yet there is simply not enough RAM left over.
- This entire project was a clever work around for the Feather RP2040 DVI not having internet capability.

