百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

我只想做一块ESP32开发板,却一不小心搞懂了LVGL和ESP-IDF

bigegpt 2025-02-14 22:22 13 浏览

今天在开源平台,看到了一个堪称慈善级别的开源项目。

——ESP32S3全功能开发板。

我为什么会说这是慈善级别的呢?

因为,作者不但将自己——从入门“ESP32开发板”到精通“开发”、“嵌入式”的学习过程开源了……

电路代码也都全开源了

没错!

这个开源工程,能让一个完全没接触过LVGL、ESP32的人,入门LVGLesp32s3espidf的使用!!

画一个模组,就进阶一步!而且接上电池就能用,成就感也达标!

这你能忍住不复刻咩?

反正,小编是忍不了啦!我一定要推荐这个项目给各位!希望能帮到你们~

PS:你可以一边看,一边猜猜——DIY一个的成本是多少。

文末会公布答案,看你猜的对不对!


工程描述

做了一个方便平时调试学习ESP32S3的开发板,电路代码全开源

它便携、易扩展、易复刻……还有很多"新颖"的功能。

本文会着重说明硬件功能复刻注意事项。软件部分直接看源码更好,已经开源了。


功能亮点

本章节着重说明5部分功能亮点。

包括:电源管理模块,USB模式切换、手机般的人机交互震动触觉、IO引脚自定义、关于LVGL……

1.电源管理模块

电源管理我使用了之前开源的AXP202模块

当时有很多小伙伴不知道怎么集成在自己的项目中

这块开发板的原理图会给大家参考,顺便还能熟悉电源管理模块的使用。

本项目的电源模块,可以提供全面的电源信息。

包括且不限于——各路可调的电压电流,多路ADC电压电流读取,电量库仑计USB限流可调的电池充电电压,全方位电池保护,长按开关机等。

其中RTC芯片使用BM8563,封装小,走时精准。

AXP202的LDO1为RTC电源,处于恒开启状态,可以为RTC芯片提供不间断电源,其BACKUP脚上可接纽扣电池等作为备用RTC电源。

2.USB模式切换

USB的hostdevice模式可以随意切换,host模式A口具有独立可控的供电。

USB部分使用了一颗WCH的高速差分模拟开关切换host与device模式。

由于电源管理芯片可以自主设置USB输入限流,因此省下一颗限流芯片。

当esp32s3控制模拟开关使USB引脚通路连接在如下A口上时,设备此时为host模式。

电源管理模块的exten引脚控制A口的电源使能,电源来自电源模块Ipsout引脚的电压,被一颗SY7088芯片升压至5V,以满足外部slave设备的供电需求实测5V 1A运行没有问题

下图为,通过USB虚拟串口,连接移远BG96-4G&GNSS模块,进行AT指令测试

当esp32s3控制模拟开关,使USB引脚通路连接在c口上时,设备此时为device模式。

当前模式下esp32s3作为设备,可接入电脑进行USB下载,或者作为模拟U盘等等。该功能可用于开发——无线存储设备,Wi-Fi 网卡,LTE MiFi,多媒体设备,虚拟键鼠等应用

3.手机般的人机交互振动触觉

一颗TI的DRV2605 ERM(偏心转子)&LRA(线性谐振)振动电机驱动芯片,具有多个内置振动效果库,包含上百种效果,只需要简单调用函数就可以达到手机般的交互触觉体验。

我也编写了综合测试例程用于体验屏幕触摸与振动反馈

例如可以做体感遥控器,游戏机等等。

4.IO引脚自定义

全功能全GPIO引出,可以轻易地衔接自定义模组模块,高自由度,功能全面,免去测试学习时的痛苦。全套资料,软硬件全开源,公开自己的学习过程。

5.lvgl

除了所有基础控件的例程以及官方测试例程以外。

①我移植了百问网lvgl的例程(2048,计算器,画板等等)。

②我提供了例程说明,比如:如何从官方图形化设计软件squareline移植代码,让它在esp32上跑起来。

6.其他

TF卡与屏幕共用SPI信号线,通过CS引脚切换。

可能会导致读写TF时屏幕卡顿。

之所以这样设计,是因为作为开发板,设计之初是为了添加尽量多的功能,剩下的引脚需要作为I2S使用。


板载资源


接口说明

由于希望兼容更多的屏幕类型与扩展更多的模块,因此屏幕并没有直接贴在主控板的背面,而是独立一块扩展板出来,主控板只引出接口。

主板上的排线只引出了SPI接口I2C接口部分电源

如果需要测试MCU/RGB/QSPI等接口屏幕时,需要使用到预留的2.54mm插针孔

为了匹配上下两块板之间的特殊距离,使用加长排针矮排母。这样上下都可安装模块还可以使用加长排针引出测试或者扩展别的功能,一举两得(使用TI开发板时得到的一个灵感)

排针买来需要做一下调整,如下图黑色垫块两端的尺寸:

主板正面安装排针(排针长的一端):

主板背面安装排针(排针短的一端,注意黑色垫块在这一面):

扩展定义:

2.54mm排针引脚定义如下:

16pin 0.5mm fpc翻盖排插引脚定义如下:

debug调试接口2.54mm插针引脚定义如下(主板背面):

自定义串口模块(GPS,九轴等)焊盘定义如下(主板背面):

自定义串口模块(GPS,九轴等)扩展焊盘定义如下(主板正面):


注意!

下文主要是围绕——焊接、组装、调试下载、电路设计图、开源资料下载入口的相关复刻说明


焊接

①由于两面都有元器件,所以优先焊接元件多的一面,也就是有esp32s3的一面(正面)。

正面焊接使用中温锡即可;摆完器件直接铁板烧或者风枪;排线座多上点焊油用烙铁三百多度拖一下就行了。

背面焊接一定要固定电路板,把正面器件架空。如果你使用风枪把握不住温度,那就用低温锡,以免把正面器件吹化移位了。

④焊接完一定要用万用表测量每一路电源对地是否短路,一定要测啊!第一次测试的时候一定别接电池!!!注意安全!


组装

①有电源模块的一面向下。

②有震动电机的一面贴电池。

③屏幕板朝上安装,四周用铜柱固定,中间层厚度为0.8mm。

④上为主板,下为屏幕板。

⑤左为屏幕板,右为主板,中间可以安装电池。


调试下载

用USB_power口供电后,axp202会直接启动,不需要按键开机,这时候测试一下各路电压是否正常。

下载方式有两种!

第一种:USB直接下载调试

①拔下USB_power口供电。

②用USB数据线连接USB_device口与PC。

第二种:USB转ttl&jtag下载调试

①使用下载器按照引脚标号连接主板的debug接口。

②之后务必使用USB_power口对设备供电。若接在USB_device口并且当前设备处于device模式时,会抢接口,导致设备反复重连。

此时电脑就会显示有USB设备接入。

③使用arduino或者espidf选择下载方式进行程序的编译烧录即可。

成功之后,会在串口监视器中得到调试信息,代表复刻成功。如果显示i2c通信不正常,检查单片机与电源模块的接线方式等等。


设计图

成本公布

相信看完成本公布之后,你会非常认可我在开头说的话——它,简直是慈善级开源项目!

这个开发板的DIY总成本是——80-90元左右。

如何?对于很多人,甚至是学生党来说,DIY一块这样的板子学习嵌入式和开发,还是很值的吧!

参考资料:

[1]https://oshwhub.com/mondraker/jiu-shi-ni-xiang-yao-de-nei-zhon#

— 完 —

嘉立创EDA·头条号

关注我,看一手优质开源项目

相关推荐

VS Code上也能玩转Jupyter Notebook,这是一份完整教程

点击上方"码农真经"关注,星标或者置顶22点24分准时推送,第一时间送达来源:公众号机器之心|编辑:真经君码农真经(ID:coder_experience)第115次推文图源:...

看开发一款AR眼镜产品都需要那些东东?

开发AR眼镜应用时,使用的操作系统和编程语言主要取决于目标设备和开发平台。以下是主流AR眼镜的开发系统和语言总结:一、操作系统WindowsHolographic设备:微软HoloLens系列特点:...

ONNX Runtime 黑科技曝光:一行 C++ 代码让 ResNet 起飞,GitHub 已爆星

1.ONNXRuntime简介ONNXRuntime(ORT)是由微软开发的高性能推理引擎,支持跨平台(Windows/Linux/macOS)运行ONNX格式的深度学习模型。其核心优势...

海康工业相机SDK开发介绍

这篇文章,我来介绍一下海康工业相机SDK的使用方法。如果是老手,你可以跳过,如果是新手,可以看看,欢迎拍砖要使用海康的工业相机SDK,要先下载机器视觉工业相机SDKV3.2.0版本Runtime组...

深圳机器视觉相机USB3.0数字相机及千兆网口相机有什么特点?

四元数机器视觉相机的目的是将通过镜头投影到传感器的图像传送到能够储存、分析和(或者)显示的机器设备上。那么深圳机器视觉相机USB3.0数字相机及千兆网口相机有什么特点?相信不少人是有疑问的,今天深圳四...

蚁利智慧工地展厅控制系统:多媒体交互软件及中控系统开发方案

来源:蚁利科技以下是一篇关于隆兰智慧工地安全体验数字展厅多媒体互动软件及中控系统开发技术的技术方案框架,包含核心代码示例和实现思路:---#隆兰智慧工地安全体验数字展厅开发技术方案##一、系统架构...

C#程序员在工控行业到底有没有立足之地

当年忐忑的从互联网卷到工控圈时也一脸懵逼,结果发现咱C#程序员在工控界简直是万金油!今天就用我踩坑几年的经验给你们盘一盘转行路线。一、能撸哪些岗位?上位机开发工程师(工控圈入场券):天天和PLC、传感...

C#一行代码搞定OCR

本文将介绍如何使用C#代码来实现OCR功能。一、在VS中新建一个控制台应用,选择.net框架,.net6.0~8.0均可。创建好的项目如下图,然后在配置管理器中修改活动解决方案平台为x64,以及项目平...

在 C# WinForms 中 OpenCvSharp 进行边缘检测:Laplacian 算子介绍

边缘检测在计算机视觉和图像处理领域中具有非常重要的作用,它是物体识别、特征提取的基础。Laplacian算子是一种经典且常用的边缘检测方法,它对噪声非常敏感,能够很好地检测到图像中的细节和边缘。本文...

C# OpenCV机器视觉:对位贴合

在热闹非凡的手机维修街上,阿强开了一家小小的手机贴膜店。每天看着顾客们自己贴膜贴得歪歪扭扭,不是膜的边缘贴不整齐,就是里面充满了气泡,阿强心里就想:“要是我能有个自动贴膜的神器,那该多好啊,就可以让顾...

C# OpenCV机器视觉:缺陷检测

在一个阳光明媚的早晨,阿强正准备享受他的一杯咖啡,突然接到了老板的电话。“阿强,我们的生产线出现了问题!有几个产品的质量不合格,客户投诉不断!你能不能想办法解决这个问题?”阿强一听,心中一紧,随即灵光...

CHAPTER II 第二章

CHAPTERIICHAPTERII第二章Iresistedalltheway:anewthingforme...

万字图文,将"类加载器"与"双亲委派机制"一网打尽

引子大家想必都有过平时开发springboot项目的时候稍微改动一点代码,就得重启,就很烦网上一般介绍2种方式spring-boot-devtools,或者通过JRebel插件来实现"...

Java:Java中的微服务

  如果你想使用Java中的云原生微服务快速实现大规模可扩展性,那么不需要重新发明轮子。一些创新工具可以帮助你。通过Java培训课程,在Java(软件开发中最常用的编程语言)方面打下坚实的基础,更好地...

"类加载器"与"双亲委派机制"一网打尽

引子大家好,我是呼噜噜,大家想必都有过平时开发springboot项目的时候稍微改动一点代码,就得重启,就很烦网上一般介绍2种方式spring-boot-devtools,或者通过JRebel插件...