Wiring an ILI9341 to arduino UNO/NANO

Hey guys,
I bought a cheap display from aliexpress

It’s a 3.2inch LCD display 16 bit 320x240 resolution, it has 34 pins.

I’m trying to connect it to an arduino UNO or NANO, i understand the display is fed through 3.3v so it might be easier to connect to the NANO. Now the problem is that i don’t understand the wiring diagram on this website:


My display’s pinout is different (only for the DB pins) and looks like that:

The difference is that on my display there are 16 DB pins (DB0->DB15) and on the website there are 17 DB pins (DB1->DB17). The rest is all the same.
The instructions state:

DB1~DB6 → D8~D13
DB10~DB17 → D0~D7

My question is how should i connect it on my arduino board?

LCD pins are analogue
D Pins Digital

How should I wire it then? The seller didn’t give me any documentation and i was just surfing the internet looking for info. You mean DB0~DB15 → D0~D15? i won’t have enough digital pins on my board i think they come with 14 in total

This one is for Arduino MEGA

1 Like

Yes i’ve seen this a lot, but it should work with an uno or nano right?

It did not work for me
sory for the English

Alright thanks for the reply anyways

Please and have fun


your display would match perfectly to some STM32 boards:

official STM32F407VET6 STM32F407VGT6 STM32 System Core Board STM32F407 Development Board F407 Single Chip Learning Board|Integrated Circuits| - AliExpress

High Quality STM32F103ZET6 Development Board ARM STM32 STM32F10 Board Compatibility Multiple Extension|extension|extension boardextension arm - AliExpress


1 Like

I am surprised by the initial question. The 34-pin display needs 16 data bus and 5 control signals.
A Uno has 22 GPIO pins. D0, D1 are already used by Serial / bootloader.

So even if you have a Uno clone with switchable 3.3V / 5V GPIO you are not going to have any pins left for external electronics.
You can’t ever use Touch or SD.

I am horrified by the Geetech link. The display is 3.3V and the photos show both Uno and Mega2560 without any level shifters.

The Ilitech ILI9341 will not work with 5V logic. Perhaps the Solomon SSD1289 is 5V tolerant (but the data sheet says logic <= 3.3V).

Follow Jean-Marc’s advice. Buy a 3.3V STM32 board with suitable 34-pin headers.

Or make your own 5V - > 3.3V Adapter Shield for a Mega2560 using level-shifters.


1 Like

Thanks for the clear answer!
My only option to make this diplay work is with a mega+adapter shield or with an STM board, correct?

An Arduino Due clone has got lots of 3.3V GPIO pins. It is simply a question of plain wires to connect the display.

Personally, I would solder a 34-pin socket to some Protoboard with an 18x2 male header for the Due.
Route the signals with thin single core wire for a Due.

If you are determined to use a 5V Mega2560, each of the signal wires must go through a level shifter.

When you think of the time and effort, it is simpler to just buy a Uno Display shield. It has all the correct level shifters and connections. Just plug in the Shield to your Uno and go.

Doing anything with a 16-bit Parallel display requires LOTS of 3.3V pins.

Accessing the SD Card on the Due requires connecting to the 3x2 SPI header.


1 Like

This topic was automatically closed after 120 days. New replies are no longer allowed.