What driver chip does a 1.3 inch 240x240 IPS display use?

By admin

If you’re hunting for the exact driver chip inside a 1.3 inch 240x240 IPS display, the most common answer is the ST7789V. This is a single-chip controller from Sitronix, designed specifically for small to medium-sized TFT-LCD panels with resolutions up to 240x320 pixels. The ST7789V handles everything from pixel addressing to gamma correction, and it’s the go-to for this form factor because it supports SPI (Serial Peripheral Interface) communication, which keeps pin count low and integration simple. You’ll find it in nearly every 1.3 inch 240x240 ips display module sold on hobbyist markets like Adafruit, Waveshare, or dedicated component suppliers. But don’t take my word for it—check the datasheet of any reputable module, and you’ll see ST7789V listed as the primary driver. For example, the 1.3 inch 240x240 ips display from DisplayModule uses this exact chip, and it’s widely documented in Arduino and ESP32 libraries.

Now, let’s dig into the nitty-gritty. The ST7789V isn’t just a random choice—it’s a 262K-color single-chip TFT controller with an integrated frame buffer. The frame buffer size is 240x320x18 bits (since it uses 18-bit color depth internally), which translates to about 138,240 bytes of SRAM. For a 240x240 panel, only part of that buffer is used, but the chip still needs to drive the full 240 rows and 240 columns via a 1-to-1 pixel mapping. The interface is typically 4-wire SPI (SCLK, MOSI, DC, CS), plus a reset pin and a backlight control pin. The SPI clock can go up to 70 MHz in some configurations, though real-world applications often run at 20-40 MHz due to PCB trace length and signal integrity. This chip supports partial display updates, which is a lifesaver for battery-powered devices—you can refresh only a small rectangle instead of the whole screen, cutting power consumption by up to 60% in idle scenarios.

But is ST7789V the only option? No. Some older or cheaper modules might use the ST7735S or ILI9341, but those are less common for 1.3-inch 240x240 panels. The ST7735S is typically for 128x160 or 160x128 resolutions, and the ILI9341 is overkill—it’s designed for 320x240 panels and has a larger die size, which increases cost. For a 1.3-inch diagonal, the pixel density is about 240 PPI (pixels per inch), which is high for an IPS display. The ST7789V’s internal timing controller handles the 240x240 matrix with a typical row scan rate of 60 Hz, though you can push it to 90 Hz if your microcontroller can keep up with the SPI bandwidth. The chip also includes a voltage generator for the LCD common electrode (VCOM), which is critical for IPS panels because they need precise voltage levels to maintain wide viewing angles—typically 80 degrees in all directions for a good IPS module.

Let’s talk about the physical layer. The ST7789V is a 0.18-micron CMOS process chip, packaged in a 48-pin QFN (Quad Flat No-leads) or a 54-pin BGA (Ball Grid Array) depending on the revision. The QFN version is more common in modules because it’s easier to solder and inspect. The chip’s operating voltage range is 2.4V to 3.3V for the logic core, but the LCD driver section can handle up to 5.5V for the gate and source drivers. That’s why you often see a 3.3V regulator on the module’s PCB—it steps down from a 5V USB supply to power the ST7789V. The chip also has a built-in boost converter for the LCD bias voltages, which generates +15V and -10V rails from the 3.3V input. This is all done on-die, so you don’t need external charge pumps, but you still need a few capacitors (typically 1uF and 10uF) for stability.

Here’s a table that breaks down the key specs of the ST7789V driver chip in the context of a 1.3-inch 240x240 IPS display:

ParameterValueNotes
Resolution240x240 (max 240x320)Row scan starts at top-left, configurable via register
Color Depth262K colors (18-bit)RGB 6-6-6, but often driven with 16-bit (RGB 5-6-5) to save memory
Interface4-wire SPI, 3-wire SPI, or 8-bit parallelSPI is default for 1.3-inch modules; parallel is rare
Max SPI Clock70 MHzPractical limit is 40 MHz due to PCB parasitics
Frame Buffer138,240 bytes (240x320x18)Only 115,200 bytes used for 240x240
Operating Voltage2.4V to 3.3V (logic), 2.4V to 5.5V (LCD)Module usually includes a 3.3V LDO regulator
Power Consumption~20 mA at 60 Hz (full refresh)Drops to ~8 mA in partial update mode
Viewing Angle80 degrees (all directions)IPS panel, not TN; ST7789V supports gamma tuning
Temperature Range-20°C to +70°CIndustrial grade variants available

Now, why does the driver chip matter for your project? It’s not just about compatibility—it’s about performance. The ST7789V has a built-in hardware acceleration for windowing and partial updates. You can set a “window” via register commands (CASET and RASET) to define a rectangular area, then only send pixel data for that area. This is huge for animations or GUI updates because you don’t have to re-draw the entire screen. For example, if you’re updating a text cursor, you can send just 8x16 pixels instead of 57,600 pixels (240x240). The chip also supports a “tearing effect” (TE) output pin, which you can use to synchronize your MCU’s writes with the display’s vertical blanking interval. This prevents screen tearing—a common issue in fast-moving graphics.

Let’s talk about the actual module design. A typical 1.3-inch 240x240 IPS display module has a PCB that’s slightly larger than the glass, maybe 28mm x 28mm, with a 0.5mm pitch FPC (Flexible Printed Circuit) connector. The ST7789V is mounted on the back of the glass using Chip-On-Glass (COG) technology, which means the bare die is bonded directly to the glass substrate. This reduces the module thickness to about 1.2mm, including the backlight. The COG process uses anisotropic conductive film (ACF) to connect the chip’s bumps to the glass traces. The chip’s output drivers are connected to the row and column lines of the LCD matrix. For a 240x240 panel, there are 240 source lines (columns) and 240 gate lines (rows). The ST7789V has 240 source outputs and 240 gate outputs, so it’s a perfect match—no external multiplexing needed.

One detail that often gets overlooked is the gamma correction. The ST7789V has a programmable gamma curve with 14 positive and 14 negative gamma registers. You can tweak these to adjust the brightness and contrast of each color channel. For IPS panels, the default gamma is usually set for a 2.2 power curve, which matches the human eye’s perception. But if you’re using the display in a dark environment, you might want to lower the gamma to 1.8 to avoid crushed blacks. The chip also supports “inversion” modes to prevent image sticking. The default is “1-dot inversion,” where each pixel alternates polarity every frame. This reduces DC bias on the liquid crystal, which extends the panel’s lifetime. You can also set “2-line inversion” or “N-line inversion” via register 0xB6.

Let’s look at the communication protocol in more detail. The ST7789V uses a 9-bit or 16-bit SPI command/data scheme. In 9-bit mode, the first bit is the DC (Data/Command) select, followed by 8 bits of data. In 16-bit mode, you send a 16-bit word where the upper 8 bits are the command, and the lower 8 bits are the parameter. Most libraries use the 9-bit mode because it’s simpler to implement with bit-banging. The chip also supports a “read” function via SPI, which lets you read back the contents of the frame buffer or the register values. This is useful for debugging, but it’s rarely used in production because the read operation is slower than a write. The chip’s SPI command set is documented in the 200+ page datasheet, but the most common commands are: SWRESET (0x01), SLPOUT (0x11), DISPON (0x29), CASET (0x2A), RASET (0x2B), and RAMWR (0x2C).

Here’s a practical tip for developers: when you initialize the ST7789V for a 240x240 panel, you need to set the “column address” and “row address” registers to match the panel’s orientation. The default is 240x320, so you have to set CASET to 0..239 and RASET to 0..239. If you don’t, the display will show a garbled image because the chip is trying to drive a 320-row matrix. Also, you need to set the “memory data access control” register (MADCTL, 0x36) to rotate the screen if your PCB layout is landscape or portrait. The MADCTL register controls the RGB order, row/column order, and vertical/horizontal flip. For a 1.3-inch module, the default is usually “RGB” order (not BGR), and the scan direction is top-left to bottom-right. But some modules have the connector on the left side, so you might need to flip the horizontal scan.

Now, let’s address the elephant in the room: are there counterfeit ST7789V chips? Yes. In 2023, some suppliers started shipping modules with a “ST7789V” marking but actual behavior closer to an ST7735S. The easiest way to spot a fake is to check the chip’s ID register. The ST7789V has a read-only register at address 0x04 that returns 0x85 (the manufacturer ID) and 0x52 (the driver version). If you read 0x00 or 0x01, it’s likely a clone. Another tell is the gamma curve: the ST7789V has 28 gamma registers, while the ST7735S has only 16. If your gamma settings don’t produce the expected brightness, you might have a knockoff. Always buy from authorized distributors like Mouser, Digi-Key, or the module manufacturer’s own store to avoid this.

Let’s talk about the backlight. The 1.3-inch IPS display uses a white LED backlight, typically with 4 LEDs in series, driven at 20 mA each. The backlight voltage is around 3.2V to 3.4V, and it’s usually connected to a separate pin on the FPC. The ST7789V doesn’t control the backlight—that’s handled by the module’s PCB, which often includes a small boost converter (like the RT9293) to drive the LEDs from a 3.3V supply. The backlight’s brightness can be controlled via PWM on the MCU side, but you need to be careful about the PWM frequency. If it’s below 1 kHz, you might see flicker in the display. Most developers use a 10 kHz PWM signal to avoid this.

One more technical detail: the ST7789V supports a “sleep mode” (command 0x10) that drops the power consumption to less than 5 µA. This is critical for battery-powered devices like smartwatches or IoT sensors. When you wake the chip from sleep, it takes about 120 ms to stabilize the internal oscillators and charge pumps. You can also use the “partial display” mode (command 0x12) to define a smaller active area, which reduces the number of rows that need to be refreshed. For example, if you only need to show a 100x100 pixel clock, you can set the partial area to that region and the rest of the screen stays black. This cuts the power consumption by roughly 60% compared to a full refresh.

Let’s not forget the interface options. While the 4-wire SPI is the most common, the ST7789V also supports a 3-wire SPI (no DC line, with 9-bit packets) and an 8-bit parallel interface (with 8 data lines plus control signals). The parallel interface is faster—you can hit 8-bit bus speeds of 40 MHz, which translates to 320 Mbps—but it uses 11 GPIO pins on your MCU instead of 4. For a 1.3-inch module, the parallel interface is rarely used because the SPI speed is sufficient for 60 fps at 240x240. The SPI bandwidth required for 60 fps at 16-bit color is: 240 x 240 x 16 x 60 = 55.3 Mbps. With a 40 MHz SPI clock, you get 40 Mbps (assuming 8-bit data per clock), which is close but not enough for full 60 fps. However, most applications don’t need 60 fps—30 fps is fine for static GUIs, and 15 fps is acceptable for sensor readouts. If you need 60 fps, you can use the parallel interface or overclock the SPI to 70 MHz.

Here’s a table that compares the ST7789V with other common driver chips for small TFT displays:

ChipMax ResolutionInterfaceFrame BufferCommon UseCost (approx)
ST7789V240x320SPI, 8-bit parallel240x320x181.3-inch 240x240 IPS$1.50
ST7735S160x128SPI160x128x181.8-inch 128x160 TFT$1.20
ILI9341320x240SPI, 8/16-bit parallel320x240x182.8-inch 320x240 TFT$3.00
GC9A01240x240SPI240x240x181.28-inch round IPS$1.80

Notice that the GC9A01 is also a 240x240 driver, but it’s designed for round displays. The ST7789V is rectangular, so it’s a better fit for square or rectangular panels. The GC9A01 has a circular addressing mode, which the ST7789V lacks. But for a 1.3-inch square IPS, the ST7789V is the industry standard.

Let’s talk about the software side. The ST7789V is supported by every major graphics library: Adafruit GFX, TFT_eSPI, LVGL, and U8g2. The initialization sequence for a 1.3-inch 240x240 panel is well-documented. For example, in TFT_eSPI, you just define the TFT_CS, TFT_DC, and TFT_RST pins, and the library handles the rest. The library also includes a calibration routine for the touchscreen if your module has one (though most 1.3-inch IPS displays don’t include touch). The key initialization commands are: SLPOUT (exit sleep), COLMOD (set color mode to 16-bit), DISPON (display on), and then the CASET/RASET for the 240x240 window. The chip also needs a delay of 120 ms after SLPOUT to allow the internal voltage regulator to stabilize.

One nuance: the ST7789V’s default color format is 18-bit (RGB 6-6-6), but most libraries use 16-bit (RGB 5-6-5) to save memory and bandwidth. The chip accepts 16-bit data via the “16-bit color mode” command (0x3A,