制作一个小巧的电子墨水显示器,实时显示电脑运行状态
我们大多数人都会打开任务管理器或查看副显示器来检查电脑性能,这总是意味着盯着又一个亮着背光的屏幕。我想要的是一种不同的方式——一种能安静地放在桌面上、实时显示电脑运行状态,并且不会给工作区增添更多屏幕眩光的东西。
于是,我用电子墨水屏(与Kindle中使用的那种类似纸张的显示技术)制作了一个小型PC性能监控器。它实时显示CPU使用率、内存、磁盘、网速、电池状态和系统运行时间,每秒刷新一次。与传统的LCD或OLED屏幕不同,它完全不需要背光。屏幕在不消耗任何电力的情况下保持图像,仅在短暂更新时才耗电。最终呈现的效果就像一张实实在在的纸质文件放在你桌面上一样。无论在何种光线条件下都清晰可读,完全没有反光,而且看起来格外令人满足。
该设备仅使用了少量组件:一个Seeed Studio XIAO ESP32-S3微控制器、一个WeAct Studio 1.54英寸电子纸显示屏,以及一个3D打印的外壳。运行在电脑上的Python脚本会收集系统数据,并通过USB串口将信息发送到显示屏上。固件、Python脚本和3D打印文件均为开源,因此只要具备3D打印机和基本焊接技能的人,都可以自行组装完成。
说实话,这个项目最初只是一个有趣的周末小尝试,但最终改变了我每天看待周围屏幕的方式。我们早已习惯于到处都是明亮、耗电巨大的显示屏,它们时刻牵动着我们的注意力。而这款小巧的电子墨水屏则恰恰相反——它让我在无需眩光、无浪费能源、也无长时间坐在桌前后带来的视觉疲劳的情况下,获得所需的信息。这是一次迈向更平静、更审慎科技的小步迈进,我觉得值得与任何曾因自己设备设置而感到些许压力的人分享。
组件:
本次构建中,我使用了两个紧凑的现成模块,将它们连接起来并安装在一个完全由3D打印而成的外壳内。
电子产品
•1x Seeed Studio XIAO ESP32-S3
•1x WeAct Studio 1.54英寸电子纸显示屏
硬件
•临时连接线
•焊锡套件
•USB-C 数据线(用于为 XIAO 供电和刷机)
制造
•3D打印零件(含文件)
软件
•Arduino IDE
•Python 3(在您的电脑上运行)
•psutil(用于读取系统统计信息的Python库)
•pyserial(用于USB串行通信的Python库)
电子纸显示屏通过几根电线直接连接到XIAO ESP32-S3,整个组件可整齐地嵌入印刷外壳中,便于组装、修改和复制。
第一步:CAD设计
在这个项目中,我没有从零开始设计外壳。我在MakerWorld上发现了一个由Matt(Endpoint101)设计的极简美观的支架,与WeAct 1.54英寸电子纸显示屏几乎完美契合。支架背面还配有夹子,可固定ESP32开发板,因此无需额外的螺丝或胶水。完全感谢Matt在此处所做出的精心设计。如果你最终使用了这个模型,不妨在MakerWorld上为他的作品点赞支持一下!
支架还配有可选的局部遮盖板,用于隐藏背面杂乱的电线,当我完成所有接线后,发现这确实非常实用。
打印设置
我用白色PLA打印了外壳,结果非常合适。干净的白色表面呈现出一种非常光亮、近乎商业化的外观,与电子墨水显示屏本身纸质般的质感相得益彰。
以下是根据设计师推荐的配置所使用的设置:
•材质:白色PLA
•层高:0.2毫米
•墙壁:2
•填充率:15%
•支持:无需
•预计打印时间:约31分钟
在这些设置下,打印效果干净无瑕。如果第一层附着牢固且打印床已良好校平,那么这将是一个简单易行的打印过程,无需担心复杂的悬垂或严格的公差问题。
第二步:在哪里制造你的PCB
本项目使用的是现成的模块和跳线,因此你无需定制PCB即可轻松跟随。不过,如果你希望进一步深入,设计一个集成了ESP32和电子纸接口的完整电路板,我这里有个推荐方向。
此步骤由NextPCB赞助,NextPCB是目前规模较大的PCB和PCBA制造商之一,业务覆盖全球150多个国家。
他们最近推出了一项名为 Rev 0 PCBA 的服务,如果你正在做原型设计,这是一项值得关注的服务。你只需上传 Gerber 文件、物料清单(BOM)和拾取放置文件,平台便会自动执行 DFM 和 DFA 检查,将你的元器件与库存超过 60 万种的零部件进行匹配,并即时提供固定价格报价。无需来回邮件沟通,也无需等待销售工程师回复。一旦确认,完全组装好的电路板最快可在 7 个工作日内发货。
首次PCBA订单,他们通过Rev 0活动提供高达500美元的SMT优惠券,使原型量几乎免费组装。
对于这类特定项目而言,使用一块小型分体式PCB,比在印刷电路板外壳内松散地布线要干净、可靠得多。这正是Rev 0 PCBA所专为实现的功能。
第三步:构建
所有部件准备齐全,外壳也已打印完成,组装起来其实相当令人满意。整个过程中无需焊接,所有连接都通过跳线和一个小型JST连接器实现。
首先,将 WeAct 1.54 英寸电子纸显示屏滑入机壳的前部插槽中。屏幕应朝向矩形开口的前方,显示电路板应紧贴框架背面。安装时需确保紧密贴合,切勿强行安装。如果感觉稍有松动,可在显示屏电路板背面贴一小片双面胶,即可牢固固定。
接下来,将微型JST电缆插入电子纸显示屏PCB上的连接器端口。该接口为单向连接,因此无需猜测。
现在取电缆的另一端,按照以下引脚映射将跳线连接到XIAO ESP32-S3:
忙碌 → D0(GPIO 1)
RST → D1(GPIO 2)
DC → D2(GPIO 3)
CS → D3(GPIO 4)
SCK → D8(GPIO 7,默认SPI时钟)
MOSI → D10(GPIO 9,默认为SPI MOSI)
VCC → 3V3
GND → GND
这里有一点需要注意:确保VCC连接到3V3引脚,而不是5V引脚。电子纸显示屏工作在3.3V逻辑电平,误接至5V可能会损坏它。此外,如果使用的是独立的跳线而非扁平电缆,对跳线进行颜色编码会非常有帮助:红色用于VCC,黑色用于GND,每条信号线使用不同颜色,这样一旦某项功能无法正常工作,就能避免反复调试。
所有线路连接完成后,将XIAO ESP32-S3插入外壳背面的插槽,并调整线缆位置,避免对任何接口造成拉扯。在完全封闭之前,请确保XIAO上的USB-C端口仍然可以使用,因为您需要它来刷写固件以及与电脑建立实时串行连接。
步骤4:刷写固件
该项目涉及两部分软件:一部分是运行在XIAO ESP32-S3上的固件,负责处理显示屏的所有操作;另一部分是运行在您电脑后台的Python脚本,用于收集系统统计信息,并通过USB串口将数据发送到板子。
1. Arduino 库
打开Arduino IDE,进入 Sketch → 包含库 → 管理库。搜索并安装以下三个库:
GxEPD2 由 Jean-Marc Zingg 设计,是电子纸显示屏的主要驱动程序,可实现全屏和部分刷新。
Adafruit GFX 由 Adafruit 提供,支持文本渲染和图形形状等图形基础功能
Benoît Blanchon 的 ArduinoJson — 解析从 Python 脚本传入的 JSON 数据
2.棋盘设置
转到工具 → 板子,查找 XIAO ESP32S3。如果未显示,则需要先添加 Seeed 板子包。
然后进入工具 → 芯片管理器,搜索“esp32”,并安装该软件包。之后,XIAO_ESP32S3 就会出现在你的芯片列表中。
3.Arduino 固件
这是安装在XIAO上的固件,负责处理显示布局、监听串行数据输入以及管理刷新逻辑。
代码准备就绪后,选择“工具 → 端口”下的正确端口,然后点击“上传”。完成后,屏幕上应显示一个加载界面,表示固件正在运行并等待数据输入。
4.Python 脚本
请确保您的电脑上已安装 Python 3。然后打开终端并运行:
psutil 直接从操作系统读取您的 CPU、内存、磁盘、网络和电池状态。pyserial 负责将这些数据通过 USB 发送到 XIAO。
以下是 Python 脚本:
5.全面运行
通过 USB-C 将 XIAO 连接到电脑,然后打开 Python 脚本,并将 COM 端口设置为与您的设备匹配。在 Windows 上,您可以在“设备管理器”→“端口”中找到它。然后直接运行:
终端将每隔几秒开始打印系统状态,片刻之后电子墨水屏便会刷新并实时显示所有信息。CPU使用率、内存、磁盘、网速、电池电量和在线时间,全都安静地呈现在你的桌面上。
显示屏采用部分刷新进行常规更新,速度快且无闪烁;每隔几分钟会进行一次全屏刷新,以清除长时间积累的残留画面。您可以将脚本在后台运行,而不会对系统造成明显影响。
步骤5:工作视频与教程
最初只是一个简单的周末项目,很快演变成一个比我预期中要令人满足得多的构建。起初,我只是想找到一种更简便的方式来监控电脑性能,而无需不断打开任务管理器或监控软件。
但当我看到那块像纸片一样的显示屏上出现实时的CPU和内存数据时,我就知道它与众不同。
与传统的LCD或OLED屏幕不同,这款显示屏不会发光、闪烁,也不会抢夺你的注意力。由于采用电子墨水显示技术,它无需背光,仅在图像变化时消耗电力,看起来更像是放在桌面上的一张印刷卡片,而非其他电子屏幕。在一个已经充斥着明亮显示器和通知的环境中,一款安静地展示有用信息、不增加视觉干扰的显示屏,感觉格外令人舒适。
这个项目最棒的一点在于它的易用性。核心硬件成本不到10美元,无需焊接,所有内容都基于开源软件运行。Arduino代码、Python脚本和3D打印文件都在描述中提供,只要具备基本工具和一点好奇心,任何人都能在一小时内完成制作。
我最喜欢这个项目的地方在于,它证明了实用的硬件并不需要昂贵、复杂或耗电。
•能耗更低,因为显示屏仅在刷新图像时才消耗电力
•减少眼睛疲劳,因为没有背光,也没有持续的屏幕眩光
•价格低于10美元,无需定制PCB,也无需焊接,更加便捷易用。
•更加开放,因为每个文件都可共享,每一步都记录在案
而这仅仅是个开始。同样的硬件完全可以用来制作天气显示屏、Spotify正在播放的界面、番茄钟计时器、智能通知面板,或者完全不同的其他功能。
本文编译自hackster.io





