FT6336 at a glance
Item | Value | Source |
|---|---|---|
Touch points | 2, or 1 plus gestures | FT6336G datasheet |
I2C address (7-bit) | | Adafruit and Espressif drivers |
I2C SCL | 10 to 400 kHz | FT6336G datasheet |
Report rate | Up to 100 Hz | FT6336G datasheet |
Operating voltage | 2.8 V to 3.6 V | FT6336G datasheet |
IOVCC | Independent, 1.8 V to 3.6 V | FT6336G datasheet |
Operating temperature | −40 °C to 85 °C | FT6336G datasheet |
The datasheet's features list gives 2.8 V to 3.6 V, while its DC table lists VDDA and VDD3 as 2.8 V to 3.3 V. Design for the narrower range unless your module supplier says otherwise.
Which FT6336 do you have?
Part | Channels | Package | Panel size |
|---|---|---|---|
FT6336G | 31 | QFN 5×5, 40 pins | Up to 4.0″ |
FT6336DMB | 36 | QFN 6×6, 48 pins | Up to 4.5″ |
These figures come from two FocalTech datasheets: the FT6336G v1.0 and the FT6X36 series v0.3. We did not find a datasheet for the FT6336U, so what we say about it comes from driver source code.
Reading a touch
ESPHome's FT63x6 source reads these registers:
Register | Contents |
|---|---|
| Device mode (ESPHome writes |
| Number of touches, low 4 bits |
| Event in bits 7:6, X high bits in bits 3:0 |
| X low byte |
| Touch ID in bits 7:4, Y high bits in bits 3:0 |
| Y low byte |
| Touch weight |
| Touch threshold |
| Active touch rate (ESPHome writes |
| Chip ID |
The second touch uses the same layout 6 bytes higher, starting at 0x09. ESPHome ignores a touch count of 0x00 or 0xFF.
Reset and power-on timing
From the FT6336G datasheet:
- Reset pulse (Trst): at least 5 ms low on RSTN.
- After reset (Trsi): at least 300 ms until it starts reporting points.
- After power-on (Tpon): at least 300 ms until it starts reporting points.
- Before power-on: hold RSTN low. INT and the I2C lines are also advised to be low.
- Power cycling: let the supply fall below 0.3 V for more than 5 ms.
Drivers differ here. Linux's edt-ft5x06 driver waits 300 ms after releasing reset, which matches the datasheet. ESPHome's reset routine holds reset low for 10 ms and adds no wait after releasing it. Espressif's FT5x06 driver holds reset for 10 ms, then waits 10 ms.
Operating modes and I2C
The datasheet lists three modes:
- Active: scans at a default 60 frames per second, and the host can change this.
- Monitor: scans at a default 25 frames per second. A touch returns it to Active. The datasheet says "the serial port is closed" in this mode.
- Hibernation: power-down mode that needs a reset or wake-up signal from the host.
The Monitor mode note can matter for I2C scans on an idle panel. We have not measured this ourselves, so treat it as something to rule out: touch the panel while you scan.
Symptoms and fixes
Symptom | Check |
|---|---|
Nothing at | Confirm RSTN is high, wait 300 ms after reset, then touch the panel while you scan. Then check SDA, SCL and pull-ups. |
ESPHome logs "FT6336U touch driver failed to start" | ESPHome read |
Library rejects the chip ID | IDs differ by part: Adafruit lists |
Touch too sensitive or not sensitive enough | Register |
A third finger is not reported | This is the chip's limit: the datasheet and the Linux driver both give 2 points. For more points, see GT911. |
Driver support
- ESPHome: use the
ft63x6platform with optionalreset_pinandinterrupt_pin. I2C must be configured. Its docs name the WT32-SC01 board, and its source logs FT6336U. - Linux: there is no FT6336 entry. The closest is
focaltech,ft6236in the edt-ft5x06 driver, with 2 points and requiredcompatible,regandinterruptsproperties. We have not tested this with an FT6336. - ESP-IDF: the
esp_lcd_touch_ft5x06driver uses address0x38and 100 kHz by default. Its source covers up to 5 points and does not name the FT6336, so check your part before you rely on it. - Arduino: Adafruit's FT6206 library defines FT6336U's chip ID and defaults to
0x38.
Related controllers
For one-finger touch on round displays, see CST816S. For larger panels, see GT911. The M5Stack Core2 is one board that uses an FT6336U.
Guides & comparisons
FT6336 troubleshooting & FAQ
What is the FT6336 I2C address?
Adafruit and Espressif drivers use 0x38 (7-bit), and Linux uses the same value in its FT5x06-family binding example. The FT6336G datasheet we read does not state the address, so confirm it with an I2C scan on your board.
Why does my FT6336 not respond on I2C?
Check that RSTN is high, then wait at least 300 ms after reset: that is the datasheet minimum before it reports points. The datasheet also says the serial port is closed in Monitor mode, so touch the panel and scan again before you suspect the wiring.
What is the difference between FT6336, FT6336G and FT6336U?
FocalTech’s datasheets list the FT6336G with 31 channels for panels up to 4.0″, and the FT6336DMB with 36 channels for panels up to 4.5″. We did not find a datasheet for the FT6336U. Adafruit’s library gives it chip ID 0x64, the same as the FT6236U.