汇报一下基于 CH32V003 + 电子墨水屏的超低功耗 Tag 续航测试结果

在 5 月份的时候,分享了一个基于沁恒 CH32V003 + 电子墨水屏的一个超低功耗时间 Tag 项目(见 电流15uA续航一年?CH32V003低功耗应用尝试 ),想借此学习了一下低功耗嵌入式开发,到上周,这个测试设备的终于支撑不住,已经差不多耗尽了电池。

回顾一直技术方案

之前的文章已经介绍了大概的技术方案,使用 CH32V003 作为主控 MCU,电子墨水屏作为显示设备,PCF8563 作为 RTC 时钟保存时间,CH32V003 使用待机模式,每 10 分钟唤醒一次,从 RTC 读取时间并刷新电子墨水屏,然后通过 PMOS 将电子墨水屏的供电断开。

在实际测试过程中,不刷新电子墨水屏且 CH32V003 处于待机状态时,电流大概是 17uA,在 CH32V003 唤醒且刷新屏幕时,电流大概是 15mA。回去看了下之前的文章,发现把刷新屏幕的电流算小了,原先用的 5mA,这次刷新期间使用 15mA 来计算。

综合刷新屏幕所使用的时间和次数,估算整体电流消耗大概是 142uA。

配合一个 450mAh 的电池,理论续航时间是 450 / .142 / 24 =132 天

RTC



阅读全文 »

那些年用 7 毛单片机 CH32V003 做过的 DIY 项目

在去年了解到沁恒 7 毛钱的 MCU CH32V003 之前,一直都是玩的乐鑫的 ESP32 系列,从 ESP8266 到 ESP32、ESP32-S2、ESP32-S3,从来没有为 MCU 的 Flash 和 RAM 资源发愁过。

但是在某些场景下,不需要这么强大的 CPU 能力,也不需要 Wi-Fi 或蓝牙连接能力,再用 ESP32 就有点杀鸡用牛刀了,刚好这个时候了解到了 CH32V003,首先就是价格相当便宜,然后在做一些简单的项目时,资源也足够使用了,并且外围电路太简单了,设计和焊接 PCB 都压力小了很多。

然后在相当长一时间里,做啥 DIY 项目,都会首先想 CH32V003 能不能用,经过了一年多,回头看也用它搞了不少好玩的东西。

注:当然现在沁恒也推出了价格相近,但是资源更丰富的 CH32V006 系列,65K Flash,8K SRAM,如果对 MCU 资源要求更高可以尝试一下。

USB 电流表 & USB PD 诱骗器

第一个尝试使用 CH32V003 的项目,学习了一下 I2C 通信、ADC、GPIO …

阅读全文 »

百元成本,DIY 一个 ESP32-S3 驱动的炫酷 IV-18 荧光管时钟

前段时间分享了 HV5812 驱动 IV-18 荧光管(见 使用 C 语言位运算和宏,编写一个可自由配置的 HV5812 + IV-18 荧光管驱动),这段时间把固件和外壳搞了搞,总算是差不多做完了,桌上又多了个吃灰的摆件 😃。

在这次开发过程中,固件也是继续尝试了使用 AI 编写,体验还不错,不再需要为配网 + Web 配置界面这些烦琐的事花太多时间了。

成品效果

 

元件选型

做这个 IV-18 桌面时钟,元件中主要的成本就是 IV-18 荧光管本身了,占了绝对的大头。

  • 荧光管:IV-18 真空荧光管透明基板版本,约 95 元
  • 主控:ESP32-S3 Zero 开发板,21 元
  • DCDC 升压芯片:XL6007,7 毛
  • LED 高压驱动:HV5812,6 元
  • 其他阻容:算 5 元吧

PCB 还是老样子,嘉立创每月两样免费打样,外壳 3D 打印也不算了,总成本大约在 130 …

阅读全文 »

Wokwi + VSCode 插件在线仿真 ESP32 更好用,值得一试

之前在《玩 ESP32 和 Arduino 的同学一定不能错过这个在线仿真网站》这篇文章中分享了 Wokwi 这个在线仿真平台,它支持 ESP32、STM32、树莓派等众多 MCU,还有相当丰富的外设库,在手边没有硬件设备时临时调试一下固件代码还是很方便的。

不过之前测试的是使用 Wokwi 的在线编译功能,作为免费用户,经常会碰到服务器编译超时错误,然后导致无法调试,又或者是固件项目依赖了太多的三方库,编辑项目相当麻烦。

这个时候想到了它还有一个 VSCode 插件,似乎可以在本地编译固件再进行仿真,尝试了一下发现还真挺好用,妈妈再也不用担心手边没硬件了。

操作演示

这里以我本地编译了一个 ArduinoBASIC 项目进行测试,可以看到整个使用过程还是相当流畅的,完全不用等待 Wokwi 的服务端编译时间了。

安装插件

要安装 Wokwi 的插件也很简单,直接在 VSCode 中的插件市场搜索 wokwi 或者通过以下链接安装即可:

https://marketplace.visualstudio.com/items?itemName=wokwi.wokwi-vscode

wokwi-vscode-simulator-1

在安装完成后,就可以通过 Command + Shift + P 呼出 VSCode 命令窗口,再搜索 wokwi 找到 Wokwi: Start Simulator 就可以开始使用了。

获取免费授权

在第一次使用 Wokwi …

阅读全文 »

使用 C 语言位运算和宏,编写一个可自由配置的 HV5812 + IV-18 荧光管驱动

有段时间觉得辉光管挺有意思,刚好也看到有类似尺寸的 LCD 小屏幕,就用 LCD 显示图片做了个 LCD 模拟辉光管时钟(见《AI 干了一半活,做个 LCD 模拟辉光管时钟》)。

不过这效果总是差点意思,后面看到有人分享的荧光管时钟,效果也还可以,但是价格相比辉光管要便宜不少,辉光管一个 60 元左右,荧光管 IV-18 8 位数字的就 90 的样子,就决定也来搞一个做个正经的荧光管时钟。

在立创开源平台找了一些开源项目进行参考,简单搞了个 IV-18 驱动板,基于 XL6007 DC-DC 升压 + HV5812 高压 LED 驱动芯片。在嘉立创打了样焊接测试也一次成功了。

HV5812 驱动拿了立创开源平台 lurt/iv18-vfd 的代码,用 ESP32-S3 也是可以直接驱动起来,能正常显示数字,不过在显示有些字符的时候会有一些异常,应该是跟我为了布线改动了 IV-18 和 HV5812 连接有关系。

HV5812 驱动板 PCB

为了保持面积紧凑,以及为了后续连接不同的 MCU 控制,把 XL6007 和 HV5812 …

阅读全文 »

使用 C 语言位运算操作,编写一个简单高效的单片机 OLED framebuffer 驱动

在之前做 CH32V003 系列项目时,总是会用到 0.96 寸 12864 OLED 屏幕,用来显示数据和进行用户交互操作。一开始是直接用了 CH32V003-GameConsole 项目中的 oled_min.c,不过那个是只用来显示一个位图,并且还不太能支持任意位置显示,因此就需要改造一番。

另外之前在做电流表项目时,也找了好多点阵字体,发现都是用了一个 DCfont 的结构体,如果能兼容这个格式,后续项目中使用不同字体时就可以很方便的替换了。

至于为什么要自己写这个库,是因为这个是在 CH32V003 上用的,16KB Flash + 2KB SRAM 的资源相当紧张,没办法使用 Arduino 中成熟的库,只好自己写一个,顺便学习一下。

字体及位图数据结构

DCfont 这个数据结构如下所示。

struct DCfont {
    uint8_t *data;
    uint8_t width;
    uint8_t height;
    uint8_t min, max;
};

刚好对于单色 XBMP 图像来说,在渲染时也差不多是需要相同的参数,刚好用同一个函数来同时兼容绘制 DCfont 和 XBMP 了。…

阅读全文 »

摸鱼小电脑能跑 MacOS 了,就是慢到怀疑人生

最近看到了 pico-mac-nano 项目,知道了 umac 这个模拟器,想着我的摸鱼小电脑终于可以跑 Mac OS 啦~

关于摸鱼小电脑可以看之前的分享《摸鱼小副屏,把它变成摸鱼小电脑~》。

之前已经尝试过用 qemu 运行 Mac OS 9,但是失败了,一直启动不起来,可能是系统资源不够,这次用 umac 模拟器来跑 System 7.0 总归应该没啥问题吧 🙈。

然后尝试了一下,果然还是可以的,能在香橙派 H616 上通过 umac 把 System 7.0 跑起来,但是速度相当相当慢,慢到怀疑人生。

有多慢,可以看看视频……

不过也算是完成一个小小目标了,记录分享一下过程,有想玩的朋友可以参考一下。

编译 umac 模拟器

umac 项目介绍

项目地址:https://github.com/evansm7/umac

项目介绍:

This is a minimalist Apple Macintosh 128K/512K emulator. It



阅读全文 »

更现代的嵌入式开发工具?面向多平台的全集成 RISC-V IDE – MounRiver Studio II 上手体验

最近一段时间都在用沁恒家的 MCU 开发一些小玩具,例如 CH32V003、CH585 等。之前开发的项目,工程和工具链都是使用的 Visual Studio Code + PlatformIO 插件来管理的,整体用起来也还算方便。

前段时间发现沁恒发布新版本的 MounrRiver Studio II框架换为了 Visual Studio Code,另外更重要的是,除了 Windows/Linux 系统外,还支持 macOS 操作系统 啦~这不得赶紧下载体验一番。我也在网上搜索了一下,本身 MCU 厂商提供 IDE 的就不多,基于 Visual Studio Code 开发并且集成全套 RISC-V 工具链就更少了,不得不说沁恒在开发者生态的建设上还是花了功夫的。

这次就拿之前开发过的基于 CH32V003 的 UVLED 紫外固化灯固件项目,来试试新 MounrRiver Studio II 好不好用~

PS. 为了打字方便 MounrRiver Studio …

阅读全文 »

玩 ESP32 和 Arduino 的同学一定不能错过这个在线仿真网站

玩 ESP32 和 Arduino 的时候,经常会碰到手边没有对应的板子或者元器件的情况,这个时候又想测试固件的话,就非常麻烦了。

这个时候在线仿真服务 Wokwi 就可以派上用场了。

我还是在之前找一些开源项目的时候接触到了 Wokwi 这个仿真服务,用了一下感觉还挺方便,特别是在想快速验证一个代码是否有效的时候。

Wokwi 相比我刚开始用的时候,支持了更多的平台,已经不再是只有 ESP32 相关的开发板了,还有 STM32、树莓派 Pico 之类的。现在似乎发展还挺好,搞了不少服务出来,支持 VS Code 和 CI 什么的。

另外如果不喜欢在线工具,也可以看看之前分享的电脑上模拟器《Arduino玩家必备,SimulIDE电路模拟器》,外设可能不如 Wokwi 丰富,但是也基本够用。

Wokwi 优势

相比于自己购买硬件、使用面包板搭建测试电路,Wokwi 还是有一定优势的,在原型验证阶段,可以省掉不少事情。

  • 成本门槛: 开发板、元器件、传感器、工具(万用表、示波器)的购买成本。
  • 时间等待: 采购、物流、焊接、组装耗费大量时间。
  • 物理限制: 场地、电源、设备携带不便;易损坏(短路、烧芯片)。
  • 试错成本高: 代码错误可能导致硬件损坏。
  • 协作困难: 团队成员/师生间共享和复现硬件环境复杂。
  • 快速迭代难: 想法验证需要反复搭建电路,效率低。

当然,作为一个服务网站,也要生存,在使用过程中,可能还是会时不时碰到需要付费才能获得更好体验的情况 🙈,例如创建私有工程、编译时间长等问题,都需要付费。

整体界面

Woki …

阅读全文 »

AI 干了一半活,做个 LCD 模拟辉光管时钟

这是一个为了一碗醋包了一盆饺子的故事。

之前为了测试 AI 写单片机代码能不能行,用 Manus 测试了一下,过程可以看这篇 《AI 编程在嵌入式开发中能用吗?体验 Manus 编写 ESP32 固件》,简单来说:能用。

这不为了让 AI 写出来的固件有用武之地,得把整个硬件开发完~

不过好在整个项目比较简单,而且单片机 ESP32-S3 直接用了现成的模块,PCB 几乎没有什么复杂的线路,就 LCD 的 PCB 有几个小一点的元件,主板 PCB 全都用了 2.54mm 的插件。

AI 生成数字图片

之前只介绍了固件是用 Manus 生成了,但是实际上,每个屏幕展示的模拟辉光管效果的数字图片,也是让 AI 生成的。

不过这次是让 ChatGPT 生成的,现在这些 AI 工具,简单是没有设计能力的工程师的福音,想要啥效果,吩咐 AI 就行了 😃。

提示词:

请生成辉光管效果的10个数字,包含数字 0 1 2 3



阅读全文 »