This is our first advanced project using a powerful 32bit MCU and all sort of modern technologies like Colour QVGA display, Micro SD Card and Embedded file system. We have made several project using 8 bit PICs and AVRs but those were simple and didn’t use modern displays. In today’s world every one owns several gadgets like cell-phone, tablets, media players, hand held gaming device, digital cameras that uses TFT LCDs and uSD storage. So I thought current DIYers should be dreaming of using them in their own design too. This created the need for a DIY project that should help experimenters use such technologies. So I designed a simple ARM project called the "STM32 Digital Photo Frame".

Project Description

You need to place some BMP format images in the folder "slideshow" in the root of MicroSD card. After that install this MicroSD card in the card slot. Then power up the board using a USB Port. The images will be shown on the QVGA TFT Screen one by one. Their will be an approximate delay of 2 seconds between display of each image. Once all the images have been displayed, the sequence will restart from the first image. The slideshow will continue until the power is removed.

Note: In the current version, the BMP file must be 24 bits per pixel and exactly 320×240 pixels in dimension.

Firmware Description

The main application requires services from the following lower level modules.

The firmware is written in C language and compiled using the ARM Compiler toolchain, previously known as ARM RealView Compilation tools. The IDE and Debugger is Keil uVision 4.20.03.(The whole package is known as MDK-ARM). A 32KB evaluation version can be downloaded from the Keil’s website.

Firmware Package Structure

The firmware package contains the following folders.

  • CMSIS – Common in all ARM Cortex Projects.
  • StdPeriphLib – Peripheral Library for STM32.
  • user – The actual application code including the LCD drivers, FatFs, SD Card SDIO Drivers.
  • uVision – Contains the "PhotoFrame.uvproj" which is the Project File that can be loaded in uVision. This folder also contains a sub folder "output" which contains the intermediate files and the final application file called "PhotoFrame.axf"

Hardware Description.

The hardware requires fine professional manufacturing process thus cannot be easily fabricated at home. But their are several low cost STM32 development boards which can be used to implement the project. One of them is the MINI STM32 board which has the STM32F103VE MCU with a 2.4 inch QVGA display. The board has a standard 20 PIN ARM JTAG for debugging and programming. Those who are interested in purchasing MINI STM32 can contact me.

STM32 Project - Digital Photoframe

STM32 Based Digital Photoframe Example using MINI STM32



Before purchase please agree with the following points.

  • You own a MINI STM32 board with 2.4 inch TFT LCD.
  • You own a JTAG debugger like a ULINK or JLINK.
  • You own a 2GB micro SD card.
  • You have read the above description thoroughly.
  • Maximum liability is refund of amount that was paid for purchase.
  • Any dispute must be reported within 7 days of purchase. In case of any dispute only US$4.99 will be refunded.
  • All payment processed securely using Paypal.


Avinash Gupta is solely focused on free and high quality tutorial to make learning embedded system fun !

More Posts - Website

Follow Me:
FacebookLinkedInGoogle Plus