
基于ESP32C3的ARGB控制器硬件设计
前言
最近在做桌面氛围灯和灯效控制相关的东西,需要一块稳定的WS2812B控制器。其实市面上有很多完整的基于Arduino或其他方案的控制器,但是都比较闭源,灯效不可控、协议封闭、刷新率一般的问题
所以干脆自己从硬件到软件再到上位机自己做一块板子,也是挑战一下自己的全栈设计能力(牛马能力(bushi))
也是画的第一块板子(((
整体方案
第一版
其实整个结构非常简单,就是最普通的: ESP32-C3 → 74HC245电平转换和放大 → WS2812B
供电则是直接采用 Type-C 16pin 供电,通过上下拉 CC 引脚,作为 Sink 设备协商默认电流,直接输出标准 5V。但是电源部分设计不是很合理,一个是电源适配器电流有限,第二个是走线也只有一根线,电流拉不起来,后面可能改成四层板+PD诱骗,实现更大的负载输出。
板载CH340X和ESP32C3的自动下载电路,实现基于DTR和RTS的自动串口下载,个人不会用JTAG和其他调试方式,只会用串口(bushi)
MCU用的ESP32C3 WROOM-02N4模组,单R核,160M主频,提供400KByte SRAM和2MByte flash,未来可能加入TF卡,用来跑外置动画
不过总而言之,跑肯定是能跑的(
PCB、原理图和工程文件
本项目自豪的使用嘉立创EDA进行PCB和原理图绘制,并自豪的使用嘉立创打板服务,本项目工程文件基于嘉立创EDA生成
链接: https://pan.baidu.com/s/1mRoOt9Ii_9jINK_Nv561vw?pwd=f35d 提取码: f35d
第二版
这里用来预留第二版修改方案哈哈哈,因为第一版硬件只能说能用,电流、阻抗方面有很大问题,板子密度也不够高
固件、上位机
固件采用标准ESPIDF进行开发,通过查半表对RGBByte转换为SPIBit,并经由硬件SPI和DMA发送出去
因为不怎么会写安卓/IOS软件,这边上位机还是采用最熟悉的Python+PySide6方案进行开发(bushi







