Library 18- ILI9341 with LTDC on STM32F429 Discovery

It’s been a while when I first got ILI9341 lcd working on discovery, but without LTDC driver. Yesterday I decided to make a new library. With LTDC, you can actually display movies, because it uses parallel communication and support 2 layers simultaneously what gives you a high refresh rate.

I used my old ILI9341 library and just add/modify some things to get LTDC to work.

LTDC also supports 2 layers, so this means that while one layer is displayed, other layer can be filled with data.

Note: This library only works on STM32F429 Discovery, it’s not for STM32F4 Discovery.

ILI9341 connected with STM32F429 for LTDC
ILI9341 DISCOVERY DESCRIPTION
B5 PA3 Blue 5
VSYNC PA4 VYSNC
G2 PA6 Green 2
R4 PA11 Red 4
R5 PA12 Red 5
R3 PB0 Red 3
R6 PB1 Red 6
B6 PB8 Blue 6
B7 PB9 Blue 7
G4 PB10 Green 4
G5 PB11 Green 5
HSYNC PC6 HSYNC
G6 PC7 Green 6
R2 PC10 Red 2
G7 PD3 Green 7
B2 PD6 Blue 2
E PF10 Enable
R7 PG6 Red 7
DOTCLK PG7 Dot clock
G3 PG10 Green 3
B3 PG11 Blue 3
B4 PG12 Blue 4
MOSI PF9 SPI5 MOSI pin
MISO PF8 SPI5 MISO pin
SCK PF7 SPI5 SCK pin
CS PC2 CS pin for SPI5
RESET Reset pin
WRX PD13 Data/Command selection

Library

Features

  • Supports LTDC peripheral on STM32F429 Discovery
  • Supports fonts
  • Uses SDRAM on STM32F429 Discovery board
  • Rotation to all 4 directions
  • 2 layers support
  • Supported layer opacity
  • High speed refresh rate
  • Graphic support
  • Support for LCD display on or off

Dependencies

  • STM32F4xx
    • STM32F4xx RCC
    • STM32F4xx DMA2D
    • STM32F4xx GPIO
    • STM32F4xx FMC
    • STM32F4xx LTDC
    • STM32F4xx SPI
  • TM
    • TM DMA2D
    • TM SPI
    • TM FONTS
    • TM SDRAM
    • TM GPIO
    • defines.h

Functions

There are some modifications to functions. Other functions are the same as if you use my ILI9341 using SPI. They are listed below:

For other functions look at my old ILI9341 library.

Example

View project on Github, download library below.

tilz0R

Owner of this site. Application engineer, currently employed by STMicroelectronics. Exploring latest technologies and owner of different libraries posted on Github.

You may also like...

Read before commenting!

Before you make a new comment, make sure you agree with things listed below:

  • - Read post to make sure if it is already posted what you are asking for,
  • - Make sure you have the latest version of libraries used in your project,
  • - Make a clean and grammatically correct written message,
  • - Report as many details as possible, including what have you done so far,
  • - Do NOT post any code here. Use Pastebin,
  • - Do NOT post any error codes here. Use Pastebin,
  • - Specify STM32Fxxx family and used Discovery/EVAL/Nucleo or custom made board,
  • - Make sure your clock is set correct for PLL,
  • - If you are using my HAL drivers, please check this post how to start.
Comment will be deleted on breaking these rules without notification!