Olimex Support Forum

News => New Product Ideas => Topic started by: Christo Radev on October 03, 2023, 09:49:46 PM

Title: RP2040-PICO-PC HDMI examples
Post by: Christo Radev on October 03, 2023, 09:49:46 PM
Hi to All,

I have just received and started testing HDMI output of RP2040-PICO-PC & Pi Pico. As examples I have downloaded Adafruit PicoDVI (https://github.com/adafruit/PicoDVI) and try to run some of the examples. For adapting Olimex' RP2040-PICO-PC I have added in software/include/common_dvi_pin_configs.h file following definition:

static const struct dvi_serialiser_cfg olimex_picopc_cfg = {
  .pio = DVI_DEFAULT_PIO_INST,
  .sm_tmds = {0, 1, 2},
  .pins_tmds = {14, 18, 16},
  .pins_clk = 12,
  .invert_diffpairs = true,
};

and change:
#define DVI_DEFAULT_SERIAL_CONFIG olimex_picopc_cfg

I have also change in example's ino file:
DVIGFX1 display(DVI_RES_640x480p60, true, olimex_picopc_cfg);

In Arduino Tools I have selected "Raspberry Pi Pico" board and in Optimize configuration options try with both -Os and -O3 as recommend. I have also tested with earlier Arduino cores (down to 1.12.0).

I have tested examples with both WINSTAR DISPLAY 800x480 WF50BTIFGDHT0 and Dell P2415Q 24" monitor (both working fine with Olimex' LIME2-SERVER).

Unfortunately, no one of my attempt was successful. At all of them the screen is dark like no power at all or monitor says "No Signal".

One of the things I cannot succeed to do is to find where to change I2C and CEC pins which are different with Adafruit Feather and the boards of the original project creator. Even I am not sure if it should be done.

Any ideas where is the problem?

Best regards
Christo Radev
Title: Re: RP2040-PICO-PC HDMI examples
Post by: LubOlimex on October 04, 2023, 08:28:33 AM
But did you try our DVI examples (or maybe use them as basis):

https://github.com/OLIMEX/RP2040-PICO-PC/tree/main/SOFTWARE
Title: Re: RP2040-PICO-PC HDMI examples
Post by: Christo Radev on October 04, 2023, 10:19:32 PM
Thanks Lubomir,

I will try in a few days when come back home.
Title: Re: RP2040-PICO-PC HDMI examples
Post by: Christo Radev on October 09, 2023, 09:46:19 AM
Hi  Lubomir,

Quote from: LubOlimex on October 04, 2023, 08:28:33 AMBut did you try our DVI examples (or maybe use them as basis):

https://github.com/OLIMEX/RP2040-PICO-PC/tree/main/SOFTWARE

I have try prebuilt example DVI.uf2 with both HDMI monitors described in my first post and 2 RP2040-PICO-PC I have and the result is the same. Unfortunately, I have no PicoSDK environment to compile and test other examples but I think that the prebuilt example DVI.uf2 should work.

So, where could be the problem?

Edit: Find the problem - SJ1 jumper should be shorted so WINSTAR DISPLAY become powered and Dell P2415Q 24" monitor - enabled. Your prebuilt example DVI.uf2 runs fine on Dell P2415Q 24" monitor but not on WINSTAR DISPLAY. Adafruits examples run fine on both WINSTAR DISPLAY 800x480 WF50BTIFGDHT0 and Dell P2415Q 24" monitor but resolution for WINSTAR DISPLAY should be setup explicitly.

Best regards
Christo

Title: Re: RP2040-PICO-PC HDMI examples
Post by: LubOlimex on October 09, 2023, 04:01:43 PM
Ummm, we took one from the shop and tested with the same prebuilt demo from GitHub (https://github.com/OLIMEX/RP2040-PICO-PC/blob/main/SOFTWARE/Prebuilt-UF2/DVI.uf2) and it seems to work fine here.

Tested with five different HDMI monitors (different brands and cables).

I have no idea what can be the problem, probably something silly (like wrongly download and copied uf file, or PICO connected in reverse, or faulty HDMI cable, or wrong video port selected in the monitor, or insufficient powering due to poor battery or USB cable or port, etc). I made some pictures of our hardware setup and what I see on one of the displays to compare. Play with the settings of your HDMI monitor.

Here are some picture of setup that worked:

https://imgur.com/a/n0bEgyZ
Title: Re: RP2040-PICO-PC HDMI examples
Post by: Christo Radev on October 10, 2023, 10:23:32 AM
Hi  Lubomir,

Sorry for adding my last notes in previous one as edit paragraph.

I found the problem - SJ1 jumper should be shorted so WINSTAR DISPLAY become powered and Dell P2415Q 24" monitor - enabled (unexpectedly). Your prebuilt example DVI.uf2 runs fine on Dell P2415Q 24" monitor but not on WINSTAR DISPLAY. Adafruits examples run fine on both WINSTAR DISPLAY 800x480 WF50BTIFGDHT0 and Dell P2415Q 24" monitor but resolution for WINSTAR DISPLAY should be setup explicitly.

The reason your example to not work as-is on WINSTAR DISPLAY is that it cannot adapt itself to unsupported resolutions in contrast to desktop monitors. That's why your experiments are all successful.

Best regards
Christo
Title: Re: RP2040-PICO-PC HDMI examples
Post by: Christo Radev on October 10, 2023, 10:41:06 AM
PS: Another problem I run on is USB voltage and consumption. When WINSTAR DISPLAY is powered from the board consumption is very close to 0.5A and voltage can drop below 4.5V depending on USB source and cable. Unfortunately, the output signal is very sensitive to power and may not be acceptable for some monitors. Application may not run as expected as well.
Title: Re: RP2040-PICO-PC HDMI examples
Post by: LubOlimex on October 10, 2023, 11:28:25 AM
This is a problem. Yes, most USB ports provide up to 500mA. It can be even less depending on the quality and length of cable. 4.5V is not good. Powering the display from the board either.

Consider using externally powered USB.

Consider powering display from another source.

Consider using better and shorter USB cables.
Title: Re: RP2040-PICO-PC HDMI examples
Post by: Christo Radev on October 10, 2023, 01:22:14 PM
Thanks Lubomir,

All your notes are taken into consideration and useful.