Showing results for 
Search instead for 
Did you mean: 

External vs internal memory for images to store

Associate III


for the application I need to develop, I need to store onboard the PCB many images and other large data. The images especially, need to update the screen background image dynamically at runtime.

Because in one configuration of the system the images can be hundreds, the onboard memory cannot be used. So I was looking at the different external memories available.

At this stage only static images and no videos. But, because in the future videos might also be required, then IF (and only if) it does not impact/constraint in a major way the hardware I am currently developing, then I might consider implementing at this stage a solution that supports also video.

Could someone please help clarifying the following (or provide any tips) bearing in mind that fast development time using the available libraries is currently the preferred option because of time constraints the customer has (and me still getting familiar with the ST dev environment/tools):

1) what type of memory is best used for this application that has the libraries already available?

2) What interface is best used? I assume QSPI if video is played but if only static images loaded every few seconds then perhaps another interface might be ok?

3) are there software libraries (and ideally also schematics) designed to automatically take images from an extrenal memory and dump them on the screen as the background image (or icons)?

Thank you as always


Hello @Ricko 

Your question is a bit broad to answer specifically, but a fast and easy setup would be to have QSPI memory-mapped flash, so TouchGFX can easily access it. 
There are different STM32 boards with varied amounts of external flash for storing your data, but if they are insufficient, then you should use something like a SD card or USB. Then, you need a bit more coding to handle reading data from SD card, for instance. You can access documentation about this topic here

Eventually, you can speed up your development tremendously by using one of the STM32 boards that are available in TouchGFX since they are already configured to work with the basic functionalities. 

TouchGFX Board SetupsTouchGFX Board Setups

I hope this answers your question to some degree. Don't hesitate to ask more questions

Mohammad MORADI
ST Software Developer | TouchGFX