Copyright © 2025 Frank Gambale Guitar School LLC. All rights reserved.
The GT911 organizes its control and data interface into a unified memory map accessed via a 16-bit register address. The memory space is divided into four distinct functional zones: Address Range (Hex) Registry Zone Primary Function Access Type 0x8040 – 0x80FE Screen resolution, touch thresholds, timings Read/Write 0x8140 – 0x8177 Coordinate Registers Touch status, point counts, X/Y tracking data 0x4100 – 0x43FF Command Register Soft resets, baseline updates, operation modes Read/Write 0x8000 – 0x800F Product ID / Version Chip name, firmware version, vendor ID 1. System Identification Registers
Indicates a large area touch (like a palm).
0x8150 / 0x8151 : Low and high bytes combining into a 16-bit integer for the absolute .
This is almost always a threshold ( 0x8105 ) issue. If set too low (e.g., <30), environmental noise triggers false touches. Increase to 120 and test. gt911 register map
0x06 : – Shuts down the sensor matrix to conserve power. Wake up the IC from sleep mode by pulsing the external INT pin low for over 5 milliseconds (or via designated hardware startup toggles). Standard Driver Polling Algorithm
Extract to find the number of active touch points ( bytes starting from address 0x814F .
A 16-bit value specifying the maximum pixel resolution of the Y-axis (Low byte at 0x804A , High byte at 0x804B ). The GT911 organizes its control and data interface
The GT911's internal register space is primarily divided into four key functional regions. The table below provides an overview of these address ranges.
The is a highly popular, 5-point capacitive touch screen controller used across countless microelectronics, embedded displays, and small-to-medium Mobile Internet Devices (MIDs). For developers building drivers or custom firmware on microcontrollers like STM32, ESP32, or single-board computers like Raspberry Pi, understanding the GT911 register map is absolutely essential. Without interacting with specific register pointers over the I2C bus, the chip will fail to communicate coordinate profiles, change power profiles, or execute configurations.
The GT911 register space is divided into functional blocks for commands, configuration, and coordinate reporting. STMicroelectronics Community GOODiX GT911 Programming Guide 2014-08-04_Rev.00 0x8150 / 0x8151 : Low and high bytes
| Address (Hex) | Description | Practical Notes | | :--- | :--- | :--- | | | Configuration Version | To update the config, the value you write must be >= the version currently stored in the chip. If not, the new configuration will be ignored. | | 0x8053 | Touch Threshold | Sensitivity for touch detection. Lower values (e.g., 15) increase sensitivity for thick cover glass; higher values (e.g., 50) are for noisy environments. | | 0x8054 | Release Threshold | The threshold at which a touch is considered "released." Lower values delay the release detection. | | 0x8055 | Refresh Rate | Configures the coordinate report rate, typically between 5-20ms. | | 0x804A / 0x804B | X/Y Maximum Resolution | Defines the maximum X and Y coordinate values, which should match your LCD's resolution for proper mapping. | | 0x8100 | Config Save Flag | Critical : Set this to 0 to not save config or to 1 to have the GT911 store the new settings in its non-volatile memory. | | 0x80FF | Checksum | The checksum is required to ensure data integrity. The sum of all bytes from 0x8047 to 0x80FE must be 0 . If the checksum fails, the new configuration will be rejected. |
The is a popular 5-point capacitive touch controller used in various display modules. To "prepare a feature" using its register map , you typically need to implement I2C communication to read touch coordinates or configure device settings. Key Register Sections
