Saturday, April 24, 2010

Mini-STM32 Digital Picture Frame

The original source code for this project is copied from Martin Thomas' Simple STM32 Digital Picture Frame
The application reads picture-files in standard Windows BMP-format from a SD-Card and shows them on a 2.8" color-LCD-module (320*240 px).
The application also uses the FAT File System Module by Chan, on which M. Thomas ported to work on STM32 SPI interface. Additional information about this project can be found on the link above.

Some of the minor modifications I made were:
  • I've modified the LCD driver so that it will work on my unit. My unit got the ILI9320 LCD controller.
  • I didn't utilize the USART interface (but this can be easily enabled in the code). In stead of sending the "information" through this interface , some of them are being displayed on the LCD itself (e.g. bitmap filenames).
  • I've enabled the two push-buttons on the board. The first one toggles between "Play" and "Pause"; and the other one is to "Restart" the "slide-show" from the beginning.

demo video:

Modified Source Code (Keil RVMDK + uVision 4): Digital Picture Frame.rar


  1. Hello! Great Work!
    Is it possible for you to save the project as uVision3 and post it here?

    Thank's in advance!

  2. Hello!
    Congratulations! Excellent work!

    I've tested your code on my miniStm32... works like a charm :)..
    I'm still trying to understand the code, but the fatfs is still breaking my nerves :s

    I'm using your code as a first approach to SD card interfacing. I need to be able to write raw ADC data to a .txt file. If you have any code sample doing something like that, would be nice if you could send it to me to: ricardo.mgat@@@gmaildotcom
    ps:. hope you catch my email

    keep up with the good work!

  3. @ 'Anonymous',
    here's the exported project to uVision3 format:

    I don't have a complete sample for that yet, but you can start with Petit FAT-FS (also by ChaN),
    since it is simpler and easier to understand than the full-feature FAT file system.

  4. @yus
    thank you for the help on this!

    I've been able to write to the sd card now, I've used your code and ChaN's: f_open(); f_printf(); f_close();

    Now just need to learn how to use the ADC feature, and most important, find two free analog inputs on the miniSTM32.

    Once again, thank you for your help and keep up with the good job..

    Best regards,

  5. link to uVision3 version is not working.

  6. I have the stm3210c-eval board, how can I change this code to in it, that I can see a slideshow too? Have you an program or can you tell me how it works?

    Best regards,

  7. great work !
    thanks for sharing :-)

    for those who build custom boards :
    in the soft RAR package the comments in LCD file says
    hardware connections PE0~15 <----> DB0~15
    but in the soft code it's not PortE , but PortB and PortC
    (like in Martin Thomas source)
    maybe it's only comment mismatch , i guess the code itself works ! :-)

  8. Hi ,

    The link for uVision3 is not working...
    could you please post new link??


  9. re-upload:

  10. This comment has been removed by the author.

  11. As the design of this one is truly looking just elegant. And the LCD screen of this one is really looking rocking and impressive. The classy look and the incredible feature of this digital picture frame really makes me crazy about it. Thanks for sharing.

  12. Thanks for a great project.
    I purchased the exact board MiniSTM32 V2.0 and flashed it successfully with a Ulink 2. I get the first screen displayed flashing but there is no slideshow.LED D3 flashes. If I press switch S1 the LED D2 comes ON while D3 continues to flash. If I press switch S2 then I get "Slideshow restarted by user" displayed on the LCD. But the pictures never get displayed. I have tried with a 1 GB microSD as well as a 32Mb MMC card.
    Any ideas on what I am doing wrong ?

  13. Choose brochure holders that are not only great displays but more significantly, useful tools for promoting your products and services.Brochure holders

  14. Hi,
    Thanks for nice program but it doesn’t work on my Mini-STM-32-V3.0. I have import your source in uVision4 and compiled it with no errors, but nothing on the screen... I'm using Mini-STM32-V3.0 with boot loader and using STM-Flash loader. LCD is ili9320.
    Any hints what could be wrong?

  15. Hi all,
    Found! First I had to change some pin settings and the TFT driver software for my Mini STM32 and after that I found that the pictures should be stored in a folder called \pics Now the slideshow is working, but the keys don't. It has something to do with interrupts.. So nearly finished.

  16. In your code you are going for port access since your TFT pins are organized for STM32 like -
    But I have a doubt, in my case it is not so. The connections are :-
    PD14 DB0
    PD15 DB1
    PD0 DB2
    PD1 DB3
    PE7 DB4
    PE8 DB5
    PE9 DB6
    PE10 DB7
    PE11 DB8
    PE12 DB9
    PE13 DB10
    PE14 DB11
    PE15 DB12
    PD8 DB13
    PD9 DB14
    PD10 DB15
    How to code in this case ? Waiting 4 reply..

  17. Does anyone keep the schematic of Mini STM32 V2.0? I still have it working with me, but I lost the schematic. Thanks.