Bitbanging DVI only possible on RP2040?

General discussions and questions abound development of code with MicroPython that is not hardware specific.
Target audience: MicroPython Users.
Post Reply
User avatar
Minyiky
Posts: 32
Joined: Sat Oct 24, 2020 5:53 pm

Bitbanging DVI only possible on RP2040?

Post by Minyiky » Wed Feb 10, 2021 7:49 am

Hi everyone,

I have recently seen this post ( https://github.com/Wren6991/picodvi ) about bitbanging a DVI signal using the new RP2040 chip and had some questions about it.

Firstly, is this something that would be possible on any device (I'm particularly interested in the esp32) or does it appear to linked directly to the PIO features on the RP2040?

Secondly, I am assuming that if it uses the PIO this code would have to be written outside of micropython, and if so is it possible to interface that with micropython (I assume yes), and would there be any speed implications of that.

As a final point I assume that the images are generated on the fly as for the size of display would not appear to support a buffer in the 256kb of ram available.

SpotlightKid
Posts: 463
Joined: Wed Apr 08, 2015 5:19 am

Re: Bitbanging DVI only possible on RP2040?

Post by SpotlightKid » Thu May 20, 2021 10:58 pm

Minyiky wrote:
Wed Feb 10, 2021 7:49 am
Firstly, is this something that would be possible on any device (I'm particularly interested in the esp32) or does it appear to linked directly to the PIO features on the RP2040?
No. Yes.
Secondly, I am assuming that if it uses the PIO this code would have to be written outside of micropython,
No, you can write PIO assembly code inline in MicroPython. The Pico Python SDK docs describe how to do that.
and would there be any speed implications of that.
Once the PIO assembly code is put into the PIO memory and a PIO StateMachine is enabled, there's no difference in whether you programmed it in Python or in C code. It runs at the same speed.

Post Reply