Showing results forΒ 
Search instead forΒ 
Did you mean:Β 

stm32f429 Disco direct to VGA Monitor

Associate II
Posted on October 09, 2013 at 15:35

Hello πŸ™‚

I just remove the LCD from one of my board and made a R2R Resistor DAC connected to the LCD dedicated pin.

The only pins you need are the 3 x 6bits colors , the vsync , hsync and GND.

After some changes in one of the examples source from ST i was able to get a picture

to my VGA Monitor πŸ˜‰

I just don't have the correct timing for view 640 x 480 picture , the monitor report me a 800 x 600 resolution with 31.4Khz Horizontal and 52.3Hz refresh time ... Hmmm

I probably don't understand correctly the data-sheet/app note about the timing.

Or i put wrong parameter for sync time + bach porch etc ...

For those who want try i attach the source to put in the

\Projects\Peripheral_Examples\ directory and the R2R Schematic i do for this test.

If someone get the correct timing setup for 640 x 480 resolution i will be happy to get it πŸ˜‰

It's allot more comfortable to play with a big monitor , just no touch screen here , next step is to use a USB KB + Mouse ... he he he


PS : i compiled this with Keil..

#stm32f429-disco-vga-monitor #32f429-disco-vga-monitor-image #vga-disco-take-it #instead-of-desoldering-the-lcd
Associate II
Posted on October 09, 2013 at 17:04

Little update.

I corrected some of my mistake , now i get picture perfect fitted into the screen.

made change in :

void LCD_Init(void)
/* Timing configuration */ 
/* Configure horizontal synchronization width */ 
LTDC_InitStruct.LTDC_HorizontalSync = 96;//96
/* Configure vertical synchronization height */
LTDC_InitStruct.LTDC_VerticalSync = 2;//2
/* Configure accumulated horizontal back porch */
LTDC_InitStruct.LTDC_AccumulatedHBP = 144; //HSync + HBP = 144
/* Configure accumulated vertical back porch */
LTDC_InitStruct.LTDC_AccumulatedVBP = 35; //VSync + VBP = 35
/* Configure accumulated active width */ 
LTDC_InitStruct.LTDC_AccumulatedActiveW = 784;//144 + 640 = 784
/* Configure accumulated active height */
LTDC_InitStruct.LTDC_AccumulatedActiveH = 515;//35 + 480 = 515
/* Configure total width */
LTDC_InitStruct.LTDC_TotalWidth = 800; 
/* Configure total height */
LTDC_InitStruct.LTDC_TotalHeigh = 525;

Now i have to found why i don't get uniform colors , in the picture attached you will see

that the 'Green' background is changing

Anyway , it's a good start πŸ™‚



Attachments :

32f429_capture.jpg :
Associate II
Posted on October 09, 2013 at 21:24

I finally found why the colors was not uniform.

we use 18bits / pixels but when we do the SDRAM test , every bits are write and for some reason when we write to Video memory after this we have a 'mix' πŸ˜‰ The easy way to prevent it is to erase the part of the SDRAM we use for the Video. For made simple i just erase all SDRAM after the SDRAM test , it's just a copy/paste from this code :

/* Erase SDRAM memory */
for (counter = 0x00; counter < IS42S16400J_SIZE; counter++)
*(__IO uint16_t*) (SDRAM_BANK_ADDR + 2*counter) = (uint16_t)0x00;

That's it πŸ™‚ Now the picture is perfect and i can look deeper in the new ST beast πŸ˜‰ Cheers.
Associate II
Posted on October 17, 2013 at 19:54

Hi πŸ™‚

I have made a very short video from the 640x480 test on stm429 Disco with VGA.

Here it is :


Posted on October 22, 2013 at 17:00


Nice video, thanks for posting this. Probably the uGFX project will be interested in this.



Associate II
Posted on October 22, 2013 at 18:51

Hi Giovanni ,

Well , my source are open , i attach it here and if they want it , they can take it πŸ˜‰

I added the 240 x 320 and the 320 x 240 resolution (select it in the 'stm32f429i_discovery_vga.h' file)

But , it's based on the 640 x 480 resolution (timing etc ...)

If someone know how to double the pixels size directly with the ltdc it will help me to get lower resolution bigger in screen πŸ™‚

Next step will be when i will receive my PCB and can add more SDRAM + SRAM to the stm429 disco πŸ˜‰

If it work it will be open sourced too ...




Attachments :

vga_demo_-_2013-10-19-2336.rar :
Associate II
Posted on October 25, 2014 at 16:12

Associate II
Posted on October 25, 2014 at 16:33