Skip to content

iliasam/STM32_DisplayLink

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

STM32_DisplayLink

Connecting USB-VGA adapter to STM32

This is an example of how to connect a VGA display to an STM32 using a cheap DisplayLink adapter. DisplayLink is a kind of USB video card with internal framebuffer RAM, so you can connect such an adapter to the USB HOST of your MCU and get a big display for your STM32.

See video: https://www.youtube.com/watch?v=bcdXBnMFIVg

Alt text

Only the USB 2.0 version of adapters is supported in code.
Of course, your STM32 will need to have USB HOST hardware. STM32 MCUs have only Full-Speed internal USB, so data transfer rate is limited to ~1 Mbyte/s.
For updating a VGA screen with 640x480 resolution, you will need to send ~0.6 MByte of data, which means that FPS will be very low.

DiplayLink adapter supports RLE data coding, which can be helpful to increase FPS.

All code is written for STM32F4-Discovery (MB997B), HAL is used here. Notice that newer PCB revisions have other accelerometer model.

Only one resolution is supported: 640x480, if you need another you need to change (XRES, YRES) defines and take another configuration array data from here: https://github.com/floe/tubecable/blob/master/doc/dldemo.c instead of "dl_register_init_640x480".

There are two projects in this repo: BasicTestSrc and LVGL_Src.
One is simple drawing static image and another is displaying GUI using LVGL.
See more information about those projects in their Readme files.

You can set USBH_DEBUG_LEVEL define in "usbh_conf.h" to 3U value to get USB debug information (using Semihosting in IDE).

Tested only with 0x17E9 & 0x024B device.

About

Connecting USB-VGA adapter to STM32

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages