Home
JAQForum Ver 20.06
Log In or Join  
Active Topics
Local Time 01:26 16 Jun 2021 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : Pico-VGA

Author Message
led-bloon
Regular Member

Joined: 21/12/2014
Location: Australia
Posts: 73
Posted: 03:20am 11 Jun 2021
Copy link to clipboard 
Print this post

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
 
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 1722
Posted: 06:24am 11 Jun 2021
Copy link to clipboard 
Print this post

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

Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 7534
Posted: 08:44am 11 Jun 2021
Copy link to clipboard 
Print this post

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 Kingdom
Posts: 2413
Posted: 08:55am 11 Jun 2021
Copy link to clipboard 
Print this post

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 Kingdom
Posts: 331
Posted: 09:05am 11 Jun 2021
Copy link to clipboard 
Print this post

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
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 2413
Posted: 11:40am 11 Jun 2021
Copy link to clipboard 
Print this post

  robert.rozee said  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

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 Kingdom
Posts: 331
Posted: 12:07pm 11 Jun 2021
Copy link to clipboard 
Print this post

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
 
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 1722
Posted: 12:48pm 11 Jun 2021
Copy link to clipboard 
Print this post

  JohnS said  
  robert.rozee said  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

What's needed for LVDS?

E.g. could a micromite or cmm2 do it? (& why not, if no)

John


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 Kingdom
Posts: 1442
Posted: 04:32pm 11 Jun 2021
Copy link to clipboard 
Print this post

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 Kingdom
Posts: 2413
Posted: 06:44pm 11 Jun 2021
Copy link to clipboard 
Print this post

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

Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 7534
Posted: 05:52am 12 Jun 2021
Copy link to clipboard 
Print this post

  JohnS said  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


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 Kingdom
Posts: 331
Posted: 07:38am 12 Jun 2021
Copy link to clipboard 
Print this post

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
 
led-bloon
Regular Member

Joined: 21/12/2014
Location: Australia
Posts: 73
Posted: 04:24am 13 Jun 2021
Copy link to clipboard 
Print this post

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
 
Print this page


To reply to this topic, you need to log in.

© JAQ Software 2021