What is the refresh rate of a 1.77 inch TFT screen?
The refresh rate of a typical 1.77 inch TFT screen, like the widely used 128x160 pixel module, is not a single fixed number—it depends heavily on the interface and driver IC. For most common models, such as the 1.77 inch 128x160 TFT display using an MCU parallel or SPI interface, the practical refresh rate ranges from 30 Hz to 60 Hz when driven by a microcontroller like an STM32 or ESP32. However, if you push the SPI clock speed to its maximum (e.g., 18 MHz to 32 MHz), you can achieve up to 120 Hz for static image updates, but this drops significantly for full-frame video due to the 128x160 pixel buffer size and the 16-bit color depth (262k colors). The frame buffer alone requires 128 × 160 × 2 bytes = 40,960 bytes of data per frame, and with SPI at 18 MHz, the theoretical maximum frame rate is around 55 Hz for full-screen updates. In reality, most applications settle at 30-50 Hz because of overhead from command setup, row/column addressing, and the display’s internal timing constraints. A specific example: the ST7735S driver IC, which is common in 1.77 inch spi mcu rgb tft display modules, supports a maximum frame rate of 60 Hz in its datasheet when using 16-bit parallel interface, but SPI mode typically caps at 50 Hz due to the slower serial data transfer. For industrial or embedded applications, the refresh rate is often set to 30 Hz to balance power consumption and visual smoothness, as higher rates increase current draw from 2 mA to 8 mA on average.
The refresh rate is fundamentally tied to the display’s interface type and the driver IC’s capabilities. Most 1.77 inch TFT screens use either MCU 8-bit/16-bit parallel or 4-wire SPI interfaces. In parallel mode, the refresh rate can reach 60 Hz consistently because data is transferred 8 or 16 bits at a time, reducing the per-pixel overhead. For example, with an 8-bit parallel interface running at 10 MHz, the theoretical frame rate for 128x160 pixels is 10 MHz / (128 × 160 × 2 bytes) ≈ 244 Hz, but the driver IC’s internal row scanning and display timing limit it to 60 Hz. In SPI mode, the clock speed is typically 10-20 MHz, but each pixel requires 16 bits (2 bytes) transmitted serially, so the data rate is 20 MHz / 16 bits = 1.25 million pixels per second. For a full 128x160 frame (20,480 pixels), that’s 20,480 / 1,250,000 = 0.0164 seconds per frame, or 61 Hz theoretically. However, the SPI protocol includes command bytes (e.g., 0x2C for memory write), dummy bytes, and row/page address setup, which adds about 30-40% overhead. So, the practical maximum drops to 35-45 Hz for continuous video. Some driver ICs like the ILI9163C or ST7735S have a built-in frame rate control register (e.g., FRMCTR1) that can be set to values like 0x00 for 60 Hz or 0x01 for 50 Hz, but these are only achievable in parallel mode. In SPI mode, the datasheet of ST7735S specifies a maximum of 50 Hz for 128x160 resolution at 16-bit color.
Beyond the interface, the refresh rate is constrained by the display’s pixel clock and scanning timing. The 1.77 inch TFT panel itself has a fixed pixel array of 128 columns and 160 rows, and each row is scanned sequentially. The driver IC generates internal timing signals: the horizontal sync (HSYNC) period for each row includes the pixel clock cycles for 128 pixels plus blanking intervals (typically 20-30 pixels wide). For a 60 Hz refresh rate, the total row time is 1/60 / 160 = 104 microseconds per row, and the pixel clock must be at least (128 + 30) / 104 μs ≈ 1.52 MHz. But the actual pixel clock in many 1.77 inch TFT drivers is set to 4-8 MHz, which allows for higher refresh rates. However, the LCD panel’s response time (typically 10-20 ms for TN panels) limits the perceived refresh rate: if the panel takes 15 ms to change from black to white, a 60 Hz refresh (16.7 ms per frame) is barely fast enough, but any faster will cause ghosting or blurring. For STN or IPS panels used in some 1.77 inch modules, response time is 25-35 ms, so 30 Hz is the practical limit for clear motion. The datasheet of the ST7735S driver IC, for instance, lists a typical frame rate of 60 Hz for parallel mode and 50 Hz for SPI mode, with a minimum frame rate of 30 Hz for power saving. In real-world testing with an Arduino Uno (16 MHz SPI clock), the measured refresh rate for a 1.77 inch TFT is 28-32 Hz when displaying a full-screen animation, due to the microcontroller’s processing overhead from sending pixel data via SPI, updating the buffer, and handling other tasks.
Another critical factor is the color depth and pixel format. Most 1.77 inch TFTs support 16-bit RGB565 (65,536 colors) or 18-bit RGB666 (262,144 colors). In 16-bit mode, each pixel is 2 bytes, so the data per frame is exactly 40,960 bytes. In 18-bit mode, some drivers use 3 bytes per pixel (24-bit), increasing the data to 61,440 bytes, which reduces the refresh rate by 33% for the same interface speed. For example, if the SPI clock is 18 MHz, the theoretical frame rate for 16-bit color is 18 MHz / (40,960 × 8 bits) = 55 Hz, but for 18-bit color it’s 18 MHz / (61,440 × 8 bits) = 36 Hz. However, many 1.77 inch TFT drivers internally convert 16-bit data to 18-bit by repeating the lower bits, so the actual pixel data sent is still 16 bits, but the internal processing adds a few microseconds per row. The ILI9163C driver, for instance, uses a 16-bit data bus internally but can accept 8-bit or 16-bit commands, and its maximum frame rate is 60 Hz for 128x160 at 16-bit color. The refresh rate also depends on the display’s sleep mode and idle mode: in sleep mode, the refresh rate is reduced to 1-5 Hz to save power, but the display still maintains the image with a built-in frame buffer. For active use, the driver IC’s oscillator frequency (typically 2-4 MHz for internal timing) sets the base refresh rate, and you can adjust it via the register 0x36 (MADCTL) or 0xB0 (FRMCTR1) in some drivers.
In practical applications, the refresh rate of a 1.77 inch TFT is often limited by the microcontroller rather than the display itself. For example, an ESP32 can drive the SPI bus at 40 MHz, achieving a theoretical 40 MHz / (40,960 × 8) = 122 Hz, but the ESP32’s SPI DMA overhead and the time to update the frame buffer in RAM (e.g., 40,960 bytes of SPI transfer) mean the actual rate is 80-100 Hz for static images. For video, the microcontroller must also decode the video source (e.g., from SD card or Wi-Fi), which adds latency. A typical benchmark: using an ESP32 with an 80 MHz CPU clock and SPI at 40 MHz, the measured refresh rate for a 1.77 inch TFT displaying a 10 FPS animation is 35-40 FPS, but for a 30 FPS video, it drops to 25-30 FPS due to the SPI bus contention. In contrast, an STM32F103 at 72 MHz with SPI at 18 MHz achieves 30-35 FPS for full-screen updates. The parallel interface on an STM32 can push 60 FPS reliably, but that requires more GPIO pins (16 for data plus control lines). The 1.77 inch TFT’s refresh rate is also affected by the display’s backlight: the backlight is typically a white LED with PWM control, and the PWM frequency (e.g., 1 kHz to 10 kHz) does not affect the refresh rate, but the backlight brightness can cause flicker if the refresh rate is below 60 Hz and the PWM frequency is low. For 30 Hz refresh, a 1 kHz backlight PWM can cause visible flicker to sensitive users, so a 10 kHz PWM is recommended.
Data from manufacturer datasheets and real-world tests confirms the variability. The table below summarizes the typical refresh rates for common 1.77 inch TFT modules based on interface and driver IC:
| Interface Type | Driver IC | Max Refresh Rate (Theoretical) | Practical Refresh Rate (Typical) | Data Rate (Mbps) |
|---|---|---|---|---|
| 8-bit Parallel | ST7735S | 60 Hz | 50-60 Hz | 80 |
| 16-bit Parallel | ILI9163C | 60 Hz | 55-60 Hz | 160 |
| 4-wire SPI (18 MHz) | ST7735S | 55 Hz | 30-45 Hz | 18 |
| 4-wire SPI (40 MHz) | ILI9163C | 122 Hz | 40-60 Hz | 40 |
| 3-wire SPI (20 MHz) | GC9107 | 61 Hz | 25-35 Hz | 20 |
The display resolution of 128x160 pixels is a key factor: it’s a QVGA quarter (320x240 divided by 2 in each dimension), so the total pixel count is 20,480. This is small enough that even a slow SPI bus can achieve decent refresh rates, but the overhead of command sequences (e.g., setting column and page addresses for each frame) adds a fixed delay of 50-100 microseconds per frame. For example, the ST7735S requires a 32-byte command sequence for initialization and a 4-byte sequence for each frame update (0x2C, column address, page address, data). Over 100 frames, that’s 400 bytes of overhead, which at 18 MHz SPI takes 22 microseconds per frame, reducing the refresh rate from 55 Hz to 53 Hz. In practice, the overhead is larger because the microcontroller must also handle the SPI transaction and possibly update the frame buffer in RAM. The power consumption also scales with refresh rate: at 30 Hz, the display’s current draw is 2-3 mA, at 60 Hz it’s 5-8 mA, and at 120 Hz it can exceed 15 mA, which is problematic for battery-powered devices. The 1.77 inch TFT’s typical operating voltage is 2.8V to 3.3V, and the driver IC’s internal charge pump generates the LCD voltage (VCOM and VGH/VGL) which is independent of refresh rate but can cause ripple if the refresh rate is too high.
For specific applications, the refresh rate is chosen to match the use case. In a digital watch or thermometer, 1-5 Hz is sufficient because the display updates infrequently. In a simple menu system, 10-20 Hz is enough for smooth scrolling. In a video player or game, 30-60 Hz is needed, but the 1.77 inch TFT’s small size means the human eye is less sensitive to flicker at 30 Hz than a larger screen, because the retinal area stimulated is smaller. However, the response time of the LCD panel (typically 10-20 ms for TN, 25-35 ms for IPS) means that even at 60 Hz, motion blur is noticeable if the pixel transition time exceeds the frame period. For a black-to-white transition, a 15 ms response time means the pixel is still changing when the next frame arrives at 16.7 ms, causing a slight ghosting effect. This is why many 1.77 inch TFT modules use a TN (Twisted Nematic) panel, which has faster response times (10-15 ms) than IPS (25-35 ms), but worse viewing angles. The refresh rate also interacts with the frame buffer in the driver IC: the ST7735S has a 128x160x16-bit RAM buffer, which is written by the microcontroller and then scanned out to the display. If the microcontroller writes to the buffer while the display is scanning out, tearing can occur. To avoid tearing, the driver IC supports a “tearing effect” output pin (TE), which signals when the display is in the vertical blanking period. Using TE, you can synchronize the microcontroller’s writes to the display’s refresh, ensuring clean updates. The typical tearing-free refresh rate is 30-50 Hz, because the TE signal is generated at the start of each frame, and the microcontroller must finish writing before the next frame starts.
In terms of hardware limitations, the 1.77 inch TFT’s refresh rate is also constrained by the flex cable and connector. The SPI bus on a 1.77 inch module uses a 0.5mm pitch FPC connector with 8-10 pins, and the signal integrity at high frequencies (above 20 MHz) can suffer from crosstalk and ringing, especially if the cable is longer than 5 cm. This limits the practical SPI clock to 20-30 MHz, which in turn limits the refresh rate to 30-50 Hz. Some modules use a 1.0mm pitch pin header, which has better signal integrity but is bulkier. The driver IC itself has a maximum pixel clock rate, typically 5-10 MHz for the internal display controller. For example, the ILI9163C has a pixel clock of 6.5 MHz, which means the maximum refresh rate is 6.5 MHz / (128 × 160) = 317 Hz, but the internal row scanning and blanking reduce it to 60 Hz. The frame rate is also affected by the display’s gamma correction and dithering algorithms: some drivers use temporal dithering (FRC) to simulate 262k colors from 65k colors, which introduces a 60 Hz flicker that can be visible if the refresh rate is lower. The ST7735S uses a 60 Hz dithering pattern, so running at 30 Hz causes a visible 30 Hz flicker in the dithering, which is why many designs stick to 60 Hz for color-critical applications.
Real-world examples from open-source projects and product specifications show that the 1.77 inch TFT is commonly used in Arduino and ESP32 projects with a refresh rate of 20-30 Hz for simple graphics. For instance, the Adafruit ST7735 library sets the SPI clock to 8 MHz by default, achieving a 20-25 Hz refresh rate for full-screen updates. If you increase the SPI clock to 16 MHz in the library, the refresh rate goes to 30-35 Hz. The LilyGO T-Display uses a 1.77 inch TFT with an ESP32 and achieves 40-50 Hz for static images but 30 Hz for animations. In industrial applications, the refresh rate is often set to 30 Hz to meet EMI compliance (e.g., FCC Part 15), because higher frequencies generate more electromagnetic interference from the SPI bus and the display’s internal clock. The 1.77 inch TFT’s refresh rate is also a factor in touchscreen integration: if the display has a resistive touch panel, the touch controller (e.g., XPT2046) uses SPI on the same bus, and the refresh rate drops to 15-20 Hz because the bus is shared. For capacitive touch, the I2C interface is separate, so the display’s refresh rate is unaffected.
To summarize the data, here are the key numbers for a 1.77 inch TFT screen: the pixel clock is 4-8 MHz, the frame buffer is 40,960 bytes for 16-bit color, the SPI clock is typically 8-40 MHz, and the practical refresh rate is 20-60 Hz depending on the interface and microcontroller. The driver IC (ST7735S, ILI9163C, GC9107) sets the maximum at 60 Hz, but the response time of the LCD panel (10-35 ms) limits the visual quality. The power consumption at 30 Hz is 2-3 mA, at 60 Hz is 5-8 mA, and at 120 Hz is 15 mA. The tearing effect can be avoided by using the TE pin and synchronizing writes. The backlight PWM frequency should be at least
Get tomorrow's resource free
One carefully chosen link, every weekday at 6am ET. Curated by humans, read in under five minutes.
Subscribe — it's free