Gt911 Register Map ((full)) Jun 2026
Bitmask registers used to mirror or swap the X and Y axes, change interrupt trigger modes (rising/falling edge vs. low/high level), and toggle proximity sensing.
The Goodix GT911 is a widely used capacitive touchscreen controller found in small-to-medium displays, such as hobbyist microcontrollers (ESP32, Arduino), automotive infotainment displays, and smart home appliances. Programming this chip requires communicating over I2C to read coordinates and configure settings via its internal memory space.
Gesture detection must be enabled in the configuration registers (bit field in 0x8130 ). By default, many GT911 units ship with gestures disabled to save power.
The GT911 register map is divided into functional zones based on memory address ranges. This structure simplifies reading coordinates and writing configuration changes. gt911 register map
Before interacting with the register map, you must establish communication using the correct I2C slave address. The GT911 supports two hardware-selectable I2C addresses, determined by the state of the INT (Interrupt) and RST (Reset) pins during the power-up sequence: Reset/Interrupt Sequence State I2C Write Address I2C Read Address 7-bit Base Address INT pin pulled high during reset 0xBA 0xBB 0x5D Option B: INT pin pulled low during reset 0x28 0x29 0x14
Use the INT pin to trigger the I2C reading process. The INT pin will typically go low when a touch is detected or released.
Goodix GT911 is a capacitive touch controller that uses an I2C interface to communicate with a host processor. The register map is divided into functional blocks for commands, configuration, and touch data status. I2C Communication Basics Slave Address: usually has two selectable 7-bit I2C addresses, , depending on the state of the pins during startup. Register Address Size: Unlike many simple I2C devices, the 16-bit register addresses Focus LCDs Key Register Map Blocks Address Range (Hex) Description Command Register Used to send real-time commands (e.g., reset, sleep). Configuration Registers Bitmask registers used to mirror or swap the
A write-only register used to trigger immediate actions like reading coordinates, entering screen-off mode, or performing calibrations. Configuration Information (0x8047 – 0x8100):
The behavior of the touch panel is dictated by a continuous block of roughly 186 bytes starting at address 0x8040 . If you modify any parameter in this zone, you and write it to the designated register, or the chip will reject the new settings. Key Parameter Registers
| Register Address | Register Name | Description | | --- | --- | --- | | 0x00 | Chip ID Register | Stores the GT911 chip ID | | 0x01 | Configuration Register 1 | Stores configuration data for the touch controller | | 0x02 | Control Register 1 | Controls the chip's functions, including enabling or disabling the touch controller | | 0x10 | Touch Point Data Register | Stores touch point data, including x and y coordinates, touch pressure, and other relevant information | | 0x20 | Interrupt Status Register | Provides interrupt status information, including touch point detection, error flags, and other interrupt sources | Programming this chip requires communicating over I2C to
To read real-time touch events, your microcontroller should poll these registers or trigger an interrupt when the GT911's INT pin pulls low. The Buffer Status Register (0x8140) This is the most critical register for data retrieval.
A 16-bit value specifying the maximum pixel resolution of the X-axis (Low byte at 0x8048 , High byte at 0x8049 ).