Skip to the content
2 layers66.5 × 83.9 mmInkWordESP32 MB V1.1, the printed circuit board in 3D

InkWordESP32 MB V1.1

harry10086/InkWord_ESP32

An ESP32 and E-paper based low-power English vocabulary learning device.一个基于 ESP32 和墨水屏的低功耗英语单词学习设备。

Size
66.5 × 83.9 mm
Copper layers
2
Thickness
1.6 mm
Parts
103
Nets
81
Pads
353
Tracks, vias
735, 896
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
23 May 2026
Updated
13 Oct 2026

Overview

InkWordESP32 MB V1.1 is an open-source printed circuit board by harry10086, from the harry10086/InkWord_ESP32 repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 66.5 × 83.9 mm with 103 parts on 81 nets, routed with 735 tracks and 896 vias.

It is built around the TF-CARD H1.8 SY, TP4055 and XB6366D, with the XC6220B331MR-G, RCLAMP0521P-N and B5819WS among its other parts. Its parts include 33 resistors, 29 capacitors, 16 diodes, 6 switches and 4 ICs. It belongs with the ESP32 boards of this library.

Main components

12

README

README.md

InkWordESP32 (桌面水墨单词卡与日历)

Platform Display Framework Version License

InkWordESP32 是一款基于 ESP32-S3 与 4.2 寸红黑白三色电子墨水屏 打造的低功耗多功能桌面单词卡学习与时钟日历设备。

它兼具 英语单词记忆、公农历时钟日历、双语每日名言、全盘 Web 文件管理器 与 极低功耗待机 体系,采用纸质般无闪烁护眼显示,适合放置在办公桌、书桌上陪伴日常学习与工作。

[!IMPORTANT] 红白黑三色电子标签屏虽然便宜(闲鱼 10 元),但是刷新时间大约 15 秒!刷新时间大约 15 秒!刷新时间大约 15 秒!


📸 屏幕布局与视觉分区

4.2 寸三色墨水屏(400 × 300 像素)精心规划了四大功能区域,红黑搭配,主次分明:

text
+--------------------------------------------------------------------------+
| [状态栏] 词库名: CET4 | 模式: 随机 | WiFi: 已连接 | 电量: [⚡ 85%] (3.92V)   |
+------------------------------------+-------------------------------------+
| [左侧: 时钟与日历区]               | [右侧: 单词背诵区]                  |
| 14:35 (2026-10-09 星期五)          | abandon                             |
| 农历: 八月廿九                     | /əˈbændən/ [IPA标准点阵音标]        |
|                                    | vt. 放弃,遗弃;离弃                |
| 日 一 二 三 四 五 六               | n. 放任,放纵                       |
|        1  2  3  4 [5]              |                                     |
|  6  7  8  9 10 11 12               | [页码: 1/2]                         |
+------------------------------------+-------------------------------------+
| [底部: 每日名言区] (红黑双色)                                            |
| The secret of getting ahead is getting started.                          |
| 千里之行,始于足下。                                                     |
+--------------------------------------------------------------------------+

front

🛠️ 硬件方案与电气规格

1. 核心硬件组件

  • 主控芯片:乐鑫 ESP32-S3。
  • 显示屏:4.2 寸红黑白三色电子墨水屏(型号:SE2417FS051,主控 IC:UC8176,分辨率 400 × 300,SPI 通信接口)。
  • 存储扩展:MicroSD (TF) 卡槽,采用 4-bit 高速 SDMMC 硬件总线,大幅提升词库检索与大文件传输效率。
  • 电源与供电:
    • 单节 18650 锂电池供电(标称 3.7V / 满电 4.2V);
    • ADC 电池采样:GPIO 3,通过 1/4 精密电阻分压实时测量电量;
    • 充电检测:GPIO 1,通过硬件电平感知充电状态(低电平充电中,高电平充满/未插线);
    • 硬件级保护:当电压低于 3.15V(剩余电量 ≤ 5%)时,屏幕自动显示低电警告并进入 Deep Sleep,仅保留充电线插入唤醒。
  • 物理按键:精简为 3 颗按键,具有独立硬件滤波与长短按状态机。

2. 硬件架构

硬件使用 KiCad 设计(我认为这是目前个人及中小型公司最适合最好用的 EDA 软件),设计架构如下: framework

PCB 图: PCB

IO 分配:

模块分类信号功能GPIO 引脚说明与特性
电子墨水屏PIN_CSIO 9屏幕片选信号 (低电平有效)
PIN_SCLKIO 10SPI 时钟信号 (硬件 HSPI)
PIN_SDIIO 11SPI 数据输入 MOSI
PIN_D_CIO 17数据 / 命令控制引脚
PIN_RSTIO 18屏幕硬件复位引脚
PIN_BUSYIO 8屏幕忙碌状态检测
MicroSD (4-bit)PIN_SD_DAT0IO 5SDMMC 数据线 0
PIN_SD_DAT1IO 4SDMMC 数据线 1
PIN_SD_DAT2IO 16SDMMC 数据线 2
PIN_SD_DAT3IO 15SDMMC 数据线 3 / CS
PIN_SD_CLKIO 6SDMMC 时钟线
PIN_SD_CMDIO 7SDMMC 命令线
电源与交互按键PIN_BAT_ADCIO 3电池电压检测 (1/4 硬件分压)
PIN_CHRGIO 1充电状态引脚 (低电平充电,支持 RTC 唤醒)
PIN_KEY1IO 39按键 1:Wi-Fi 开关 / 强制 AP 热点配网
PIN_KEY2IO 40按键 2:上一个单词 / 长按切换顺序/随机模式
PIN_KEY3IO 41按键 3:下一个单词(释义翻页) / 长按切换词库

按键操作指南:

按键短按操作 (单击)长按操作 (按住 ≥ 1.5 秒)
KEY 1 (GPIO 39)开 / 关 Wi-Fi:开启时自动连接已知网络并进行对时与名言同步;再次短按关闭。强制 AP 配网:秒级唤起 InkWord-Setup 独立配网热点,手机直连 192.168.4.1。
KEY 2 (GPIO 40)上一个单词:回退至上一个单词,进度记忆至 RTC 与 NVS。切换播放模式:在【顺序】与【随机】模式间切换。
KEY 3 (GPIO 41)下一个单词 / 释义翻页:若词条解释多于一页先翻页,翻完后切换至下一词。切换词库:轮换 TF 卡 /dict/ 目录下的多本词典(CET4, CET6, IELTS 等)。

[!TIP] 顺便说一句,我之所以用这些元件并不是必须,而是我手上刚好有这些元件,可根据自己的情况处理,硬件结构都是,我提供的均是源文件,可自行修改。

3. 结构设计

外壳结构采用 SolidWorks 进行设计,使用拓竹 3D 打印机打印,最好使用不同材料支撑,不然不太好拆除。

3d-1 3d-2


🌟 核心软件特性

1. 单词背诵引擎

  • 标准化 JSON 词库支持:词库放置于 TF 卡 /dict/ 目录,支持自定义单词、音标及释义。
  • 原生 8×16 IPA 国际音标点阵字模库:内置 44 个标准国际音标(含 ə, ɪ, æ, ʌ, ɒ, ɔ, ʊ, ɜ, ʃ, ʒ, θ, ð, ŋ, ˈ, ˌ, ː 等),彻底解决墨水屏常见英汉音标乱码与粘连问题。
  • 智能长释义分页:自动计算中文词条换行与高度,超出单屏自动分页(通过 KEY3 顺序翻阅)。
  • 自动切词定时器:支持 1~60 分钟自动切换下一词(可通过 Web 随时调整)。

2. 高精度时钟与日历体系

  1. 芯片 RTC Slow Clock 硬件计数器:在轻度休眠(Light Sleep)与异常复位期间始终保持计时,时间精度永不中断;
  2. NTP + HTTP 双重授时:开机与每日定时联网自动同步阿里云 NTP;若局域网拦截 UDP 123 端口,自动回退利用 HTTP 服务器响应头 Date 兜底授时。
  3. 公农历算法与月视图:屏幕左侧实时计算并显示公历日期、星期、农历月份与初几/廿几(含闰月计算),并以红框在当前月份日历矩阵中精准高亮今日。

3. 每日金山双语名言 (联网更新 + 离线轮播)

  • 联网自动更新与归档:每天早晨 7:00 自动开启 Wi-Fi,请求金山词霸每日名言接口,英文大字加粗,中文优雅小字,自适应排版折行,并自动追加归档至 TF 卡 /quote/quotes.json。
  • 离线自动轮播:若设备处于无网环境或断网,早晨 7:00 会自动触发离线轮换机制,从 TF 卡历史名言库中随机抽取未显示的名言并刷新墨水屏,保证每天名言按时更换。

4. Multi-AP 多网络记忆与自适应智能重连

  • 多凭据记忆:支持记忆多达 8 个常用 Wi-Fi 网络,采用 MRU(最近使用置顶)机制。
  • 快速扫描智能匹配:每日唤醒对时或短按 KEY1 开网时,首先执行 250ms/信道的快速扫描,自动识别周边信号最强的已知网络秒级连接。
  • 回退保护:若遇到隐藏 SSID,自动按优先级遍历尝试连接。

5. 现代化 Web 控制中心与全盘文件管理器

连接设备 IP 地址(或 AP 模式下的 http://192.168.4.1),即可进入 web 控制台:

  • 实时设备状态看板:查看当前 IP、信号强度、电池电压、系统运行时间、当前词库等。
  • 个性化系统设置:调节单词自动切换间隔(160分钟)、Wi-Fi 无操作自动休眠倒计时(160分钟)、开启/关闭深夜静默模式。
  • 全功能 SD 卡文件管理器:
    • 支持文件的上传、下载、删除、重命名、新建文件夹;
    • 支持目录穿梭,方便随时导入新词库或管理历史名言。
  • 可视化 Wi-Fi 配置:支持周边 Wi-Fi 扫描列表与一键连接。
  • OTA 无线固件升级:支持网页端直接上传编译好的 .bin 固件一键在线刷机。

6. 深度低功耗电源管理

  • Light Sleep 浅度睡眠:非充电、无按键操作且关闭 Wi-Fi 时,CPU 自动进入浅度睡眠,按键即点即应,电流大幅下降。
  • 深夜静默模式 (23:00 ~ 07:00):自动停止单词切换与夜间物理刷屏,延长墨水屏寿命并极度节能。
  • 无操作自动断网:Wi-Fi 开启后若超过设定时间(默认 6 分钟)无数据交互,自动关闭射频硬件并将 CPU 降频至 80MHz。

💻 固件开发与编译指南

1. 开发环境要求

  • IDE:推荐使用 Arduino IDE 2.x。
  • ESP32 支持包:esp32 by Espressif Systems(建议版本 2.0.14 或 3.0.x)。
  • 板卡型号选择:ESP32S3 Dev Module。

2. 核心依赖三方库

在 Arduino IDE 的 项目 -> 加载库 -> 管理库 中搜索并安装以下依赖:

依赖库名称推荐版本用途
GxEPD2>= 1.5.x4.2 寸电子墨水屏核心驱动 (GxEPD2_420c)
Adafruit GFX Library>= 1.11.x基础图形渲染框架
U8g2_for_Adafruit_GFX最新版中文字库与点阵字体渲染引擎
ArduinoJson>= 7.x词库、名言与 Web API 数据的高效 JSON 序列化/反序列化

3. Arduino IDE 编译选项配置 (Tools 菜单)

选项名称 (Menu)推荐参数值 (Value)说明
BoardESP32S3 Dev Module主板架构
USB CDC On BootEnabled启用原生 USB 虚拟串口调试输出
CPU Frequency240MHz (WiFi)最高性能运行
Flash ModeQIO 80MHz保证 Flash 读取性能
Flash Size16MB 或 8MB依据具体模组选配
Partition SchemeMinimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS)必须给 APP 分区留足空间
PSRAMOPI PSRAM 或 Disabled (视硬件模组配置)若模组带 PSRAM 则开启
Upload ModeUART0 / Hardware CDC固件烧录接口

📁 TF 卡目录与数据规范

为使设备开机正常读取词库与名言,TF 卡应格式化为 FAT32 格式,并建议建立如下目录:

text
MicroSD (根目录)
├── dict/                    # 单词词库文件夹
│   ├── CET4.json            # 四级词汇
│   ├── CET6.json            # 六级词汇
│   └── TOEFL.json           # 托福词汇
├── quote/                   # 每日名言文件夹
│   └── quotes.json          # 历史名言本地归档库 (单文件追加模式)
└── schedule.json            # 日程备忘清单 (可选,Web端可视化维护)

词库 JSON 格式规范 (/dict/*.json)

可在网站免费下载:https://typewords.cc/dict

json
[
  {
    "word": "abandon",
    "phonetic": "/əˈbændən/",
    "trans": [
      "vt. 放弃,遗弃;离弃",
      "n. 放任,放纵"
    ]
  },
  {
    "word": "ability",
    "phonetic": "/əˈbɪləti/",
    "trans": [
      "n. 能力,本领;才能"
    ]
  }
]

📜 版本更新历史 (Changelog)

v1.1.3

  • 🚀 多网络记忆系统 (Multi-AP):支持存储多达 8 个常用 Wi-Fi,新增周边热点快速扫描匹配与信号强度自适应重连,解决多环境不自动回连的问题。
  • 📖 每日名言双轨切换机制:增加离线名言自动轮换,每日早晨 7 点即便无网也能从 TF 卡历史名言中轮换并刷新屏幕;抽取算法改用 esp_random() 并增加防连抽去重。
  • 🔒 SD 卡总线安全加固:增加 sdMutex 互斥保护锁,彻底消除主循环写入名言与后台墨水屏任务读词库的并发冲突。

v1.1.2

  • 🌙 深夜静默模式:支持 23:00 ~ 07:00 停止物理刷屏并提供 Web 开关。
  • 📶 独立 AP 配网热点:支持短按/长按 KEY1 秒级唤起 InkWord-Setup (192.168.4.1) 免 App 网页可视化配网。
  • 🎲 全库遍历洗牌算法:乱序序列持久化到 SD 卡,当前背词进度通过 RTC 硬件级记忆。
  • 📅 农历算法修复:修复农历计算与闰月交替显示问题。

v1.1.1 & v1.1.0

  • 🔋 电源与显示优化:优化低电休眠界面与 ADC 电池采样算法,解决低功耗漏电;
  • ⚡ 开机自动对时:修复电量耗尽充电后首次启动未成功网络对时的问题。

📄 开源许可证

本项目基于 GNU General Public License v3.0 (GPLv3) 协议开源。

Parts

103
QtyValueFootprintReferences
1510kΩJLC:R0603R4, R6, R9, R13, R14, R15, R16, R17, R18, R22, R26, R29, R30, R34, R38
13100nF ±10% 50VJLC:C0603C1, C2, C6, C7, C11, C20, C22, C24, C25, C26, C27, C35, C37
10RCLAMP0521P-NJLC:RCLAMP0521P-ND7, D8, D9, D10, D11, D12, D13, D14, D15, D17
91uFeasyeda_convertlib:C0603C4, C5, C8, C9, C12, C14, C15, C16, C17
810ΩJLC:R0603R19, R20, R21, R23, R24, R25, R36, R37
510uF 10Veasyeda_convertlib:C0603C3, C10, C13, C21, C23
4MountingHole_PadMountingHole:MountingHole_3.2mm_M3_Pad_ViaH1, H2, H3, H4
3B5819WSJLC:B5819WSD4, D5, D6
3RCLAMP0521T-ESJLC:DFN1006-2LD1, D2, D3
3TS-1009B-05026JLC:TS-1009B-05026K1, K2, K3
20Reasyeda_convertlib:R0603R7, R8
25.1kΩ ±1%easyeda_convertlib:R0603R2, R3
2BSMD0603L-100Fuse:Fuse_0603_1608MetricF1, F2
2GT-L5.2-W5.2-H015easyeda_convertlib:SW-SMD_4P-L5.2-W5.2-P3.70-LS6.4SW1, SW2
1100uHJLC:LQH3NPZ101MMELL1
110uF 50VJLC:C0805C19
11MΩ ±1%easyeda_convertlib:R0603R12
11kΩeasyeda_convertlib:R0603R1
133Ωeasyeda_convertlib:R0603R27
13MΩ ±1%JLC:R0603R11
13kΩ ±1%easyeda_convertlib:R0603R5
13Ωeasyeda_convertlib:R0603R10
14.7uFeasyeda_convertlib:C0603C18
1600Ω@100MHzeasyeda_convertlib:L0603FB1
1AFC04-S24FCA-00JLC:AFC04-S24FCA-00FPC1
1ESP32-S3-WROOM-1_N16R8JLC:ESP32-S3-WROOM-1_N16R8U4
1LOGOJLC:lcsc-logoG***
1SI1308EDL-T1-GE3JLC:SI1308EDL-T1-GE3Q1
1SS12D10G6-WJJLC:SS12D10G6-WJS1
1TF-CARD_H1_8JLC:TF-CARD_H1_8TF1
1TP4055easyeda_convertlib:SOT-23-5_L3.0-W1.7-P0.95-LS2.8-BLU2
1TYPE-C16PINJLC:TYPE-C16PINUSB1
1XB6366DJLC:XB6366DU1
1XC6220B331MR-GJLC:XC6220B331MR-GU3
1ZX-XH2.54-2PWZeasyeda_convertlib:CONN-TH_2P-P2.50_ZX-XH2.54-2PWZCN1
1ZX-XH2.54-3PZZeasyeda_convertlib:CONN-TH_3P-P2.54_2501S-3PCN2

Similar boards

  • 4 layers45 × 34.8 mmKywy Micro, the printed circuit board in 3D

    Kywy Micro

    KOINSLOT-Inc/kywy-hardware

    kywy hardware files

    92 parts1
  • 4 layers45 × 75 mmCamera Cooler, the printed circuit board in 3D

    Camera Cooler

    lukaslibar/Camera-Cooler

    Cooling solution for Svbony SV705C astronomy camera.

    118 parts
  • 6 layers100 × 100 mmFlexLogic EVB, the printed circuit board in 3D

    FlexLogic EVB

    y-suyama/FlexLogic_EVB

    311 partsApache-2.0
  • 2 layers15.7 × 20.8 mmDip adapters, the printed circuit board in 3D

    Dip adapters

    smkent/pcb

    PCB designs

    15 partsCC-BY-SA-4.0
  • 2 layers49.9 × 43 mmMister2scart, the printed circuit board in 3D

    Mister2scart

    madmalkav/mister2scart

    This device has been designed by someone that doesn't have a clue about electronics. If you decide to build it and use it, you do it on your own responisibility.

    11 partsMIT
  • 2 layers90 × 64 mmDivine light, the printed circuit board in 3D

    Divine light

    tobycm/divine-light

    A handheld device with neopixels so you can have lights wherever you want :b

    88 partsMIT
  • 2 layers57.8 × 48.6 mmEsp32-weather epd, the printed circuit board in 3D

    Esp32-weather epd

    Diabltica/esp32-weather-epd_pcb

    A low-power E-Paper weather display powered by an ESP32 microcontroller. Utilizes the OpenWeatherMap API.

    67 partsGPL-3.0
  • 2 layers40 × 20 mmDutyCycle, the printed circuit board in 3D

    DutyCycle

    FASTSHIFT/DutyCycle

    Work-Life Duty Cycle Clock

    46 parts18MIT

Questions

How big is the InkWordESP32 MB V1.1 PCB?

It measures 66.5 × 83.9 mm and has 2 copper layers, 1.6 mm thick.

What parts does the InkWordESP32 MB V1.1 use?

103 parts, built around the TF-CARD H1.8 SY, TP4055, XB6366D and XC6220B331MR-G. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the InkWordESP32 MB V1.1 KiCad files?

From the harry10086/InkWord_ESP32 repository on GitHub, at the commit this page was made from: the board is HW/InkWordESP32_MB_V1.1/InkWordESP32_MB_V1.1.kicad_pcb and its schematic HW/InkWordESP32_MB_V1.1/ECG.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the InkWordESP32 MB V1.1 design in my own project?

Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).