Abhishek recently posted an overview of Raspberry Pi RP2040’s two PIO blocks with examples in C and Micropython using some PIO assembler code. He used some basic examples like blinking an LED, but the Raspberry Pi Foundation also mentioned the programmable IO could be used to drive a VGA display, read and write data from a MicroSD card at reasonable speeds, and so on.
However, the Raspberry Pi Pico does not have any of those interfaces, and it would be nice to have a board that does. It turns out there’s such a board in “Chapter 3. The VGA, SD Card & Audio Demo board for Raspberry Pi Pico” of “Hardware Design with RP2040.pdf” document. It will be sold as the “Pimoroni Pico VGA Demo Base” board for 19.50 GBP inc. VAT (about $22 US ex. VAT), but since the KiCad hardware files are open-source, I’d assume other companies may also sell the board (not sure about the license though).
VGA, SD Card & Audio Demo board for Raspberry Pi Pico (RPI-PVSA) hardware specifications:
- Support MCU board – Raspberry Pi Pico board
- Storage – MicroSD card slot
- Video Output – 16-bit RGB565 VGA output up to 640×360
- Audio – 3.5mm audio jacks for
- USB – 1x Micro USB port in device or host mode (selected by jumper)
- Misc – A, B, and C user buttons, 8-pin UART, SWD and SD card mode selection header
- Power Supply – 5V via Micro USB port or Vbus pin, or 1.8 to 5V via Vsys pin
As mentioned in the introduction, the VGA, SD card and audio demo board is open-source hardware, and you’ll find KiCad hardware design files here. Some of the design choices are interesting as for example, the board is not using a video DAC for VGA output, but instead, several resistors with different values for R, G, and B, that also happens to be shared with the user buttons due to the limited number of I/Os. This is all explained in the hardware design document.
The software appears to still be a work in progress, which may explain why the board is not available yet, with example provides in “pico-playground” Github repository. There are several C examples for VGA output, audio, miro SD card, USB server, but the program that stands out is “Popcorn”. It is a movie player capable of playing 320×240 30fps videos with 44,100Hz stereo audio read in a custom format from the MicroSD card with both PIO blocks used for respectively VGA output and the MicroSD card.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
Why? What for? Why should anyone play video on controller
To emulate game consoles, such as NES?
In order to play Doom ^^
To make a game console, like NES.
I am using ESP32 and Picos as an encrypted security/monitoring sensor network (eventually for the house) and would like a simple display method that I can check on the home TV (it has a spare RGB port) and I don’t need open wifi access to monitor the situation.
You are wasting your time if you hook this chip up to anything other than an SPI LCD. I actually think you are wasting your time in all cases because the ESP32 is simply a much better chip and its cheaper too. Plus you can buy ESP32 chips and you can’t buy any of the Rasp Pi chips.
This chip has one thing going for it – pio. However, I suspect it’s a bit too involved for many hobbyists, so I’m pretty sure it won’t be used to it’s full potential…
This is not the first chip to have this feature. There are Atmel chips that have tiny CPLDs on the PIO pins.
As far as I can tell, Micro Center has sold the Pico for $2 since launch, and will let you buy up to 5 of them at that price. Some of the stores have it in stock, some don’t.
You can buy the boards, you can buy the chips to make your own boards.
I meant CAN’T buy the chips.
I’ve seen people on Twitter getting RP2040 chips.
It is Amazing how history repeats.
The ZX81 and ZX Spectrum both output to a TV and in the case of ZX Spectrum in colour using a software interrupt ( if I recall right ). Later models did it in hardware. Audio was softwàre based too on the original ZX Spectrum.
Some folk would try to re-invent air for pointless brownie point.