cancel
Showing results for 
Search instead for 
Did you mean: 

How can I use the LTDC on a Nucleo and wire it to my Elegoo TFT display shield (which is ILI9341, but only has 8 data pins)?

NNagy.1
Senior

Sorry if this is a dumb question. I have a Nucleo F767ZI, and I want to wire it to this: http://www.lcdwiki.com/2.8inch_Arduino_Display.

There's a tutorial here on how to set up LTDC with an ILI9341 here: http://www.lucadavidian.com/2017/10/02/stm32-using-the-ltdc-display-controller/. But it kind of glosses over the wiring of the board pins to the display. It looks like the blogger used a Discovery board.

Am I just out of luck with my particular shield that (for some reason) there's only 8 total LCD data pins, rather than 8 for each color? Would I need to send R, G and B data along the same buffer with this shield?

1 REPLY 1

With only 8 data lines available from ILI9341, you either can use the 8-bit 8080 interface, in which case you won't use LTDC in the mcu but will use the buffer inside the ILI9341 controller, in which case you connect the module as a memory to FMC. This is how this module was intended to be used - read the available manuals aimed at the Arduinos.

Or you can use the 6-bit RGB interface of ILI9341, in this mode the R/G/B pixels are output one after the other in 3 cycles, rather than at once; but LTDC does not natively support this mode. It can of course be emulated by setting the LTDC to 3x the real LCD's width and using only 6 bits (any) out of the LTDC output.

Alternatively, you can use the SPI interface. This does not involve the LTDC at all. You'd need to connect SPI for the RGB-6 mode anyway.

Read the ILI9341 datasheet.

JW