FUJIFILM Business Innovation | Singapore

Gt911 Register Map __hot__ < No Ads >

Your X and Y are swapped or mirrored. The GT911 reports physical panel coordinates, not LCD coordinates. If you rotated your LCD via software, you must either:

Track ID, X Coordinate (Low/High), Y Coordinate (Low/High), Point Size 0x8157 Same 8-byte structure as Point 1 Point 3 0x815F Same 8-byte structure as Point 1 Point 4 0x8167 Same 8-byte structure as Point 1 Point 5 0x816F Same 8-byte structure as Point 1 Anatomy of an 8-Byte Touch Point Block

Below is the definitive register map for the GT911. All addresses are 16-bit. Note: The GT911 uses Big-Endian (MSB first) for multi-byte values.

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 gt911 register map

The lower 4 bits of register 0x814E tell you how many fingers (0–5) are currently on the screen.

Which (e.g., C++, MicroPython, Zephyr RTOS) is your firmware built on?

| Register | Description | Example Value | |----------|-------------|----------------| | 0x8140 | Product ID (first byte: '9') | 0x39 | | 0x8141 | Product ID (second byte: '1') | 0x31 | | 0x8142 | Product ID (third byte: '1') | 0x31 | | 0x8143 | Firmware version (major) | Varies | | 0x8144 | Firmware version (minor) | Varies | | 0x814E | Config version | 0x01 | Your X and Y are swapped or mirrored

Extract the lowest 4 bits of 0x814E to find out how many fingers are on the screen (

The GT911 can use one of two 7-bit slave addresses, determined by the state of the INT pin during the power-on or reset sequence. The available address pairs for 7-bit/8-bit notations are:

What and framework (e.g., Arduino IDE, ESP-IDF, STM32CubeIDE) are you using? All addresses are 16-bit

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 operates as an I2C slave. Before accessing the register map, you must establish the correct slave address.

This is, without a doubt, the most critical group for tuning the touchscreen's behavior. This block is long and contains all of the settings for your specific touch panel. Modifying this region is necessary to adjust for cover glass thickness, change the display resolution, or invert axes, as relying on the factory-loaded config may produce poor results.

#define GT911_ADDR 0x5D #define GT911_STATUS 0x8009 #define GT911_TOUCH1 0x8010

| Register | R/W | Description | |-----------|-----|-------------| | 0x8100 | R | Gesture ID (0 = no gesture, 0x01 = move up, 0x02 = move down, etc.) | | 0x8101 | R | Number of touch points (0–5) | | 0x8102 | R | Large touch indicator / proximity | | 0x8103 | R | Reserved |