这个番茄钟,续航长达13天!开源了,新手也能做!

\n

工程名称:FocusTimer低功耗专注时钟

工程作者:vrxiaojie

这,是一个“纯粹”的低功耗专注时钟!

 

它最大的亮点是——低功耗做得非常扎实!是真正能用,且能用很久的时钟。

那,作者是怎么设计的?用了什么方案?

我们一起研究研究!

这个番茄钟,续航长达13天!开源了,新手也能做!

*在那之前,我会先简单介绍一下这个项目的具体功能,文末还会附上开源网址方便大家自行深度学习了解!

功能亮点

支持番茄钟功能,科学学习~

这个番茄钟,续航长达13天!开源了,新手也能做!

支持翻转灭屏、翻转开始计时。当你下定决心学习,只需要翻转一下,即刻开始,节约精力做更重要的事!

能监测环境空气质量:二氧化碳浓度过高,会提醒你该去开窗透气,别焊接了(这个提醒仅是举例,方便理解,不一定真有提醒功能,但各位大佬可以自行加上嘿嘿)

极低功耗:充一次电,连续用番茄钟功能,能续航13天+;仅当时钟用,每分钟刷新一次,续航最高56天。

这个番茄钟,续航长达13天!开源了,新手也能做!

支持音频提示与SD卡音乐播放

关机后,也能保持时间设置

触控交互:AW96103电容触摸实现 3 个触摸按键。

这个番茄钟,续航长达13天!开源了,新手也能做!

蓝牙通信&手机APP数据同步/记录:能查看历史专注记录,能发朋友圈打卡,更能留下你努力过的痕迹!

手机 APP 界面↓

配套 APP 可在下方 GitHub 仓库中下载

这个番茄钟,续航长达13天!开源了,新手也能做!

硬件设计方案

点击图片可放大查看

PCB图

这个番茄钟,续航长达13天!开源了,新手也能做!

硬件参数

主控:ESP32-H2 (96MHz 支持BLE)

采用 2.9 英寸单色全反射屏作为显示媒介,配合 LVGL 9.4.0 UI 框架实现多页面交互。

这个番茄钟,续航长达13天!开源了,新手也能做!

触摸输入:AW96103 电容触摸,3 触摸按键

I2S音频输出:MAX98357,PCM 16-bit 22050 Hz,单声道

RTC:PCF85263A,关机时间保持

这个番茄钟,续航长达13天!开源了,新手也能做!

翻转检测:ICM-42670-P

环境感知:STCC4(CO2)SHT40(温湿度)

电源管理使用:AW32001,控制电池充放电、旁路供电、开关机功能

这个番茄钟,续航长达13天!开源了,新手也能做!

锂电池供电:1200mAh锂电池,电量采集使用ADC,借助1.5M 及 499K 电阻串联分压

充电:USB 5V→AW32001→锂电池

放电:锂电池3.7V→AW32001→3.3V降压→主控及外设

这个番茄钟,续航长达13天!开源了,新手也能做!

内置存储:4MB内置Flash,其中factory 分区 3 MB,audio SPIFFS 256 KB

Micro SD卡:可外接Micro SD卡,用于存储音乐,设备可从SD卡播放音频

一句话总结硬件部分的工作原理就是:

这个番茄钟,续航长达13天!开源了,新手也能做!

该设备以 ESP32-H2 为核心主控,配合 AW32001 电源管理芯片实现极低功耗运行,通过采集 AW96103 电容触摸、IMU 翻转检测及 CO2/温湿度传感器的数据,利用 LVGL 框架驱动 2.9 英寸全反射屏显示与 I2S 音频提示,从而实现科学的专注时间管理。

软件设计方案

很多人基于ESP32做项目,如果不做深度优化,待机或休眠状态下往往还有几毫安的‘暗电流’,几天就把电跑光了。

这个番茄钟,续航长达13天!开源了,新手也能做!

但作者,做到了关机电流最低0.6μA,在不联网状态下工作电流低至<3.3mA,休眠最低<0.8mA……

放在实际体验上就是——1200mAh的电池,充一次电,能撑几十天。

完全没有续航焦虑啊!

这个番茄钟,续航长达13天!开源了,新手也能做!

咳咳,再回归本章主题

而能做到0.6μA,说明AW32001电源管理芯片的power path设计和ESP32-H2的deep sleep配置都到位了。

这需要在软件架构设计上做大量调度优化。

这个番茄钟,续航长达13天!开源了,新手也能做!

下面就进入软件架构部分,看看它如何用 FreeRTOS 把多任务跑起来,同时还能在空闲时自动进入休眠,实现续航与流畅度的平衡。

软件架构

(1)UI框架

这个番茄钟,续航长达13天!开源了,新手也能做!

使用 LVGL + EEZ Studio 绘制 UI,生成代码位于 main/ui/。

(2)RTOS任务

系统基于 FreeRTOS 组织多任务协同,主要包括:

这个番茄钟,续航长达13天!开源了,新手也能做!

刷新屏幕任务:驱动 LVGL 刷新/渲染,完成界面更新

传感器读取任务:周期读取温湿度/CO2、IMU 等外设数据

SD卡读写任务:文件系统挂载、音乐文件读取与资源管理

这个番茄钟,续航长达13天!开源了,新手也能做!

音频播放任务:从存储读取音频并通过 I2S 输出到功放

(3)BLE传输 与手机APP通信

通过 nimBLE 和手机 APP 进行数据交互(配置同步、上报数据)。

这个番茄钟,续航长达13天!开源了,新手也能做!

如果你想复刻这个项目,作者分享了固件烧录教程,跟着烧录即可获得专属于你的时钟↓

固件烧录

(1)第一次烧录

这个番茄钟,续航长达13天!开源了,新手也能做!

在 Releases 页面下载最新版带有full 字样的固件

打开烧录工具,选择芯片型号 ESP32-H2

先选择串口和波特率 1152000,然后选择 focustimer_full_{version}.bin 文件,地址设为 0x0,在该行前面打勾,最后点击 START 按钮开始烧录。

这个番茄钟,续航长达13天!开源了,新手也能做!

插拔一次 USB 数据线以重启设备,烧录完成。

参考图↓

(2)固件更新

这个番茄钟,续航长达13天!开源了,新手也能做!

目前固件更新仅支持 USB 升级。更新步骤与第一次烧录类似,主要区别如下:

在 Releases 页面下载 不带 full 字样 的固件。例如focustimer_{version}.bin

配置烧录地址时,需要改为 0x10000

这个番茄钟,续航长达13天!开源了,新手也能做!

(3)烧录注意事项

请确保设备关闭低功耗模式和自动休眠,使用 USB-A to C 数据线连接 PC 与设备。

烧录full固件会清除nvs中的所有数据,后续烧录请参考"固件更新"小节。

这个番茄钟,续航长达13天!开源了,新手也能做!

这个低功耗专注时钟的DIY成本为105元。

你喜欢这个时钟吗?如果是你,你会怎么设计它?欢迎在评论区唠唠!

如果你想复刻or给作者点赞(非常欢迎大家动动发财小手去原文给作者点个赞支持一下优质开源~~~),就下滑前往开源网址瞅瞅吧!

这个番茄钟,续航长达13天!开源了,新手也能做!

开源网址

https://oshwhub.com/vrxiaojie/project_ziomcvky

如果你也想DIY,不妨去领一下~

这个番茄钟,续航长达13天!开源了,新手也能做!

PCB打板免单券:https://www.jlc.com/newOrder/#/collectCoupons?spm=JLC.MEMBER

3D打样免单券:https://www.jlc-3dp.cn/freePrint

面板打样免单券:https://activity.szlcsc.com/panel_free_sample.html

暂无评论,快来发表第一条评论吧!

📮 需求咨询