Update 2023: The following information from 2015 might be outdated. Newer displays can be dimmed via PWM on the LED pin, or set the LED pin to High. How to fix a faulty design and run a 240x320 SPI TFT with ILI9340 controller on Arduino and Raspberry Pi.

I recently got a 240x320 SPI TFT with ILI9340 controller on Aliexpress for 4€. After connecting it to an Arduino Uno, the screen was blank, very bright and the demo sketch did not run. A quick check with the multimeter revealed that the display drew a whopping 250mA when "LED" was connected to 3V. Here is what I discovered and how I fixed this.
Tools and material needed:
Soldering iron with 2mm flat or round tip, SMD 1206 or 0805 or 0603 resistor of 30 to 150 OHM

Recent Work

The issue identified

If your display's PCB does not exactly look like this one, you can go directly to the "Get libraries" section

Schematic of the chinese design and improvement

The original circuit needs improvements! In this way, the backlight LED is connected directly to GND without current limiting and draws over 150mA. In total the TFT draws 250mA at 3V with this flawed design. The backlight LED would be destroyed in hours.

Remove the useless transistor

The pads of the smd resistor will be used to insert a 30 to 150 OHM resistor, limiting the current draw to under 20mA for the whole TFT, thats 10 times less than before.

Replace the resistor in this way

click for detailed view

Run the demo sketch

there will be a picture soon here.

Any Question?

While I'm not able to provide support for this stuff, I might be able to answer a quick question.
use the contact form from the main site

contact