在合宙的 ESP32-C3 开发板(如 Air101/Air103)上使用 LVGL(Light and Versatile Graphics Library)进行图形界面开发,可以按照以下步骤操作:
1. 环境准备
-
硬件:
- 合宙 ESP32-C3 开发板(如 Air101/Air103)。
- 支持的显示屏(如 SPI 或 I2C 接口的 TFT 屏幕,常见型号如 ST7789、ILI9341 等)。
- 触摸屏(可选,如 XPT2046 触摸芯片)。
-
软件:
- 开发框架:推荐使用 Arduino IDE 或 ESP-IDF(根据项目需求选择)。
- LVGL 库:通过 Arduino 库管理器安装,或从 LVGL 官方 GitHub 手动集成。
2. 硬件连接
根据屏幕型号连接 ESP32-C3 的 SPI/I2C 引脚,例如:
-
SPI 屏幕(以 ST7789 为例):
MOSI -> GPIOxx SCLK -> GPIOxx CS -> GPIOxx DC -> GPIOxx RES -> GPIOxx BL -> GPIOxx(背光控制) -
I2C 触摸屏(如 XPT2046):
SDA -> GPIOxx SCL -> GPIOxx IRQ -> GPIOxx(中断引脚,可选)
3. 配置 LVGL
Arduino 环境:
- 安装 LVGL 库:通过 Arduino IDE 的库管理器搜索并安装
lvgl。 - 安装 显示屏驱动库:如
TFT_eSPI或Adafruit_GFX。 - 修改配置文件(以 TFT_eSPI 为例):
- 在 Arduino 库目录中找到
TFT_eSPI/User_Setup.h,根据屏幕型号和引脚定义修改宏。
- 在 Arduino 库目录中找到
ESP-IDF 环境:
- 将 LVGL 作为组件添加到工程中,配置
menuconfig设置 SPI/I2C 参数。 - 编写屏幕驱动代码(或使用现成驱动)。
4. 示例代码(Arduino)
#include <lvgl.h>
#include <TFT_eSPI.h>
TFT_eSPI tft = TFT_eSPI();
// 定义 LVGL 显示和输入设备回调函数
void my_disp_flush(lv_disp_drv_t *disp, const lv_area_t *area, lv_color_t *color_p) {
uint32_t w = area->x2 - area->x1 + 1;
uint32_t h = area->y2 - area->y1 + 1;
tft.startWrite();
tft.setAddrWindow(area->x1, area->y1, w, h);
tft.pushColors((uint16_t *)color_p, w * h, true);
tft.endWrite();
lv_disp_flush_ready(disp);
}
void setup() {
// 初始化屏幕
tft.begin();
tft.setRotation(3);
tft.fillScreen(TFT_BLACK);
// 初始化 LVGL
lv_init();
static lv_disp_draw_buf_t draw_buf;
static lv_color_t buf[TFT_WIDTH * 10];
lv_disp_draw_buf_init(&draw_buf, buf, NULL, TFT_WIDTH * 10);
// 注册显示驱动
lv_disp_drv_t disp_drv;
lv_disp_drv_init(&disp_drv);
disp_drv.flush_cb = my_disp_flush;
disp_drv.draw_buf = &draw_buf;
lv_disp_drv_register(&disp_drv);
// 创建简单界面
lv_obj_t *label = lv_label_create(lv_scr_act());
lv_label_set_text(label, "Hello, 合宙 ESP32-C3!");
lv_obj_center(label);
}
void loop() {
lv_timer_handler();
delay(5);
}
5. 常见问题
- 屏幕无显示:检查引脚定义、屏幕初始化代码及背光控制。
- LVGL 卡顿:减少界面复杂度,或增大
LV_MEM_SIZE(在lv_conf.h中配置)。 - 触摸不响应:确认触摸屏驱动和中断配置。
6. 资源推荐
- LVGL 中文文档:https://docs.lvgl.io/master/zh/index.html
- 合宙官方文档:https://wiki.luatos.com
- 示例工程:GitHub 搜索
esp32-lvgl或参考合宙社区案例。
如有具体屏幕型号或问题,可进一步提供细节,帮你排查!
深入剖析esp32c3的系统底层启动
riscv底层的爱好者来说,跳过ESP-IDF框架,直接像使用单片机一样去使用ESP32C3更加有意思。本文的目的就是理解ESP32C3的裸机开发流程,像玩单片机一样去使用这个riscv的mcu。 2.esp32c3分析对于esp32c3玩法,从玩家来看可能更加类似ESP8266,相比8266,可以做如下表格
2021-07-06 10:38:53
新品上市 | 合宙ESP32-S3开发板
穿越万水千山,奔赴与工程师朋友的约定——合宙ESP32-S3超值MCU开发板,来了!1合宙ESP32-S3开发板简介合宙CORE-ESP32S3是基于乐鑫ESP32-S3芯片进行设计的一款MCU
2023-01-13 15:53:51
合宙ESP32-S3开发板特性解读
穿越万水千山,奔赴与工程师朋友的约定——合宙ESP32-S3超值MCU开发板,来了! 1 合宙ESP32-S3开发板简介 合宙CORE-ESP32S3是基于乐鑫ESP32-S3芯片进行设计的一款
2023-01-11 18:45:13
【开源资料】使用ESP32C3超简单制作迷你四足机器人
主板隐藏到了机壳内,电池使用16240锂电池。 esp32c3使用合宙的9.9的esp32c3开发板,大大的简化了电路的设计,需要自行焊接的零件只有十几个,非常容易。 遥控软件使用微信小程序开发,由于
旧念
2023-09-21 11:15:37
便宜好玩,量产无忧!合宙ESP32-C3开发板超值简约款来了
总被抢断货的ESP32-C3核心板,原是合宙回馈行业的一个福利。不仅深受广大开发爱好者的喜爱,“十块钱不白花,一年四季都用它”;也常有行业客户询问:量产应用可以做到9.9元吗?很有挑战,但合宙给出
2022-06-16 10:33:14
基于ESP32C3的智能小车设计
你有没有想过,从零开始亲手制作一辆坚固耐用的遥控越野车?今天,小编就带你走进一个融合机械、电子与物联网的精彩DIY项目——一款由 Seeed Studio XIAO ESP32C3 强力驱动的 3D打印4x4 RC漫游车!
2025-06-04 11:11:29
关于esp32c3的i2c问题
最近在搞一块合宙的esp32c3的系统板,在做i2c驱动oled0.96显示屏时发现,无论你发什么数据,(用逻辑分析仪)分析发现它都只能输出器件的地址并且很多(库采用的是乐鑫的idf,开发环境采用
jf_88900595
2022-08-12 12:54:42
新鲜出炉!LuatOS墨水屏+ESP32C3开发板,自制在线电纸书
ESP32C3开发板,我们就可以用LuatOS驱动这块墨水屏来做一个在线电纸书了。-LuatOS在线电纸书-接下来,让我们一起看看制作LuatOS在线电纸书的要点
2022-07-19 17:53:49
快来!炫酷好玩的像素时钟&音乐频谱,合宙ESP32-C3开发板创意DIY分享
这样的季节,有人赞秋叶之静美,有人叹秋风之悲凉,我们的工程师朋友则是连连催货忙~刚到手 合宙CC表 ,又来催上市一年多仍风头不减的 “DIY神器” 合宙ESP32-C3开发板。 今天不仅补货到了
2023-10-20 14:55:03
合宙ESP32S3-WEB页面显示摄像头图像介绍
合宙ESP32S3核心板是基于乐鑫ESP32-S3进行设计的一款核心板,尺寸仅有21mm*51mm,板边采用邮票孔设计,方便开发者在不同场景下的使用。
2023-04-14 09:39:58
合宙ESP32C3开发板烧录失败问题
\"合宙ESP32C3开发板\",用VScode + ESP-IDF烧录失败->设备不识别此命令 请问有人遇到过这种烧录失败的问题吗?同个板子同个固件前几次烧录还是
jf_21833741
2023-05-09 19:49:34
炫酷好玩的像素时钟&amp;音乐频谱,合宙ESP32-C3开发板创意DIY分享
这样的季节,有人赞秋叶之静美,有人叹秋风之悲凉,我们的工程师朋友则是连连催货忙~刚到手合宙CC表,又来催上市一年多仍风头不减的“DIY神器”合宙ESP32-C3开发板。今天不仅补货到了,还要特别
2023-10-21 08:04:56
使用idf开发esp32c3,使用i2c外设时报错怎么解决?
过多个,包括4、5、6、8、9,都是如此。实验使用的esp32c3为合宙版。后来又使用安可信的esp32(非c3),额外编写esp32工程,现象依然如此。实验使用的idf为v4.4-release分支。开发环境
keith3000
2023-02-13 07:27:22
基于XIAO ESP32C3的智能家居四路控制器设计
今天小编给大家带来的是印度的Maker Technolab creation的基于ESP32C3的智能家居四路控制器,该控制器可以通过传统的手动开关按钮、红外遥控器、智能手机进行控制,同时手机上也可以实时显示温度和湿度,可以实现无缝衔接的智能家居体验。
2024-01-02 10:53:24
ESP32C3 I2C no ack无应答怎么解决?
过多个,包括4、5、6、8、9,都是如此。实验使用的esp32c3为合宙版。后来又使用安可信的esp32(非c3),额外编写esp32工程,现象依然如此。实验使用的idf为v4.4-release分支。开发环境
60user157
2023-03-07 08:45:57
esp32c3连接wifi和tcp服务器速度能否加快,esp8266 速度在5-7s左右,esp32c3能否加快?
你好我想使用esp32c3开发低功耗设备,由外部电子开关控制1小时检测一次传感器并上传,考虑到芯片功耗我有几个疑问;1:esp32c3 在160mhz 80mhz下的正常工作电流是多少也
Lucia_nie
2023-02-17 06:44:57
基于nanoESP32-C3开发板用ESP32-c3下试跑Zephyr
esp32c3编译和下载 编译环境的搭建和esp32差别不大,参考文章Zephyr ESP32环境搭建即可,主要差别是toolchain的位置,修改环境变量即可 1 export ESPRESSIF_TOOLCHAIN_PATH=“${HOME}/.espr
2021-08-09 09:10:37
【AI技术支持】ESP32C3 开发板在Linux环境下,进行JTAG 调试演示
启明云端/01JTAG调试工具本教程主要演示ESP32C3开发板在linux环境下,通过vscode的ESP-IDF插件使用JTAG调试工具。ESP32C3不但内置了USB-JTAG,还内置了
2024-10-17 08:01:13
请问esp32C3可以做蓝牙mesh网关吗?
esp32c3可以做蓝牙mesh网关吗?,我现在用2个esp32c3做蓝牙mesh,另外一个esp32c3做网关,能互相通讯,这个是否可以实现了?
小芳
2023-02-10 08:14:05
请问esp32C3可以做蓝牙mesh网关 吗?
esp32c3可以做蓝牙mesh网关吗?,我现在用2个esp32c3做蓝牙mesh,另外一个esp32c3做网关,能互相通讯,这个是否可以实现了?
60user157
2023-03-06 07:03:54
【DFRobot Beetle ESP32-C3开发板试用体验】刷写micropython固件
对esp32-c3的支持,注意选择USB固件( DFRobot Beetle ESP32-C3是通过内置usb虚拟串口的 ): 安装乐鑫烧写环境,烧写命令:esptool.py --chip esp32c3
2022-11-28 14:02:15
esp32c3不能操纵RTC引脚而只能保持它们或被唤醒吗?
我想在存根函数中操作(输入,输出)我的ESP32C3的RTC PINS。但我开始怀疑 esp32c3 是否有能力做到这一点……确实,在功能存根中,我尝试了以下方法但没有成功:[size=150
dsdfshf
2023-04-14 07:30:09
esp32-s3芯片esp-idf-v4.4-dev编译带LVGL工程出错怎么解决?
esp32s3。然后编译以往esp-idf-v4.2.2能正常编译的带LVGL工程,出现如下错误:......................................[72/86
DH9527
2023-03-03 08:30:46
esp32c3不能操纵RTC引脚而只能保持它们或被唤醒吗?
我想在存根函数中操作(输入,输出)我的ESP32C3的RTC PINS。但我开始怀疑 esp32c3 是否有能力做到这一点……确实,在功能存根中,我尝试了以下方法但没有成功:[size=150
tulin
2023-03-02 08:32:10
开源 | 合宙ESP32开发板+WS2812+触摸屏,自制创意&quot;像素盒子&quot;,还让ChatGPT写代码!
便宜、好用、颜值高!合宙ESP32C3系列MCU开发板上市一年多来,不仅是工程师朋友可以人手N个的宝藏开发板,更成为许多行业客户降本增效的量产利器。工程师朋友的奇思妙想,常赋予小小开发板独特
2023-06-09 09:52:38
ESP32C3 SPIFFS始终mount失败的原因?
使用的是arduinoesp32 2.0.3 sdk用的是esp32的 SPIFFS -> SPIFFS_Test例程使用的是合宙的esp32-c3的开发板15:51:47.177 ->
wufan931111
2023-02-14 08:15:40
开源 | 合宙ESP32开发板+WS2812+触摸屏,自制创意"像素盒子",还让ChatGPT写代码!
便宜、好用、颜值高!合宙ESP32C3系列MCU开发板上市一年多来,不仅是工程师朋友可以人手N个的宝藏开发板,更成为许多行业客户降本增效的量产利器。 工程师朋友的奇思妙想,常赋予小小开发板独特
2023-06-05 17:00:01
esp32-s3芯片esp-idf-v4.4-dev编译带LVGL工程出错怎么解决?
esp32s3。然后编译以往esp-idf-v4.2.2能正常编译的带LVGL工程,出现如下错误:......................................[72/86
Tussi
2023-03-08 06:55:30
使用ESP32C3,用ESP-IDF编译bt_hid_mouse_device例程失败报错如何解决?
补充:配置为esp32,是可以编译成功的,而在设置为esp32s3和esp32c3之后编译会出现以下报错(编译bt_hid_mouse_device例程)。而在使用其他例程是可以编译成功并烧录
麻酱
2023-02-14 08:27:31
