站内搜索
更多
[Ebook]ESP32S3护眼墨水屏掌机
专业版

[Ebook]ESP32S3护眼墨水屏掌机

简介

Ebook 是一款基于 ESP32-S3 的 2.7 寸墨水屏阅读器,支持触摸、拨码与 TF 卡扩展,内置阅读、音乐、天气、时钟等应用,采用自研 UI 框架,适合开源学习与产品二次开发。

简介:Ebook 是一款基于 ESP32-S3 的 2.7 寸墨水屏阅读器,支持触摸、拨码与 TF 卡扩展,内置阅读、音乐、天气、时钟等应用,采用自研 UI 框架,适合开源学习与产品二次开发。
星火计划2026
复刻成本:180

开源协议

MIT License

创建时间:2026-05-22 11:09:45更新时间:2026-07-24 17:50:31

描述

视频链接

【Ebook】基于ESP-S3开源墨水屏阅读器

配件链接

屏幕:https://item.taobao.com/item.htm?id=881039547517&mi_id=0000UkQN-KnKEyfDHTW45e78JVvxdM8p9oS8Iwv0sla1FUk&spm=tbpc.boughtlist.suborder_itempic.d881039547517.6f2b2e8d552KuX&skuId=5888360022433

喇叭:https://item.taobao.com/item.htm?id=606106746285&mi_id=00003BBMNEKaQ7ksc_pqNM6WiurnR_heTxtL2ypFq236Dkg&spm=tbpc.boughtlist.suborder_itempic.d606106746285.6f2b2e8d552KuX

电池选择601452:https://detail.tmall.com/item.htm?id=799461424541&mi_id=0000lSmCOkuhJKP4NKF-jrT2leh9qqEqfiXM5M39RfXcGJs&spm=tbpc.boughtlist.suborder_itemtitle.1.6f2b2e8d552KuX


交流平台

QQ群聊:820311402


项目简介

Ebook 是基于 ESP32-S3 的 2.7 寸黑白墨水屏多功能阅读器:电容触摸 + 三档拨码快捷键 + TF 卡扩展,在自研 UI 框架(路由 / 合成 / 上屏)上运行阅读、记事本、音乐、天气等 12 款应用,支持 Wi-Fi 热点传文件、USB MSC 与 TF 卡导入,适合开源学习与二次开发。

项目说明
开源仓库GitHub — CHENXiNNNX/Ebook
固件版本Ebook-v1.1.2(见根目录 CMakeLists.txtPROJECT_VER
开发框架ESP-IDF v5.4+ / v6.x,C++
交互路径锁屏 → 主页 → 应用网格 → 子应用

项目功能

系统能力

  • 锁屏:时间、日期、电量、每日金句;上滑解锁 / PIN 解锁
  • 主页:在读摘要、快捷入口、「更多」应用列表
  • 控制中心:Wi-Fi / 蓝牙 / 夜间模式 / 锁屏 / 省电(下滑状态栏)
  • 拨码快捷键:阅读器 / 列表 / 全局三场景可配置翻页、返回、主页、亮度、音量等(设置 → 按键)

内置应用

应用状态功能概要
阅读已发布TXT 书架、翻页、字号、进度记忆;扫描 Ebook/txt/int + /sd
记事本已发布多文件 TXT 编辑;扫描 Ebook/notes/int + /sd
相册已发布JPEG 解码适配墨水屏;扫描 Ebook/photos/int + /sd
画板已发布1-bit BMP 绘制与导出;目录 Ebook/drawings(优先 /int,可回退 /sd
音乐已发布MP3 / WAV 流式播放;扫描 Ebook/music/int + /sd
天气已发布高德 Web 服务:实况、预报、31 城、IP 定位
时钟 / 日历已发布大字时钟、闹钟、月历视图
电子木鱼已发布敲击计数与音效
文件管理已发布/int(userdata)/ /sd / /assets 浏览
设置已发布网络、显示、按键、声音、时间、存储、安全、关于
更新规划中固件在线升级入口,对接双 OTA 分区

数据交换与存储

方式说明
无线局域网开启个人热点后,浏览器访问提示 IP(如 192.168.4.1),上传 / 下载 / 管理 /int 文件
USB 大容量存储userdata 分区 TinyUSB MSC,接入 PC 可当 U 盘读写(暴露给 PC 时设备暂不可访问 /int
TF 卡扩展SDMMC 4-bit,挂载 /sd,结构与内部盘相同
本地文件管理浏览内部存储、TF 卡及系统资源分区

用户内容目录约定(固定子目录扫描,不全盘检索;/int/sd 结构一致):

/int/Ebook/          /sd/Ebook/
├── txt/             ├── txt/         # 阅读
├── music/           ├── music/       # 音乐
├── photos/          ├── photos/      # 相册
├── notes/           ├── notes/       # 记事本
└── drawings/        └── drawings/    # 画板导出(会话缓存仅写 /int)

设备内「新建」默认优先写 /int;大容量书籍 / 音乐 / 照片建议放 TF 卡。详细说明见仓库 assets/fat_userdata/README.txt

天气配置idf.py menuconfigEbook Configuration高德API Key,在 lbs.amap.com 申请 Web 服务 Key(开通「天气查询」「IP 定位」)。


项目参数

类别规格
主控ESP32-S3,240 MHz,Octal PSRAM,16 MB Flash(QIO)
显示屏GDEY027T91,2.7",竖屏 176×264,1 bit 黑白,SPI,SSD1680
触摸FT6336U,I2C,点击 / 滑动
音频ES8311 + I2S,MP3 / WAV;板载预留麦克风接口
IMUQMI8658A(I2C,固件预留扩展)
存储userdata 约 6 MB(FAT,挂载 /int)+ assets 4 MB(LittleFS /assets)+ TF 卡 /sd
输入ADC 三档拨码(GPIO15)
电源约 500 mAh / 3.7 V 锂电,GPIO6 ADC 采样,低电量省电提示
无线Wi-Fi STA、BLE(NimBLE)、个人热点
刷新全刷 / 快刷 / 局刷,路由边表可配置

分区与烧录偏移以 partitions/partition_16mb.csv 及发布包内 FLASH.md 为准(应用区约 2.94 MB×2,assets @ 0x600000,userdata @ 0xA00000)。


原理解析(硬件说明)

整机由 电源与充电ESP32-S3 主控墨水屏与前光触摸与拨码音频TF 卡USBIMU 等模块组成。固件通过 BSP 封装 GPIO / I2C / SPI / I2S / SDMMC,应用层不直接操作引脚。

系统框图

锂电池 → 电源管理 → ESP32-S3
                        ├─ SPI   → GDEY027T91 + PWM 前光
                        ├─ I2C   → FT6336U / ES8311 / QMI8658A
                        ├─ I2S   → ES8311 → 功放 → 扬声器(麦克风已预留)
                        ├─ SDMMC → TF 卡
                        ├─ USB   → Type-C 烧录(GPIO19/20)
                        ├─ UART0 → 调试日志(GPIO43/44)
                        └─ ADC   → 电池电压、三档拨码

关键电路

供电切换电路

供电切换电路

默认电池供电;插入 Type-C 后自动切换 USB 供电并为电池充电。

墨水屏驱动电路

墨水屏驱动电路

适配 2.7 寸墨水屏,兼容触摸与前光接口;R27 可调电阻可在硬件上限制前光最高亮度。

音频电路

音频电路

板载扬声器用于音乐播放;麦克风接口已预留,便于后续扩展语音类应用。

结构与 PCB

整机结构

整机结构

后壳 → 主板 → 电池/支架 → 墨水屏模组 → 前壳

主板俯视图

主板俯视图

整机组装

首先准备PCB

依次连接屏幕排线,从右往左依次是屏幕排线、前光排线、触摸排线
当然兼容不带触摸或者不带前光版本的屏幕,可自行选择
ede8ac2e7a32a7b363ffa40ce417fb81.jpg
焊接喇叭并穿过屏幕排线
6a4fbe8ca066d2fd3bfa3282cc36193f.jpg

焊接电池排线注意不要焊接反了哦
17b81cc2a8dfc910c6cc65a4ec3fcadc.jpg

开始组装

1,首先确认板子烧录,是否启动正常,然后准备好打印的外壳
bf04a547769c703ed9459e42fd4002e2.jpg
2,放入屏幕,推向外壳一边底部
8d4b5fb49c66f7503f2afcf46e314db0.jpg
3,放入压板,覆盖在屏幕上方
9c72da0e3acef1fd81abebc635ef74cc.jpg
4,接下来翻转扣下PCB,注意电池排线不要被压着,可以用双面胶固定一下电池,然后把喇叭放在出声孔处
7ea917f34aad4ce6ecf28e808f95e234.jpg
5,最后盖上后壳,先插入底部然后向前推,紧贴屏幕和压板,然后扣下上半部分即可完成

微信图片_20260709095524_296_142_副本.jpg

模块与引脚

功能GPIO
I2C SDA / SCL2 / 1
I2S MCLK / SCLK / LRCK / DI / DO41 / 40 / 39 / 42 / 38
功放使能7
屏 MOSI / SCLK / CS / DC / RST / BUSY3 / 46 / 9 / 10 / 11 / 12
前光 PWM17
触摸 RST / INT18 / 5
TF D0–D3 / CLK / CMD / CD14 / 13 / 45 / 48 / 21 / 47 / 4
拨码 ADC15
电池 ADC6

引脚定义与 main/bsp/config/config.hpp 保持一致。


软件代码

仓库https://github.com/CHENXiNNNX/Ebook

目录摘要

Ebook/
├── main/app/ebook/      # UI 框架、路由、12 个 App
├── main/app/network/    # Wi-Fi / BLE(连接层)
├── main/app/protocol/   # HTTP / NTP / WebSocket / file_server
├── main/app/system/     # Task / Power / Event / Info
├── main/bsp/            # 屏、触摸、音频、电池驱动
├── main/common/         # 存储、OTA 等公共模块
├── assets/              # 字库、IME、热点网页;fat_userdata 出厂目录
├── partitions/          # 16 MB / 8 MB 分区表
├── patches/             # managed_components 补丁
└── scripts/             # package_firmware.py 打包脚本

启动流程

app_main() → ebook_app_run()
  └→ boot.cc:NVS / 存储 / 显示 / 触摸 / 网络 / 应用注册
       └→ UiLoop:输入 → Router → FrameComposer → Presenter → 墨水屏刷新

应用注册示例

// main/app/ebook/apps/app_registry.cc
void AppRegistry::register_defaults()
{
    register_app(&reader::ReaderApp::instance());
    register_app(&notepad::NotepadApp::instance());
    // ... 共 12 个应用(含「更新」占位)
    register_app(&settings::SettingsApp::instance());
}

构建与烧录

idf.py set-target esp32s3
idf.py build flash monitor

后续更新计划

以下为当前版本之后的暂定规划,按优先级大致排列。

固件与系统

方向计划内容
OTA 升级完善「更新」应用 UI,对接 common/ota 双分区升级、版本校验与回滚
电源管理设置中电池详情页:电量、充电状态、省电策略说明
USB MSC优化 PC 与设备挂载切换体验
陀螺仪功能实现体感交互玩法设计

阅读与内容

方向计划内容
EPUB 支持阅读器扩展 EPUB,完善排版与目录跳转
阅读体验书签、全文检索、更多字体与行距选项
内容同步探索 Wi-Fi 书籍推送与阅读进度云同步(可选)

注意事项

场景说明
首次烧录需烧录 bootloader、分区表、ota_data、应用、assets、userdata;偏移以发布包 FLASH.md 为准
资源更新修改 assets/littlefs_assets 后须重烧 assets.bin
墨水屏低温少快刷;残影可用全刷 / 快刷缓解
TF 卡建议 FAT32;写入中避免热拔
USB MSC暴露给 PC 时设备无法访问 /int,用完后需收回挂载
热点传文件连接热点后访问提示 IP(如 192.168.4.1
天气未配置 CONFIG_EBOOK_AMAP_WEATHER_KEY 无法拉取数据
调试日志走 UART0(TX=GPIO43,RX=GPIO44);烧录可用 Type-C
拨码档位不准时调整 config.hppDIP_SWITCH_THRESHOLD_*

实物图

微信图片_20260709095525_297_142.jpg

微信图片_20260709095504_292_142.jpg

微信图片_20260709095520_293_142.jpg

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
1
前壳4.STL
3
2
墨水屏装配体 - 后壳-2.STL
6
3
压板.STL
3

附件

序号文件名称下载次数
暂无数据
克隆工程
添加到专辑
0
0
分享
侵权投诉
知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

底部导航