What is the pinout of a 2.8 inch capacitive TFT display module?
If you are working with a 2.8 inch capacitive TFT display module, the pinout is not always standardized, but the most common configuration for modules using the ILI9341 driver (which is the dominant controller for 240x320 resolution displays) involves 18 to 24 pins. The pinout typically includes power (VCC, GND), backlight control (LED-A, LED-K), a reset pin (RST), and a set of data and control lines for SPI or parallel interface. For a standard 18-pin variant, you will find: VCC (3.3V or 5V), GND, CS (chip select), RESET, DC (data/command), MOSI (master out slave in), SCK (serial clock), LED (backlight anode), and MISO (master in slave out) for SPI mode. Many modules also include a capacitive touch controller, often the FT6236 or similar, which adds an extra I2C interface with pins like T_IRQ (touch interrupt), T_OUT (or SDA for touch), and T_CLK (or SCL for touch). The exact pin order can vary between manufacturers, so always check the datasheet for your specific module, but the 2.8 inch capacitive tft display module from DisplayModule, for example, uses a 14-pin header with a specific layout for SPI and I2C touch.
Let’s break down the pinout in detail, focusing on the most common interfaces: SPI (Serial Peripheral Interface) and parallel (8080 8-bit). The ILI9341 supports both, but most hobbyist and embedded projects use 4-wire SPI to save GPIO pins. For a typical 18-pin module, the pin mapping is as follows:
Table: Common 18-pin Pinout for 2.8-inch ILI9341 TFT (SPI Mode)
| Pin Number | Label | Function | Notes |
|---|---|---|---|
| 1 | VCC | Power Supply (3.3V or 5V) | Check module specs; some tolerate 5V logic |
| 2 | GND | Ground | Common ground |
| 3 | CS | Chip Select | Active low; select the display |
| 4 | RESET | Reset | Active low; reset the display controller |
| 5 | DC | Data/Command | High = data, Low = command |
| 6 | MOSI | Master Out Slave In | Data line from MCU to display |
| 7 | SCK | Serial Clock | SPI clock |
| 8 | LED | Backlight Anode | Connect to 3.3V or 5V via resistor |
| 9 | MISO | Master In Slave Out | Optional; for reading display data |
| 10 | T_IRQ | Touch Interrupt | Active low; touch event indicator |
| 11 | T_OUT | Touch Data (I2C SDA) | I2C data line for touch controller |
| 12 | T_CLK | Touch Clock (I2C SCL) | I2C clock line for touch controller |
| 13 | NC | Not Connected | Or optional parallel interface pins |
| 14 | NC | Not Connected | Or optional parallel interface pins |
| 15 | NC | Not Connected | Or optional parallel interface pins |
| 16 | NC | Not Connected | Or optional parallel interface pins |
| 17 | NC | Not Connected | Or optional parallel interface pins |
| 18 | NC | Not Connected | Or optional parallel interface pins |
This pinout is typical for modules like the one from DisplayModule, which uses a 14-pin header (pins 1-14) and leaves the rest unpopulated. The capacitive touch controller, usually a FT6236 or GT911, communicates via I2C at addresses like 0x38 or 0x5D. The T_IRQ pin is crucial for detecting touches without polling; it goes low when a touch is detected. The backlight pin (LED) often requires a current-limiting resistor, typically 100-200 ohms, to avoid burning out the LEDs. The forward voltage of the backlight LEDs is around 3.2V, and the current draw is about 20-40mA for the entire backlight array.
Parallel Interface Pinout (8080 8-bit)
Some 2.8-inch modules also support 8-bit parallel interface, which uses more pins but offers faster refresh rates. The pinout for a 24-pin module in parallel mode includes:
Table: 24-pin Parallel Pinout (8080 8-bit)
| Pin Number | Label | Function | Notes |
|---|---|---|---|
| 1 | VCC | Power Supply | 3.3V or 5V |
| 2 | GND | Ground | |
| 3 | CS | Chip Select | Active low |
| 4 | RESET | Reset | Active low |
| 5 | DC | Data/Command | |
| 6 | WR | Write Enable | Active low; strobe to write data |
| 7 | RD | Read Enable | Active low; strobe to read data |
| 8-15 | D0-D7 | Data Bus (8-bit) | Parallel data lines |
| 16 | LED | Backlight Anode | |
| 17 | LED-K | Backlight Cathode | Ground |
| 18 | T_IRQ | Touch Interrupt | |
| 19 | T_SDA | Touch I2C Data | |
| 20 | T_SCL | Touch I2C Clock | |
| 21-24 | NC | Not Connected |
In parallel mode, the ILI9341 can achieve a maximum pixel clock of about 15 MHz, which translates to a theoretical frame rate of 60 fps for 240x320 resolution. However, SPI mode is more common because it uses only 4-5 pins, and the ILI9341’s SPI clock can go up to 40 MHz, which is fast enough for most applications. The capacitive touch controller typically operates at 100 kHz to 400 kHz I2C speed, which is sufficient for detecting multiple touch points (up to 5 touches for FT6236).
Power Supply and Voltage Levels
The display module’s logic voltage is typically 3.3V, but many modules have a built-in voltage regulator that allows 5V input on the VCC pin. However, the logic pins (CS, DC, MOSI, SCK, etc.) are usually 3.3V tolerant. If you are using a 5V microcontroller like an Arduino Uno, you need level shifters on the SPI lines to avoid damaging the ILI9341. The backlight pin (LED) is separate from the logic supply; it can be driven by a PWM pin on the microcontroller to control brightness. The backlight current draw is typically 20-30mA at 3.3V, but if you connect it directly to 5V, use a 100-ohm resistor to limit current to about 20mA. The total power consumption of the module with backlight on is around 50-80mA at 3.3V, which is about 165-264 mW.
Touch Controller Pinout Details
The capacitive touch controller is usually a separate IC on the same flex cable. The most common controllers are the FT6236 (FocalTech) and the GT911 (Goodix). The FT6236 uses I2C address 0x38 (7-bit) or 0x70 (8-bit). The pinout for the touch interface is:
- T_IRQ: Interrupt output, active low. This pin goes low when a touch is detected. It is open-drain, so you need a pull-up resistor (typically 4.7k to 10k ohms) to 3.3V.
- T_SDA: I2C data line. Requires a pull-up resistor (4.7k ohms) to 3.3V.
- T_SCL: I2C clock line. Requires a pull-up resistor (4.7k ohms) to 3.3V.
The GT911 uses I2C address 0x5D or 0x14, depending on the configuration pin. Some modules also have a reset pin for the touch controller (T_RST), which is not always broken out. The touch controller’s operating voltage is 2.8V to 3.3V, so do not connect it to 5V directly.
Physical Pinout and Connector Types
Most 2.8-inch capacitive TFT modules use a 0.5mm pitch FPC (flexible printed circuit) connector with 14, 18, or 24 pins. The pin numbering is usually printed on the back of the module or on the FPC itself. For example, the DisplayModule DM-TFT28-116 uses a 14-pin FPC with a 0.5mm pitch, and the pinout is as follows (from pin 1 to 14): VCC, GND, CS, RESET, DC, MOSI, SCK, LED, MISO, T_IRQ, T_SDA, T_SCL, NC, NC. The NC pins are not connected, but some modules use them for optional features like a touch reset or an extra backlight control. Always measure the voltage on the VCC pin before connecting to ensure it matches your power supply.
Interface Selection and Configuration
The ILI9341 can be configured for SPI or parallel interface via the IM (interface mode) pins. On most modules, these pins are hardwired on the PCB, so you cannot change the interface without modifying the board. For SPI mode, the IM pins are set to 0b101 (for 4-wire SPI) or 0b110 (for 3-wire SPI). The 4-wire SPI uses CS, DC, MOSI, and SCK, while 3-wire SPI uses CS, MOSI, and SCK, with DC being sent as a 9th bit in the data stream. The 4-wire SPI is more common and easier to implement. The parallel interface uses IM pins set to 0b000 (for 8-bit 8080) or 0b001 (for 16-bit 8080). The 8-bit parallel interface uses 8 data lines (D0-D7) plus control lines (CS, DC, WR, RD).
Data Transfer Rates and Performance
In SPI mode, the ILI9341 can handle a clock frequency up to 40 MHz. At 40 MHz, transferring a full 240x320 frame (76,800 pixels) with 16-bit color (2 bytes per pixel) takes about 153,600 bytes. At 40 MHz, the SPI transfer time is about 3.84 ms per frame, but you also need to account for command overhead and refresh rate. The actual frame rate is typically 30-60 fps, depending on the microcontroller’s SPI implementation. For parallel 8-bit mode, the maximum write cycle time is about 66 ns, which gives a theoretical pixel write rate of 15 MHz, or about 10 ms per frame, resulting in 100 fps. However, the microcontroller’s GPIO speed is usually the bottleneck, so real-world performance is often lower.
Common Mistakes and Troubleshooting
One common mistake is connecting the backlight pin (LED) directly to 5V without a resistor, which can burn out the LEDs. Another is using 5V logic on the SPI lines without level shifters, which can damage the ILI9341. The touch controller’s I2C lines also need pull-up resistors; if they are missing, the touch will not work. If the display shows white or garbled content, check the RESET pin: it must be pulled high after power-up, and a low pulse of at least 10 microseconds is required to initialize the controller. Also, the CS pin must be pulled low to select the display; otherwise, it will ignore all commands. The DC pin is often confused with the RS (register select) pin; they are the same function. If the backlight is on but the display is blank, the issue is usually with the initialization sequence in the software. The ILI9341 requires a specific sequence of commands to set up the display, including sleep out, display on, and gamma correction. Most libraries (like Adafruit_ILI9341 or TFT_eSPI) handle this automatically, but you need to ensure the pin mappings match your hardware.
Capacitive Touch Calibration and Data Format
The capacitive touch controller returns raw touch coordinates as 12-bit values (0-4095) for the X and Y axes. These need to be mapped to the display’s 240x320 resolution. The FT6236, for example, returns up to 5 touch points, each with a status byte (touch event type), X coordinate (2 bytes), Y coordinate (2 bytes), and touch ID. The I2C read sequence involves reading the status register (0x02) to get the number of touch points, then reading the touch data registers (0x03 to 0x0C for the first touch point). The data format is big-endian, so the high byte of X is at register 0x03, and the low byte is at 0x04. The touch coordinates are relative to the touch panel’s orientation, which may not match the display’s orientation. You may need to rotate or flip the coordinates in software. The touch controller also has a gesture detection feature (like swipe or zoom), but this is rarely used in simple applications.
Pinout Variations Across Manufacturers
Not all 2.8-inch capacitive TFT modules use the same pinout. For example, the Waveshare 2.8-inch module uses a 24-pin header with a different layout, where the touch interface is on pins 15-18. The Adafruit 2.8-inch TFT FeatherWing uses a 12-pin header with a different pin order. The DisplayModule DM-TFT28-116 uses a 14-pin header with the pinout described above. Always check the datasheet for your specific module. If you are designing a custom PCB, it is safer to use a module with a standard pinout, like the one from DisplayModule, and verify the pinout against the schematic. Some modules also have a separate pin for the touch controller’s reset (T_RST), which is not always present. If your module does not have a T_RST pin, you can use the main display’s RESET pin to reset both the display and the touch controller, but this is not recommended because the touch controller may have different reset timing requirements.
Electrical Characteristics and Timing
The ILI9341 has a typical operating voltage of 2.8V to 3.3V, but it can tolerate up to 3.6V on the logic pins. The input high voltage (VIH) is 0.7 x VCC, so for 3.3V VCC, VIH is 2.31V. The input low voltage (VIL) is 0.3 x VCC, or 0.99V. The output high voltage (VOH) is 0.8 x VCC, and output low (VOL
S'abonner à la veille — 7 jours offerts
Le Brief Chine, les rapports sectoriels et l'accès complet aux 18 400+ fiches entreprises. Sans engagement.