ESP32-C6-Touch-AMOLED-1.64 是一款支持 2.4GHz Wi-Fi 6 和蓝牙 BLE 5 的微控制器开发板,配备 1.64 英寸高清 AMOLED 显示屏,可流畅运行 LVGL 等 GUI 程序。板载 IMU、Micro SD 卡槽及锂电池充电功能,外设资源丰富,同时引出 USB、UART、I2C 及多个 MUX_GPIO 接口,提供灵活扩展能力,是快速开发基于 ESP32-C6 的 HMI 应用的理想选择。


| 显示面板 | AMOLED | 显示尺寸 | 1.64英寸 |
| 显示分辨率 | 280×456像素 | 显示颜色 | 16.7M |
| 显示亮度 | 350cd/m² | 对比度 | 60000:1 |
| 通信接口 | QSPI | 驱动IC | CO5300 |
| 触控 | 支持 | 驱动IC | FT6146 |

本章节包含以下部分,请按需阅读:
初次接触 Arduino ESP32 开发,想要快速上手?我们为您准备了一套通用的 入门教程。
请注意:该教程使用 ESP32-S3-Zero 作为教学示例,所有硬件代码均基于其引脚布局。在动手实践前,建议您对照手中的开发板引脚图,确认引脚配置无误。
对于 ESP32-C6-Touch-AMOLED-1.64 开发板,Arduino IDE 需要安装 arduino-esp32 v3.2.0 以上版本。
请参考 安装和配置 Arduino IDE 教程 下载安装 Arduino IDE 并添加 ESP32 支持。
| 库或文件名称 | 说明 | 版本 | 安装方式 |
|---|---|---|---|
| LVGL | 图形库 | v8.4.0 | "离线"安装 |
LVGL 及其驱动库的版本之间存在较强的依赖关系。例如,为 LVGL v8 编写的驱动可能不兼容 LVGL v9。为确保示例能够稳定复现,推荐使用上表列出的特定版本。混合使用不同版本的库可能导致编译失败或运行时异常。

Arduino 示例程序位于 示例程序包 的 Arduino/examples 目录中。
| 示例程序 | 基础例程说明 | 依赖库 |
|---|---|---|
| 01_ADC_Test | 读取系统当前的电压值 | - |
| 02_I2C_QMI8658 | 打印 IMU 发出来的原始数据 | - |
| 03_SD_Card | 加载显示 SD 卡的信息 | - |
| 04_WIFI_AP | 设置为 AP 模式,可获取接入设备的 MAC 地址 | - |
| 05_WIFI_STA | 设置为 STA 模式,可接入 WiFi 获取 IP 地址 | - |
| 06_LVGL_Test | LVGL 例程 | LVGL |
【程序说明】
【硬件连接】
【代码分析】
adc_bsp_init(void):初始化 ADC1,包括创建 ADC 单次触发单元并配置 ADC1 的通道 0。adc_get_value(float *value,int *data):读取 ADC1 通道 0 的值,并根据参考电压和分辨率计算出对应的电压值存储在传入的指针指向的位置,如果读取失败则存储 0。adc_example(void* parameter):初始化 ADC1 后,创建一个 ADC 任务,该任务每隔 1 秒读取一次 ADC 的值,通过读取的 ADC 原始值计算出系统的电压。【运行效果】
程序编译下载完成,打开串口监控可以看到打印输出的 ADC 的值和电压,如下图所示:
插入 USB 测量的是系统电压,4.65V 左右,若想具体分析,可以查看原理图。

【程序说明】
【硬件连接】
【代码分析】
qmi8658c_example(void* parameter) :该函数初始化 QMI8658 设备,在无限循环中读取并打印加速度计、陀螺仪数据和温度数据,每 1 秒执行一次,旋转板子的过程中陀螺仪数据随着旋转越快而越大,加速度计会根据当前的位置计算出对应的加速度。【运行效果】
打开串口监控,可以看到打印输出的 IMU 发出来的原始数据(欧拉角需要自己转换),如下图所示:
数据每隔 1 秒输出一次,若需修改或参考,可直接进入 qmi 源文件进行操作。

【程序说明】
【硬件连接】
【运行效果】
点击串口监控设备,可以看到输出的 SD 卡的信息,practical_size 是 SD 卡的实际容量,如下图所示:

【程序说明】
【硬件连接】
【代码分析】
05_WIFI_AP.ino 文件找到 ssid 和 password ,然后手机或其他处于 STA 模式的设备即可使用该 ssid 和 password 连接到开发板。【运行效果】
烧录完程序,打开串口终端,如果设备连接成功热点之后,会输出该设备的 MAC 地址,如图:

【程序说明】
【硬件连接】
【代码分析】
wifi_init(void) :该函数用于初始化 ESP32 的 Wi-Fi 连接。它将 ESP32 设置为 Wi-Fi 站点模式,尝试连接到指定的 Wi-Fi 网络(通过 ssid 和 password )。如果连接成功,打印本地 IP 地址;如果在一定时间内(20 * 500 毫秒)未能连接成功,则打印连接失败信息。同时,函数还可以设置自动连接和自动重连功能。【运行效果】
芯片处于 STA 模式下成功连接 WIFI,并且点击串口监控设备,可以看到获取到的 IP 地址,如图:

【程序说明】
【硬件连接】
【代码分析】
lcd_bsp.c 文件中找到 #define EXAMPLE_Rotate_90 宏定义,取消注释该宏定义即可,软件旋转显示性能是不如硬件旋转的。【运行效果】
LVGL 例程对 RAM 和 ROM 要求比较高,所以必须要按照环境搭建的要求来配置程序烧录完成后,设备的运行效果如下:

为了让用户能够快速了解产品的各个功能,我们提供了出厂测试例程,方便客户了解各个接口的使用。除了 ESP32-C6-Touch-AMOLED-1.64 主机和配套的线材之外,为了能够运行例程,需要准备的器件如下:
若出现 无法识别端口 的情况,请进入 Boot 模式:
下载完成后,重新上电运行程序。
示例程序位于 示例程序包 的 Firmware 目录中。
选择出厂固件进行烧录esp32_c6_touch_amoled_1_64_factory.bin
烧录后屏幕效果如图所示:

拥有 WIFI 扫描和配网功能,点击 WIFI 界面 wifi config可以扫描二维码进行配网操作
调节背光
显示电池 ADC 电压
如果插入TF卡,会显示SD卡容量大小
产品关于界面,可以查看 MAC 地址

此示例展示在线获取本地天气数据,需要联网,否则无法获取天气信息
当前程序设置为间隔5S 获取一次天气信息

此示例展示获取陀螺仪数据并显示的功能

此示例展示图片显示功能
图片资源内置在程序中,左右滑动即可切换图片

本章节包含以下部分,请按需阅读:
初次接触 ESP32 ESP-IDF 开发,想要快速上手?我们为您准备了一套通用的 入门教程。
请注意:该教程使用 ESP32-S3-Zero 作为教学示例,所有硬件代码均基于其引脚布局。在动手实践前,建议您对照手中的开发板引脚图,确认引脚配置无误。
请参考 安装 ESP-IDF 开发环境。
对于 ESP32-C6-Touch-AMOLED-1.64 开发板,需要使用 ESP-IDF ≥5.5.2 以上版本。
以下内容以 Windows 系统为例,使用 VS Code + ESP-IDF 扩展 的方式进行开发。Mac/Linux 用户请参考 官方说明。
前往 ESP-IDF Installation Manager 下载 ESP-IDF 安装管理器。这是乐鑫最新推出的跨平台安装工具,下文将演示如何使用其离线安装功能。
在页面中点击 Offline Installer 标签,然后在筛选栏中选择 Windows 操作系统和你要安装的版本。

确认选择无误后,点击下载按钮。浏览器将自动同时下载两个文件:一个是 ESP-IDF 离线整合包(.zst),另一个是 ESP-IDF 安装器(.exe)。

请耐心等待两个文件下载完成。
下载完成后,双击运行 ESP-IDF 安装器(eim-gui-windows-x64.exe)。
启动后,可在右上角将界面语言切换为中文。

安装工具会自动检测同一目录下是否存在离线整合包。点击 从存档安装。

接下来,选择安装路径。建议使用默认路径;若需自定义,请确保路径中不包含中文或空格。确认无误后,点击 开始安装。

当看到如下界面时,表示 ESP-IDF 已安装成功。

建议同时安装驱动程序。点击 完成安装,然后点击 安装驱动程序。

下载并安装 Visual Studio Code。
安装时建议勾选 通过 Code 打开操作添加到 Windows 资源管理器文件上下文菜单,以便快速打开项目文件夹。
在 VS Code 中,点击侧边活动栏中的 扩展图标(或使用快捷键 Ctrl + Shift + X)打开 扩展 视图。
在搜索框中输入 ESP-IDF,找到 ESP-IDF 扩展并点击安装。

当 ESP-IDF 扩展版本 ≥ 2.0 时,扩展会自动检测并识别上述步骤中安装的 ESP-IDF 环境,无需手动配置。
| 示例程序 | 基础例程说明 | 依赖库 |
|---|---|---|
| 01_ADC_Test | 获取锂电池的电压值,并显示在屏幕上 | - |
| 02_I2C_QMI8658 | 打印 IMU 发出来的原始数据 | - |
| 03_SD_Card | 加载显示 SD 卡的信息,并进行读写测试 | - |
| 04_WIFI_AP | 设置为 AP 模式,可获取接入设备的 MAC 地址 | - |
| 05_WIFI_STA | 设置为 STA 模式,可接入 WiFi 获取 IP 地址 | - |
| 06_LVGL_Test | LVGL 例程 | - |
| 07_brookesia_app | brookesia 图片 APP 例程 | - |
【程序说明】
【硬件连接】
【代码分析】
bsp_display_start():初始化屏幕、触摸以及 LVGLbsp_display_backlight_on():打开背光bat_adc_init():初始化 ADC1,包括创建 ADC 单次触发单元并配置 ADC1 的通道 0。【运行效果】
程序编译下载完成,接入电池,可以看到电池电压显示在屏幕上如下图所示:

【程序说明】
【硬件连接】
【代码分析】
bsp_qmi8658_drv_init():初始化 qmi8658qmi8658_is_data_ready():读取是否有数据准备好qmi8658_read_sensor_data():读取陀螺仪数据【运行效果】
程序烧录完成后,设备的运行效果如下:

【程序说明】
【硬件连接】
【代码分析】
bsp_sdcard_mount():SPI 接口初始化 TF 卡tf_card_test():读写文件测试【运行效果】
点击串口监控设备,可以看到输出的 SD 卡的信息:

【程序说明】
【硬件连接】
【代码分析】
softap_example_main.c 文件找到 SSID 和 PASSWORD ,然后手机或其他处于 STA 模式的设备即可使用该 SSID 和 PASSWORD 连接到开发板。【运行效果】
点击串口监控设备,如果设备连接成功热点之后,会输出该设备的 IP 地址,:

【程序说明】
【硬件连接】
【代码分析】
station_example_main.c 文件找到 SSID 和 PASSWORD ,然后将其修改为当前环境中可用路由器的 SSID 和 Password 。【运行效果】
烧录完程序,打开串口终端,如果设备连接成功热点之后,会输出所获取的 IP 地址,如图:

【程序说明】
【硬件连接】
【代码分析】
bsp_display_start():初始化屏幕、触摸以及 LVGLbsp_display_backlight_on():打开背光lv_demo_widgets():加载 LVGL demo 程序【运行效果】
程序烧录完成后,设备的运行效果如下:

【程序说明】
LVGL 以及乐鑫 brookesia 组件实现类似 APP 的功能,此示例只加载图片 APP【硬件连接】
【代码分析】
为 brookesia 配置 LVGL 锁
LvLock::registerCallbacks([](int timeout_ms) {
esp_err_t ret = bsp_display_lock(timeout_ms);
ESP_UTILS_CHECK_FALSE_RETURN(ret == ESP_OK, false, "Lock failed (timeout_ms: %d)", timeout_ms);
return true;
}, []() {
bsp_display_unlock();
return true;
});
安装 APP
auto app4 = esp_brookesia::apps::Photos::requestInstance();
ESP_UTILS_CHECK_FALSE_EXIT(phone->installApp(app4),"start Drawpanel failed");
【运行效果】



开发板设计文件
ESP32-C6 芯片官方手册
数据手册
调试工具
周一-周五(9:30-6:30)周六(9:30-5:30)
手机:13434470212
邮箱:services04@spotpear.cn
QQ:202004841
