The project builds an electronic picture frame using a 7 color E-Ink display. It updates after an adjustable time period by reading images from an SD-Card. The frame is powered from a battery and mimics a real picture frame by requiring no power cable or a backlight. The software and hardware implements various power saving methods to run for a long time without recharging.
This is a hobbyist project. I have >20 years background in software development, but lack the electronic engineering background. I'm using this project to clear the fog in these mysterious regions below a HAL software layer. The project therefore includes a hardware design as well.
A set of project requirements is collected here: Requirements
Block diagram of the system:
The project is build using open source tools only. All of them are available for free. The following table shows the tools and versions used during development:
Tool | Usage | Version | Link |
---|---|---|---|
Visual Studio Code | Editor and IDE | 1.63.2 | https://code.visualstudio.com/ |
PlatformIO | Software build tools | 5.2.4 | https://platformio.org/ |
Python | Script programming | 3.10.1 | https://www.python.org/ |
GIMP | Image Manipulation | 2.10.30 | https://www.gimp.org/ |
ImageMagick | Image Manipulation | 7.1.0 | https://imagemagick.org/ |
GIT | Version Control | 2.19 | https://git-scm.com/ |
KiCad EDA | Hardware Design | 5.1.12 | https://www.kicad.org// |
The implemented software architecture design is shown on the Software Architecture page.
The system is assembled using the following parts: Partlist.
A description of the PCB developed for this project is described here: PCB.
The images to show on the frame must be in a special raw format. The process to generate this format is described on the ImageConverter page.
The SD Card must be formated using a FAT file system. The software expects a folder with the name "epd" on it. This folder contains the following data:
[epd]
|---- [err]
|---- [img]
|---- epd.cfg
- The folder "err" holds error images that are displayed in case of a problem, like "low battery".
- The folder img holds your images in epd format.
- The file epd.cfg are the parameters for the display. See Parameter File for instructions to create it.
An example file system can be copied from the example File System folder.