ESP32-C3 桌面天气时钟 V1.2.0:打工人的桌面 "小电视",萌系回归
本文已更新至 V1.2.0 萌系化大版本。以后每次固件更新都会在本博客同步发布(含 4N / 8N 两个版本固件包 + 更新日志),老用户留意置顶文章即可。
一个摆在工位 / 床头 / 书桌上的桌面天气时钟,3D 打印复古小电视外壳,正面一块 2.4 英寸彩色屏幕,能看时间、天气、日历、农历、节假日,还能当闹钟、倒计时、秒表用。
它的前身是 2024 年发布的第一版 ESP32-C3 天气时钟,经历 N 轮迭代后,V1.2.0 全面萌系化:粉色主题、4 张手绘壁纸、会眨眼的小兔子…… 开机那一刻,整个桌面都可爱起来了。
项目 | 参数 |
主控 | ESP32-C3(RISC-V 单核 160MHz,Wi-Fi + BLE5.0) |
屏幕 | 2.4 英寸 ST7789 IPS 彩屏(240×320,SPI) |
温湿度 | DHT11 室内温湿度传感器 |
声音 | 有源蜂鸣器(多种提醒节奏可调) |
按键 | 3 颗实体按键(翻页 / 菜单 / 确认) |
供电 | TYPE-C 5V 供电(支持 USB 直插) |
版本 | 8N(新版本 8MB Flash)/ 4N(老版本 4MB Flash) |
外壳 | 3D 打印复古小电视(可选天线装饰件) |
4N / 8N 版本说明
项目 | 4N(老版本 4MB Flash) | 8N(新版本 8MB Flash) |
Flash 容量 | 4MB | 8MB |
分区方案 | huge_app(App 上限约 3MB) | default_8MB(App 上限约 3.3MB) |
固件大小 | 约 1.98MB(占用 66%) | 约 1.98MB(占用 62%) |
固件包 | WeatherClock_4MB_factory.bin | WeatherClock_8MB_factory.bin |
烧录方式 | 整包合并文件,Flash Download Tools 选中烧录到 0x000000 | 同左 |
实时天气:温度、天气状况、风向风力、气压、湿度、AQI 空气质量(按国际标准色显示)
未来三天天气(免费 7 日接口,横排展示)
城市可配网设置,也支持按 IP 自动定位
公历 + 农历双显示
24 节气、农历节日、公历节日自动标注
星期 7 天粉色渐变,每天一个颜色
3 组闹钟 + 3 组重要日子(如 "距放假还有 X 天"),每组独立开关、独立设置
重要日子支持倒计时显示(主页滚动信息 + 屏保)
5 个主题:深蓝纯色 + 星月 / 云海 / 花林 / 湖光 4 张萌系壁纸
壁纸均为手绘风格,按屏幕实际显示效果逐张校准(解决了 RGB 通道交换导致的偏色问题)
像素兔宠物:屏保左下角白色小兔子,真眨眼动画(睁眼约 2.6 秒,眨眼瞬间 0.15 秒,自然不闪烁)
屏保显示:大时间、日期星期农历、天气温度、室内温湿度、节假日 / 重要日子倒计时
全页面粉色主题:浅粉白背景、玫粉强调色、浅粉卡片
星期渐变、AQI 标准色、提醒弹窗,全部配套
暗色模式(护眼模式):自动(可设时段)/ 手动,到点自动切换配色
秒表 / 倒计时(独立页面,UI 精美)
整点报时(仅白天 8–21 点,夜间不扰眠)
夜间自动降亮度(暗色时段背光压到 20%)
室内温湿度显示(主页 + 屏保)
断网自动重连:5 秒检测,断线自动重连并重新拉取天气
农历生日提醒(按农历日期,当天提醒一次)
设置页:亮度、蜂鸣器开关、提醒响铃方式(5 种节奏)、休眠时间、天气刷新、重新配网等
无需 App:开机热点(192.168.4.1)→ 手机连接 → 自动弹出配网页面 → 选 WiFi、填城市 → 保存自动重启
支持自定义天气 API 的 APPID / APPSecret(方便个人或商家使用自己的天气接口配额)
粉色萌系主题:全部页面配色重构(背景 / 强调 / 边框 / 标题栏 / 星期渐变),暗色模式同步适配
屏保壁纸系统:深蓝纯色 + 4 张手绘萌系壁纸(星月 / 云海 / 花林 / 湖光),全部按实际显示效果校准
像素兔宠物:睁眼 / 闭眼双帧呼吸动画,背景透明、身体不透明
AQI 空气质量颜色修正为国际标准色(优绿 / 良黄 / 轻度橙 / 中度红 / 重度紫 / 严重褐红)
提醒响铃新增 "循环 0.5 秒响一次" 节奏;提醒弹窗自动关闭时间延长至 1 分钟
秒表 / 计时器完善并美化 UI;补齐设置页缺失字体;屏保布局优化
闹钟 / 重要日子重构为独立页面(3 + 3 组,独立开关与设置)
倒计时(重要日子)主页滚动 + 屏保显示
暗色模式(护眼模式)自动 / 手动切换
室内温湿度(DHT11)读取逻辑修复,主页与屏保显示
未来三天天气页面(免费 7 日接口)
4N(4MB Flash)老用户兼容版本
以后每次固件更新,我都会在本博客发布:
📦 8N(8MB Flash)固件包:WeatherClock_8MB_factory.bin
📦 4N(4MB Flash)固件包:WeatherClock_4MB_factory.bin
📝 本次更新日志
🔧 刷机工具与烧录步骤
V1.2.0 固件包下载(已打包好,与本文同步更新):
WeatherClock_8MB_factory.bin —— 8N 新版本(default_8MB 分区)
WeatherClock_4MB_factory.bin —— 4N 老版本(huge_app 分区)
两个均为整包合并文件(已包含 bootloader + 分区表 + 应用),用 Flash Download Tools 或 esptool 选中后烧录到地址 0x000000 即可,无需单独烧多个文件。
刷机工具(任选其一):
Flash Download Tools(乐鑫官方,图形界面,适合普通用户)
esptool(命令行,适合开发者)
Arduino IDE(源码烧录)
烧录前必看:请先确认你的设备是 4N 版还是 8N 版,选对应固件包,刷错版本可能导致无法启动。详细图文教程见博客后续文章(或联系作者获取)。
开源硬件:原理图、PCB 工程已开源在立创开源硬件平台,欢迎复刻、改造、学习:
👉 立创开源:oshwhub.com/xnzl/esp32c3-made-desktop-weather-clock
成品购买 / 定制:可联系作者(支持单独购买成品、外壳件、PCB 板)
关于 3D 打印外壳:复古小电视造型,含天线装饰(运输时不固定,到手需自行粘贴);3D 打印表面与注塑件不同,可能出现轻微层纹 / 瑕疵,属正常现象,介意请谨慎下单。
小彭(95 后,一个很菜又爱 DIY 的嵌入式爱好者)
📮 邮箱:2443257717@qq.com
💬 微信:xhgzs97
🔗 博客:www.xpzniot.cn
有任何问题、建议、新功能需求,欢迎随时交流。你们的反馈就是下一个版本的更新方向~
本文由小彭爱制作原创,欢迎转载,请注明出处。