ft5336_driver

A MicroPython I2C driver for FT5336 capacitive touch controllers

1.0.0 leezisheng Updated At: 2026-07-21
Install Package
Local Install
mpremote mip install https://upypi.net/pkgs/ft5336_driver/1.0.0
Remote Install
mip.install("https://upypi.net/pkgs/ft5336_driver/1.0.0")
Version Selection
README

简介

MicroPython I2C 驱动,用于 FT5336 电容触摸控制器芯片。该驱动基于 Adafruit CircuitPython FT5336 驱动改编,移除了 CircuitPython 专用依赖,仅使用 machine.I2C 原生接口。支持多点触摸检测、坐标变换(翻转/交换)和芯片 ID 校验功能。

主要功能

  • 支持最多 5 个触摸点同时检测
  • X/Y 轴独立翻转和交换
  • 芯片厂商 ID 和芯片 ID 自校验
  • 纯 I2C 通信,不依赖任何显示驱动或第三方兼容层
  • 内置 I2C 重试机制,增强通信可靠性
  • 调试日志开关,方便开发调试

硬件要求

  • 支持 MicroPython 的微控制器(ESP32、ESP32-S3、RP2040 等)
  • FT5336 电容触摸控制器(如 Adafruit 3.5" TFT 320x480 触摸屏 breakout)
  • I2C 总线连接线

软件环境

  • MicroPython v1.23.0 或更高版本
  • 无额外固件依赖

文件结构

ft5336_driver/
├── code/
   ├── ft5336.py    # 驱动核心文件
   └── main.py      # 测试示例文件
├── README.md        # 本文件
├── package.json     # 包描述文件
└── LICENSE          # 许可证文件

文件说明

文件 说明
code/ft5336.py FT5336 触摸驱动核心类,提供触摸点检测、坐标读取和坐标变换功能
code/main.py 测试示例代码,演示 I2C 扫描、设备初始化和触摸数据轮询

快速开始

I2C 接线表

FT5336 引脚 MCU 引脚 说明
VCC 3.3V / 5V 电源正极
GND GND 电源地
SCL GPIO 22 I2C 时钟线
SDA GPIO 21 I2C 数据线
INT GPIO 15(可选) 触摸中断引脚(本驱动不使用中断)

代码示例

from machine import I2C, Pin
from ft5336 import FT5336

# 初始化 I2C 总线
i2c = I2C(0, scl=Pin(22), sda=Pin(21), freq=400000)

# 创建 FT5336 驱动实例
touch = FT5336(i2c, width=320, height=480)

# 轮询触摸点数据
while True:
    points = touch.touches()
    if points:
        print(points)
    time.sleep_ms(100)

注意事项

  • 默认 I2C 地址为 0x38,请确认设备地址与硬件一致
  • 初始化时默认校验芯片 ID(0x79)和厂商 ID(0x11),若不需要可设置 verify=False
  • 坐标变换(翻转/交换)在读取触摸数据时实时执行,设置后立即生效
  • 本驱动为纯 I2C 触摸驱动,不包含显示功能,需配合独立的显示驱动使用
  • I2C 总线频率建议不超过 400 kHz

版本记录

版本 日期 说明
1.0.0 2026-07-19 初始版本,基于 Adafruit CircuitPython FT5336 适配 MicroPython

联系方式

许可协议

MIT License

Copyright (c) 2023 Liz Clark for Adafruit Industries

Modified and maintained by FreakStudio

详见 LICENSE 文件。

File List
Name Size Type
LICENSE 1.1KB File
README.md 2.8KB Doc
ft5336.py 20.3KB Python
main.py 2.8KB Main
package.json 493B Conf