Gt911: Register Map [patched]

allows for continuous reading; it will automatically increment the address after each byte is sent STMicroelectronics Community GOODiX GT911 Programming Guide 2014-08-04_Rev.00

Before reading touch data, the host first reads this register. The of this register acts as a buffer status flag . If this bit is 1 , it indicates that fresh coordinate data is ready. If it's 0 , the data in the buffer is old or invalid.

This is the region the host MCU polls or responds to an interrupt to read when a finger touches the screen.

: Number of touch points actively detected (integer range 0 to 5). 0x814F – 0x8156 (Touch Point 1 Block) :

The GT911 memory map is cleanly compartmentalized into separate functional zones based on data persistence and write access. 3. Register Map gt911 register map

Read the Configuration registers starting at 0x8047 to see if factory defaults match your display orientation. Phase 2: The Reading Loop (Polling or ISR)

The HotKnot feature enables two GT911 chips to exchange data via capacitive coupling (by bringing two touchscreen-enabled devices together). These registers manage this process:

Just when the community thought they had the map memorized, Goodix released an update. The chip was now labeled (sometimes called the "Red" series firmware).

To effectively interface with the GT911, engineers must understand its . The register map defines how the host microcontroller (MCU) reads touch coordinates, configures sensitivity, and manages power states. This article provides a detailed breakdown of the GT911 register structure, critical register addresses, and how to use them. 1. Overview of the GT911 Register Map If it's 0 , the data in the buffer is old or invalid

utilizes the and RESET pins simultaneously during power-on initialization to choose between two unique 7-bit I2C addresses. This flexibility avoids address conflicts on shared hardware buses.

The GT911's internal register space is primarily divided into four key functional regions. The table below provides an overview of these address ranges.

A write-only register used to trigger immediate actions like reading coordinates, entering screen-off mode, or performing calibrations. Configuration Information (0x8047 – 0x8100):

Understanding how to read and write to these specific memory locations allows embedded engineers to properly initialize custom screen resolutions, configure touch thresholds, and accurately stream multi-touch coordinate data. Memory Map Architecture 0x814F – 0x8156 (Touch Point 1 Block) :

The GT911 is one of the most popular capacitive touch panel controllers in the embedded world. Found in everything from Raspberry Pi touchscreens and DIY handheld gaming consoles to industrial HMIs and automotive displays, its popularity stems from its robust noise immunity, support for up to 5 simultaneous touches, and low cost. However, for engineers and hobbyists alike, the true power of the GT911 lies hidden within its .

After reading coordinate registers, you by writing 0x00 back to the Touch Status Register ( 0x8140 ). If your driver omits this step, the GT911 will hold the interrupt line low permanently and refuse to populate subsequent touch frames. 4. Operational Command Register ( 0x4100 )

| Offset | Register | Description | | :--- | :--- | :--- | | +0 | 0x8010 | – A rotating ID (0-31). Same ID across frames = same finger. | | +1 | 0x8011 | X Coordinate (Low Byte) – Bits 7-0 of X position | | +2 | 0x8012 | X Coordinate (High Byte) – Bits 11-8 of X position (not 15-12!). Only 12-bit resolution. | | +3 | 0x8013 | Y Coordinate (Low Byte) – Bits 7-0 of Y position | | +4 | 0x8014 | Y Coordinate (High Byte) – Bits 11-8 of Y position | | +5 | 0x8015 | Touch Size (Low Byte) – Area of contact (roughness) | | +6 | 0x8016 | Touch Size (High Byte) – Typically not used for basic apps |

When starting up, the RESET pin must be pulled low for at least 100μ s to ensure a proper reset of the GT911.

The Goodix is a widely used 5-point capacitive touch controller found in 7" to 8" embedded displays. For developers, the register map is the critical blueprint for configuring the device and interpreting real-time touch data over I2C. Core Register Sections