![]() |
Forum Index : Microcontroller and PC projects : Pico-VGA
Author | Message | ||||
led-bloon![]() Senior Member ![]() Joined: 21/12/2014 Location: AustraliaPosts: 207 |
An interesting project for the Pico... Pico-VGA The Youtube video is cool! Uses 9 GPIO pins to generate RGB332 VGA (1 more pin than pico-DVI) led Miss you George |
||||
robert.rozee Guru ![]() Joined: 31/12/2012 Location: New ZealandPosts: 2437 |
extremely impressive! i'd like to see the pi pico drive an LVDS display, this is the interface used to communicate with LCD panels that you find in laptops. there is just enough RAM on the RP2040 to hold a complete 1080p screen at 1-bit per pixel (or more bits at proportionally lower resolutions). this would enable pairing a pico with an LCD panel from an old laptop to produce a large information display panel, for instance to use as a wall clock. cheers, rob :-) |
||||
Grogster![]() Admin Group ![]() Joined: 31/12/2012 Location: New ZealandPosts: 9593 |
Is that REALLY real? I am skeptical that they could produce that many demos on a relatively new module, with quite limited hardware when it comes to video processing. I mean, they don't even have any video-RAM, something I thought would have been mandatory(as in the CMM2) before you could draw VGA like this. And the PICO is rated at only about 150MHz or so standard, and there is NO hardware video controller inside the 2040 chip as far as I am aware. Is this real, or is it fake? Smoke makes things work. When the smoke gets out, it stops! |
||||
JohnS Guru ![]() Joined: 18/11/2011 Location: United KingdomPosts: 4038 |
Looks real but you could download it and run it :) It uses one of the CPUs for the video out and the other provides whatever is to be displayed. John |
||||
Mixtel90![]() Guru ![]() Joined: 05/10/2019 Location: United KingdomPosts: 7865 |
TBH I'm not sure I would put much past this little board now... lol The speed looks pretty quick, but it might be overclocked of course. The CPUs have DMA access, so a lot of stuff can be shifted pretty quickly. Edit: I'm just having a read at his web site. It looks genuine. The two cores run independently. the program core just writes to a frame buffer and the display core does the rest via DMA. The only thing is the frame buffer has to be in ram and you lose GP0-GP8. Looks interesting though. :) I can't see it being of much use to us though. The routines for interfacing to it would have to be in RAM, as well as the frame buffer, MMBasic and the user program so we'd probably lose too much. Edited 2021-06-11 19:54 by Mixtel90 Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
JohnS Guru ![]() Joined: 18/11/2011 Location: United KingdomPosts: 4038 |
What's needed for LVDS? E.g. could a micromite or cmm2 do it? (& why not, if no) John |
||||
Mixtel90![]() Guru ![]() Joined: 05/10/2019 Location: United KingdomPosts: 7865 |
According to https://www.ti.com/lit/pdf/snlu036 you need a lot of IO. 20 IO pins plus grounds. I think you can forget it - VGA is far easier and you can use a converter board to get LVDS from that. Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
robert.rozee Guru ![]() Joined: 31/12/2012 Location: New ZealandPosts: 2437 |
LVDS is the interface used to communicate with LCD panels. directly. no intermediate electronics (apart from level translation, balanced drivers) required. you talk to the panel at the native resolution. it is probably closer to VGA than to DVI/HDMI. the reason for wanting LVDS is that then you can pair a $4 pico with a $5 panel, to give the hobbyist a very cheap large display. lets say you use a 10.1" panel from a discarded netbook - that is 1024x600 pixels.you would have enough memory in the RP2040 to drive 3-bits per pixel, or 1-bit for each of R, G, and B, with about 30k free (230k required for the frame buffer). the CMM2, as designed and running mmbasic, is not intended to drive an LVDS display. and it would be a pointless exercise anyway, as the CMM2 costs around the us$100 mark. you might as well use a small laptop with the display folded around 180 degrees (people have done this for digital photo frames, etc). i wouldn't mind betting that just about every household has one or two surplus LDVS panels paying around in the form of discarded monitors, TVs, and/or laptops. as for converting from VGA (or DVI/HDMI) to LVDS, converter boards are not that cheap, and require specialist skills to adapt to each specific panel. a more cost-effective solution is to buy a cheap VGA monitor and hack away the housing. but that is messy. cheers, rob :-) |
||||
lew247![]() Guru ![]() Joined: 23/12/2015 Location: United KingdomPosts: 1702 |
Could you use one Pico to run the display and another one to run mm pushing the output to the 2nd one that has vga? |
||||
JohnS Guru ![]() Joined: 18/11/2011 Location: United KingdomPosts: 4038 |
Yes. Potentially you could do both on one pico but you'd need changes to mm, and the RAM for the display would leave picomite mm rather short, so it doesn't look attractive. Bearing in mind the RP2040 name it's plausible a future Pico will have more RAM... John Edited 2021-06-12 04:45 by JohnS |
||||
Grogster![]() Admin Group ![]() Joined: 31/12/2012 Location: New ZealandPosts: 9593 |
It uses one of the CPUs for the video out and the other provides whatever is to be displayed. John Thanks - I think I will perhaps do just that. If true, that really is VERY impressive. I would have expected you would need at least SOME fast external video RAM like the CMM2 has to generate its VGA. I was coming from the old saying: "If something seems too good to be true, then it probably is." Might have to look deeper into this now. ![]() Smoke makes things work. When the smoke gets out, it stops! |
||||
Mixtel90![]() Guru ![]() Joined: 05/10/2019 Location: United KingdomPosts: 7865 |
If you read the info, there's a comment that using that RGB system you can get a hi-res screen into 240k (IIRC - I know it was over 200k). That doesn't leave much RAM on a Pico. Enough for a C prog to load some demo files. Because the RAM is paged on the Pico there's also an interesting bit about having to allocate it in strips. :) Also, some of the resolutions don't seem to be available without some pretty high overclock rates. You may have to select a Pico on test. It's a very creditable effort, but might be much better on a later version of the chip with more RAM. Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
led-bloon![]() Senior Member ![]() Joined: 21/12/2014 Location: AustraliaPosts: 207 |
FYI - Pico running VGA Quick and dirty VGA A few notes though: I downloaded the software from the git repository, and installed on my 32 bit Windows XP PC. (Had to brush off all of the cobwebs first - I'm a Raspberry Pi two-fingered typer now!!) Downloaded and installed the gcc cross compiler (32 bit), but, was unable to compile any (all) of the example code! I suspect I would need a 64 bit Windows 10 PC and a 64 bit installation. However, along with all of the demo source code, he included compiled uf2 files. The example in the photo (link attached) is of the "balloons" demo and very impressive. There are 30 individual demo programs of which "balloons" is one. The "earth" demo is cool too. He obviously used the earlier TinyUSB library as my script for loading uf2 files hung, and I had to resort to using the reset button plus the on-board "boot sel" button to load the uf2 files. The "pacman" demo uses the USB port for keyboard control. I am still playing with other demos. So, 9 signal resisters/gpio pins plus a ground pin, and VGA in quite reasonable colour. Next step is to borrow my daughters Win10 machine to try and re-compile stuff. led Miss you George |
||||
![]() |
![]() |
The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |