ILI9341 natively useable?


for a new product i want to use the G400 module but a special display, which i have to order from a custom manufactory.
They told that they are using the ILI9341 as the TFT’s driver controller.
Is it possible to use this TFT with the G400 module, because it is connected via SPI and not EBI and just configure it with the FEZ tool so that the drawing functions, which are used in SPOT.Presentation, are working fine too ?



ok thanks :confused:
But if i understood right, i can theoretically connect every display with a native LCD interface, so a driver which is implemented already?

there’s a managed code library for the ILI9341, search for ILI9341 here and you’ll find hits.

First of all thank you!

Could you please tell me if the screen i attached in the datasheet is connectable via SPI or EBI?
And it would be nice if someone knows which display IC GHI is using in the TFTs, which they are using, because i guess if the FEZ configurator can set different parameters for EBI connectable ICs, every ILIxxxx IC will work with the G400 module.

i think that NETMF is calling native code from the Atmel SAM framework, which supports EBI connectable LCD interface, isn’t it?

You will get much faster graphics through put using the built in LCD interface on the G400 and you won’t need any special drivers for this, you just need to configure the display settings with simple calls and your display will work with the built in BITMAP functions etc.

1 Like

That’s great and actually what i meant…
(I’m not good at explaining things precisely)

So instead of connecting the original 4.3" screen of GHI i can theoretically connect my screen with the samer interface, apply its settings to the module and it will run fine ?

So if i connect my ILI9341 tft to the native LCD port i can use this without any problems ??

I thought every LCD/TFT has an IC, which makes it possible to communicate with the LCD.
My idea of a LCD is that the driver IC has those pins for RGB[0:15], HSYNC, VSYNC, DataBus etc., because in each LCD datasheet it is shown that LCDs have apporx. 1000 pins, which are connected to the IC.

If i am totally wrong, it would be nice if someone could explain this mystery to me…

Yes, they have a controller but it’s for generating the timing and voltages for the LCD array and it’s not smart or has any memory. It requires constant update to keep the display visible.

Your ILI9341 is an SPI based interface that has smarts and memory and this in turn generates the RGB signals for the display or in this case, direct drive of the LCD itself. LCD’s with these type of smart controllers are often either SERIAL or Parallel interfaced. They don’t require you to constantly write to the controller, only when you need to update the display data.

RGB or LVDS types take a data stream from an LCD controller built into the micro and this has to constantly refresh the display. This is why you have HSYNC, VSYNC and CLOCK etc. The memory for this is part of the microcontroller system. Think of this type of display like your VGA monitor connected to your PC.

You can use the SPI types with any GHI module but you need a display driver for this. For the smaller memory devices these are often ideal. For the likes of the G120 or G400 based modules, you can connect a TFT with RGB interface directly to it and use the built in firmware for this. These are the best but take caution on using long cables with the higher resolution displays with fast DOT CLOCKS. :slight_smile:

Thank you!
I think i understood now…
So the LCD from my attached link will not work because it’s controlled via SPI ?
The technicans from the company i’m negotiating right now, told me that the screen has a parallel interface and would work fine…
That’s why i am confused…

That link asks for a decrypt key.

Can you post it somewhere else?

OK. the ILI9341 does indeed have an RGB interface that is 18 bit so this will work with the G400 and G120.

Sorry, I only saw the Adafruit link for the SPI driver and I could not download your link but I found another LCD with the same driver.

Oh sorry,

i thought the link includes the key… seems to be buggy a bit…

Thank you very much!!
I guess i can order the TFT without having a guilty conscience :smiley:

Only thing to watch out for is that the GHI LCD is configured for RGB565 so make sure the LCD is the same. It should be as it’s only 18 bit which will mean the lower bit on R and B will be tied to GND and only the upper bits will be used.

So do you know where i can find something like a generic schematic for connecting a rgb interface of an lcd to the interface of an SAM or maybe a STM controller?

There won’t be anything generic as it depend on the LCD and what it needs.

Which LCD are you looking at? The same one you mentioned above?

You just connect the RGB lines on the processor to the RGB lines on the LCD along with HSYNC, VSYNC and DE and CLK. You need to pay attention to the number of bits you will use. Some panels are 18 bit and some are 24. Your processor may be 16, 18 or 24 so you need to look at this and wire accordingly. No difficult, you just need to know how this works. :slight_smile:

You will also need a suitable driver for the LED backlight. Most designs use a step up from either 3.3V or 5.0V

Some LCD’s are simple 3.3V power and have all the other supplies built in but many require a number of odd voltages. The datasheet for the LCD will tell you this.

Ok That’s how i understood too, but i don’t want to mess up with the RGB connection of those pins, which are not provided because of the G400’s 565 config.
You told me to connect only the upper bits, which means R4-R8, G3-G8, B4-B8?

Another question btw:
The MCU interface of a ILI934 won’t work nativley either ?

Correct, the MCU interface will require a driver and be slower for screen refresh.

I would use the RGB interface as then you can run it without any drivers. The RGB565 will work fine. I use it with the Newhaven 24 bit displays without any issues. It looks good.


This one will work fine too i guess…

A bit of work with that one. The interface votages and supply is 2.8V so you will need high speed level shifters. Even though it says max 3.3V this should not be used with a 3.3V system as the voltage can in some cases be more than 3.3V. You are just asking for trouble if you try to make this work at 3.3V but is up to you. For a simple home project no worries, but a commercial one would have risks. This display is designed for low power handheld devices by the looks of it.

I suggest you find something that is indeed 3.3V

PS you are using the G400 so why such a small display? Why not 4.3"