这是什么
研读 YanReader 是「阅读 · 写作 · 计划」三合一的电子纸固件,跑在
Read Pico / 小纸 Pico 硬件上(ESP32-S3 + 7.5″ 电子纸)。
这个页面把它刷进设备 —— 不用装 ESP-IDF、esptool 或 Python,也不要用命令行。
一、浏览器要求
- 需要 Chrome 或 Edge(桌面版);Android Chrome 也可以。
- Safari、Firefox、iOS 上任何浏览器都用不了 —— 它们没有 WebSerial 接口,这是浏览器层面的限制。
- 页面必须是
https:// 或 localhost(本站在 GitHub Pages 上是 https,满足)。
- 手机 / 平板需要一根 OTG 转接线才能接设备。
二、刷机步骤
- 用 Type-C 数据线把设备连到电脑。纯充电线不行 —— 线里没有数据线芯,电脑根本看不到设备。
- 点「连接设备」,在弹出的串口列表里选
USB JTAG/serial debug unit(就是设备本身;它内置 USB,不需要额外驱动)。
- 连上后会显示芯片型号、flash 大小、MAC。确认是 ESP32-S3 再往下走。
- 点「开始刷写」,等进度条走满(约 1 分钟;写入之后还会读回 flash 比对 MD5,
这段进度条停在 100% 不动是正常的)。
- 出现「✓ 刷写完成」后设备会自己重启进新固件,不用手动断电。
刷写过程中不要拔线、不要关页面(页面会拦你一下)。中途断掉不会变砖 —— 再刷一遍就行。
想刷别的版本(旧版本、自己编的、别人 fork 的):在「固件」卡片里展开
「或:用本地 / 其它版本的固件文件」,选一个整包
yanreader-<版本>-full.bin。页面会就地重跑同样的闸(长度 / 三处魔数 /
你填的校验位),并且把算出来的 sha256、md5 显示出来给你核对。
别选 pjournal_pico.bin —— 那是纯应用镜像,闸门会挡下它。
三、刷机不会丢什么
四、刷完第一次开机
- 插一张 FAT32 microSD 卡(设备没有内置存储,书和笔记都在卡上)。
- 开机动画(研读 · 研墨 · 研行)之后默认进阅读模式。
- 去 设置 → WiFi 管理 连上 WiFi —— 对时之后阅读统计和待机时钟才准。
- 把
.epub / .txt 放进 /sdcard/books/,回到书架标签会自动扫出封面。
- 装词典走 设置 → 词典下载;导出标注走 笔记标签页搜索栏右端的「导出」。
五、按键
| 操作 | 作用 |
| 电源键 短按 | 进入待机,再短按一次唤醒并回到原来那一页 |
| 电源键 长按 8 秒 | 关机 |
| 电源键 | 唯一的唤醒键 —— 待机后电容键、触摸、晃动机身都唤不醒 |
| 左电容键 单击 / 双击 | 阅读页:上一页 / 上一章 |
| 右电容键 单击 / 双击 | 阅读页:下一页 / 下一章 |
| 中间电容键 按下 / 长按 | 回车确认 / 三个模式轮换:阅读 → 写作 → 计划 → 阅读 |
长按中间键切模式,在阅读器某些「这个键是本界面动作键」的子界面里不生效(那时它执行该界面的动作)。
不按也没关系:自动待机到点会自己睡(时长在阅读模式的设置里调,0 = 关)。
晃一下机身(内置加速度计)= 全屏重刷清残影。它不是唤醒源。
六、触摸手势
| 手势 | 作用 |
| 点按 | 回车确认。阅读页分三区:左 1/3 上一页、右 1/3 下一页、中间 1/3 开阅读菜单 |
| 左右滑 | 上一个 / 下一个 |
| 上下滑 | 整页滚动 |
| 从屏幕边缘起划的横划 | 返回 |
| 长按(≥ 600ms 不动) | 阅读页 = 选文本(标注 / 笔记 / 查字典 / 问 AI;范围看「选字粒度」,默认选句) |
| 按住拖动 | 拖动 / 选择文本 |
| 双指捏合 | 缩放(只有图片查看器认,其它界面无作用) |
七、三个模式
阅读(研读)
顶栏 5 个根标签:书架 / 应用 / 笔记 / 设置 / 统计。格式支持 EPUB(含内嵌图片、
CSS、脚注、目录)、TXT(GBK 自动识别)、XTC。阅读页点中间 1/3 出阅读菜单:
目录、排版设定(字号 / 字体 / 行距 / 段距 / 缩进 / 对齐 / 边距 / 阅读线 / 选字粒度)、书签、
脚注、跳转百分比、二维码、词典、返回。另有夜间反色、横竖屏切换、自定义状态栏(可整条隐藏,
正文随即排满整屏;显示哪些项点一行在弹层里挑)、图片查看器、
OPDS 书库、WiFi 传书、阅读统计(时长 / 每日页数 / 热力图 / 连续天数)。
字号和字体不在设置里 —— 它们是「这一本书的排版」,在阅读菜单的「排版设定」下。
「应用」标签页里是文件管理 / 微信读书 / 字典 / DeepSeek 对话四个入口;
选中一段文字后也能点问 AI,把那一段当上下文直接追问(用的是
设置 → AI → Deepseek Key 里配好的那一份,与写作模式的 AI 润色同一个 Key)。
写作(研墨)
日记 / 自由写作、大纲写作、灵感库、AI 润色、Flomo 同步、WebDAV 同步、历史版本、Markdown 渲染、竖排书写。
计划(研行)
GTD 任务管理:任务 / 项目 / 日历 / 便签 / 筛选,可导出 Markdown。
共用一套虚拟键盘
底部功能行是 面板切换 · 空格 · 中/英 · 回车,上面一行是
布局 · Ctl · 方向键 · Shift · 退格。键盘布局(26 / 14 / 18 / 9 键)在
设置 → 输入法 → 键盘布局里换;也能在设置 → 通用 → 蓝牙设备管理里
配对蓝牙键盘或翻页器。
八、SD 卡目录
/sdcard/
├── books/ # 书籍(EPUB / TXT / XTC)— 书架就扫这里
├── WeRead/ # 微信读书缓存整本的落盘目录(书架也扫)
├── fonts/ # 用户字体 <name>.ttf
├── dictionaries/<id>/ # 已安装词典(StarDict)
├── settings/ # 设备设置与状态(按键映射 / 剪贴板 / 同步状态…)
├── pjournal/ # 日记正文
├── outline/ # 大纲 / 灵感库
├── gtd/ # 计划模式数据
├── flomo/ # Flomo 本地库
├── exports/ # 阅读标注导出
├── .crossmux/ # 各书的排版 / 封面缓存
├── reader_progress.txt # 阅读进度
├── reader_notes.txt # 标注 / 笔记
└── reader_stats.json # 阅读统计
. 开头的目录是内部缓存,删掉只会让它重新生成(重排版 / 重抓封面)。
书的排版缓存按书独立,删书请走书架菜单的「删除本书」,它会连带清缓存。
书架只扫 books/(含 Books/、book/)与
WeRead/ —— 根目录下的 .txt 不会被当成书
(那一层是设置、进度、笔记这些数据文件)。想在根目录随手放一本看,走
「文件」标签页打开即可。
九、常见问题
点「连接设备」没反应 / 列表里没有设备
- 确认用的是 Chrome 或 Edge(Safari / Firefox 没有 WebSerial,点了也不会有反应)。
- 确认是数据线而不是纯充电线。
- 关掉所有占用串口的程序:
idf.py monitor、Arduino IDE 串口监视器、串口助手,
以及本机的 cat /dev/ttyACM0。同一时刻只能有一个程序打开串口。
- 列表里选的是
USB JTAG/serial debug unit;如果同时插了别的 USB 串口设备,注意别选错。
刷到一半失败 / 校验不通过
- 不会有问题,重新刷一遍即可(固件是整包写入,没有"刷一半"的中间状态)。
- 连续失败就换一根线、换一个 USB 口(尽量直插主板,别走 USB hub)。
刷完屏幕没变 / 设备不亮
- 「屏幕没变」多半是正常的:设备设置、SD 卡内容都不参与刷机,画面当然一样。
- 刷完设备会重新枚举 USB,串口节点名会变(
/dev/ttyACM0 可能变成
/dev/ttyACM1),之前开着的 idf.py monitor 会失效,要重新开一个。
- 真黑屏:按一下电源键唤醒看看(可能只是睡过去了);仍然不行就重刷一遍,或用
erase_flash 抹掉后重刷。
刷完能退回官方固件吗
能。用本页面刷本项目任意版本的整包即可;要从本固件退回官方固件,用官方那套刷机方式重刷它的整包。
十、不用网页、走命令行
装了 Python 的话,也可以直接从 Releases 下载整包手动刷:
pip install esptool
# 整包(引导程序 + 分区表 + 应用)→ 0x0
esptool.py --chip esp32s3 -b 460800 write_flash 0x0 yanreader-<版本>-full.bin
# 或者只更新应用、不动引导程序 / 分区表 → 0x10000
esptool.py --chip esp32s3 -b 460800 write_flash 0x10000 pjournal_pico.bin
不要把 pjournal_pico.bin 刷到 0x0(它是纯应用镜像,没有引导头,
刷错地址设备起不来)。本页面的固件闸口会挡掉这种误操作。
接串口看日志(空闲时固件不打日志,按一下按键才有输出):
cat /dev/ttyACM0
十一、硬件与说明
| 主控 | ESP32-S3(双核 240MHz,16MB flash,8MB Octal PSRAM) |
| 屏幕 | E0470A01 电子纸 1216 × 684 |
| 按键 | 3 个电容键(左 / 中 / 右)+ 电源键 |
| 触摸 | CST836U 电容触摸 |
| 传感器 | SC7A20H 加速度计(晃动机身 = 全刷清残影) |
| 存储 | microSD(FAT,UTF-8 长文件名) |
本项目是非官方的第三方固件,与硬件厂商无隶属关系;刷机有风险(但随时可以用同一个页面重刷)。
设备厂商的说明里写明「自行调整屏幕波形会使设备失去保修」—— 本固件包含波形相关改动,请知悉。