What does HackerNews think of PicoDVI?

Bitbanged DVI on the RP2040 Microcontroller

Language: C

A TMDS symbol is 10 bits long so a pixel clock of 25Mhz needs a DVI bitrate of 250Mhz. You can generate DVI with an overclocked RP2040[1], but even then you have to halve the horizontal resolution because the general TMDS encoding algorithm is expensive to perform in software. You could, however, replace the VGA resistor DAC with a dedicated DVI encoder IC like the TFP401.

[1] https://github.com/Wren6991/PicoDVI

Apparently, there is a digital video output project for the RP2040 already out there [0]! As for why digital video is more rare, it is because the common digital video formats are higher bandwidth and require higher signal integrity.

[0] https://github.com/Wren6991/PicoDVI

> Is a micro-controller able to broadcast through an ethernet port something remarkable?

Many microcontrollers, especially higher-end ones, have built-in dedicated hardware, called peripherals[1], to handle complex and/or high-speed interfaces like Ethernet.

The Pico does not have an Ethernet peripheral, so this project relies on bit-banging[2], a brute-force approach to IO. However, the Pico does have the PIO[3], which is a general-purpose IO peripheral, so it's not pure bit-banging in the traditional sense.

While it's cute, it's not super remarkable. People have done bit-banged HDMI[4] on the Pico for example. However, Ethernet access can be very useful in a Pico project.

[1]: https://electronicguidebook.com/what-are-microcontroller-per...

[2]: https://en.wikipedia.org/wiki/Bit_banging

[3]: https://hackspace.raspberrypi.com/articles/what-is-programma...

[4]: https://github.com/Wren6991/PicoDVI

FWIW, it's possible to bit-bang DVI at 640x480 on the 2040. Takes about half of the available resources:

https://github.com/Wren6991/PicoDVI