FrameFilm

帧影(FrameFilm)电子胶片冰箱贴

![FrameFilm渲染图](/FrameFilm/assets/pic/model/rendering2.png) *复古胶片质感 × 电子纸显示 × 磁吸安装* [![License](https://img.shields.io/badge/license-GPL--3.0-blue.svg)](LICENSE) [![Platform](https://img.shields.io/badge/platform-ESP32-green.svg)](https://www.espressif.com/)

项目概述

帧影(FrameFilm)✨ 一款超有氛围感的彩色电子纸冰箱贴!📺

主打胶片复古质感,把家的仪式感拉满~轻轻一贴,定格生活每一帧的美好瞬间。💫

“帧影”寓意”一帧一影,定格时光”,英文名FrameFilm结合”帧”与”胶片”,满满的复古情怀 🎞️

核心功能

固件组件

组件 说明
film_sys 系统初始化、日志、配置管理
film_service 核心业务服务(BLE通信、文件管理、照片播放、参数存储)
film_hal 硬件抽象层(电子纸、电池、LED、编码器、存储)

硬件规格

FrameFilm(基础版)

参数 规格
主控芯片 ESP32-S3 WROOM N16R8
显示屏 彩色电子纸 3.6” 600×400 (WFT驱动)
存储 TF卡 最大32GB 或 内置SDnand
通信 蓝牙 BLE 4.2
交互 旋转编码器(带按键)
电池 锂电池 304040规格 1.5mm插头
尺寸 约 92 × 60 × 7 mm
安装方式 背部磁吸 磁铁 2x12mm-1mm 1x15mm-2mm

FrameFilm Pro

参数 规格
主控芯片 ESP32-S3 mini N4R2
显示屏 彩色电子纸 3.68” 792×528 (SE0368-C驱动)
存储 内置SDnand
通信 蓝牙 BLE 4.2 / WiFi
交互 三按键
电池 锂电池 244147规格
充电 支持无线充电(兼容 MagSafe 充电器)
尺寸 约 90 × 59 × 5 mm
安装方式 背部磁吸 magasafe磁环

硬件开源

硬件设计已在立创开源硬件平台开源:

👉 立创开源硬件平台 - FrameFilm
👉 立创开源硬件平台 - FrameFilmPro
👉 立创开源硬件平台 - FrameFilm星火版
👉 立创开源硬件平台 - FrameFilm通行证
👉 立创开源硬件平台 - FrameFilmDock

💬 复刻交流 QQ 群:1103626779(欢迎入群交流制作经验)

项目结构

FrameFilm/
├── assets/                     # 资源文件
│   └── pic/                   # 产品图片和渲染图
│
├── docs/                      # 文档资料
│   ├── blecmd/                # BLE 通信协议文档
│   ├── datasheet/             # 芯片和模块数据手册
│   ├── film/                  # film 文件格式规范
│   ├── filmhub/               # 云端相框服务设计文档
│   ├── hardware/              # 硬件规格说明文档
│   ├── knowledge/             # AI 知识库(架构/规范/命令速查)
│   └── wifi/                  # WiFi 功能说明(Pro 版)
│
├── firmware/                   # 设备固件 (ESP-IDF)
│   └── frame_film/
│       ├── components/
│       │   ├── film_service/  # 服务层
│       │   ├── film_sys/      # 系统层
│       │   └── film_hal/      # 硬件抽象层
│       ├── main/              # 主程序
│       └── sdkconfig_*        # 各机型配置 (std/pro/max)
│
├── hardware/                   # 硬件设计
│   ├── pcb/                   # PCB 电路原理图
│   └── model/                 # 外壳 3D 模型
│
├── server/                     # 云端服务
│   ├── backend/               # 后端 API 服务 (FastAPI)
│   └── web/                   # Web 管理前端
│
├── tools/                      # 开发工具
│   ├── convert/               # 照片转换工具
│   ├── ForFilm/               # Web 端相框管理工具
│   └── wechart/               # 微信小程序
│
├── AGENTS.md                   # AI 开发指南
├── README.md                   # 项目说明文档
└── LICENSE                     # 许可证

快速开始

固件开发

固件为多机型统一源码,编译前需先完成机型配置(替换 sdkconfig + 修改设备类型宏),再编译烧录。

  1. 环境要求
    • ESP-IDF v5.3+
  2. 配置目标机型与屏幕
    • 替换 sdkconfig:将 firmware/frame_film/sdkconfig_<机型> 复制为 sdkconfig
    • 修改设备类型宏:编辑 firmware/frame_film/components/film_sys/inc/sys_cfg.h,将对应机型宏置 1(三选一)
    • 选择屏幕:编辑 firmware/frame_film/components/film_hal/inc/hal_epd.h,在对应机型分支内将目标屏幕的 EPD_SELECT_E6_* 置 1、其余置 0
    机型 替换用的 sdkconfig sys_cfg.h 宏 默认屏幕
    基础版 sdkconfig_std FRAMEFILM_STD 3.6” 600×400
    Pro 版 sdkconfig_pro FRAMEFILM_PRO 3.68” 792×528
    Max 版 sdkconfig_max FRAMEFILM_MAX 7.09” 1200×1600 双面板

    可选屏幕(hal_epd.hEPD_SELECT_E6_* 宏):

    屏幕 分辨率 面板 ID
    3.68” 792×528 0x01 EPD_SELECT_E6_3_68_792_528
    3.70” 720×480 0x02 EPD_SELECT_E6_3_70_720_480
    3.6” 600×400 0x03 EPD_SELECT_E6_3_60_600_400
    1.54” 240×240 0x04 EPD_SELECT_E6_1_54_240_240
    7.09” 双面板 1200×1600 0x05 EPD_SELECT_E6_7_09_1600_1200
    cd firmware/frame_film
    cp sdkconfig_std sdkconfig   # 示例:基础版;Pro/Max 版同理
    
  3. 编译固件
    idf.py build
    
  4. 烧录固件
    idf.py flash monitor
    

使用 VS Code ESP-IDF 插件

项目已包含 .vscode/settings.json(IDF 路径已配置),按以下步骤即可编译烧录:

  1. 安装扩展:VS Code 扩展商店搜索 Espressif IDF 并安装
  2. 打开项目:文件 → 打开文件夹 → 选择 firmware/frame_film
  3. 配置机型:与命令行方式相同(替换 sdkconfig + 修改 sys_cfg.h 机型宏)
  4. 选择目标芯片:底部状态栏点击芯片图标,选择 esp32s3
  5. 选择串口:底部状态栏点击 COM 端口,选择设备对应的串口
  6. 编译:点击底部状态栏的 构建图标(火焰),或按 Ctrl+E 然后 B
  7. 烧录:点击 烧录图标,或按 Ctrl+E 然后 F
  8. 串口监视:点击 监视图标,或按 Ctrl+E 然后 MCtrl+] 退出)

提示:首次构建时间较长属正常;若更换串口/芯片,在底部状态栏重新选择即可。

照片转换

ForFilm

ForFilm Web 工具,支持以下功能:

在线工具(GitHub Pages): 👉 FrameFilm Web 工具

微信小程序

FrameFilm 微信小程序,方便在手机端管理和传输照片:

小程序码,扫码即可体验。
小程序码

Film-hub(云端相框服务)

局域网部署的云端相框服务,为设备提供 WiFi 内容推送、模板渲染与远程管理能力:

技术栈: FastAPI + SQLite + Vue 3,单机局域网部署。

开发指南

详细的开发文档请参考各模块 README:

技术文档目录:

免责声明

本项目(FrameFilm/帧影)为开源学习与兴趣制作项目,所提供的一切源码、硬件设计、文档及资料均按「现状」提供,仅供学习、研究与非商业用途参考。

使用本项目即视为已阅读并同意上述条款。

开源许可

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

致谢