- About
- Getting Started
- BOM
- Printed Parts
- Mechanical Build
- Electrical Build
- Preparing the pictures
- Code
- Ressources
This is a project creating a battery operated digital picture frame. I hated the hassel with commercial digital picture frames which are only showing pictures while connectd to mains. So it was down for most of the time showing a black screen. My goal was to design a concept for a digital picture frame with very low power consumption. So the choice fell towards a esp32 board with a very low deep sleep current, together with a low power E-paper display, which only consumes power during picture change.
The Firebeetle ESP32 has a deep sleep current of only 0.053mA according to great research of The guy with the swiss accent
For this build you have to source some parts and 3d print some.
Count | Part | Cost |
---|---|---|
1 | E-Paper Display | 60.99$ |
1 | Picture Frame | 4.95€ |
1 | LiPo 3.7V | 5.50€ |
1 | Firebeetle ESP32 | 6.90$ |
1 | Brass Screw | ~ 1€ |
4 | M2x4mm Screws | |
4 | M2x8mm Screws | |
8 | M2 Threaded Inserts |
I printed the parts in wooden PLA filament on my Prusa Mini.
Count | Part |
---|---|
1 | Back |
1 | Passepartout |
2 | Stand |
1 | Lid |
First solder a wire together with the brass screw. This can be very tricky because of the high temperature needed. If you struggle, an idea is to drill a 1.5-2.0mm hole into the screw. Add solder to the hole and heat it up so you can put the wire into the hole with the hot solder. Drill a hole with a 4.5mm drill bit into the frame where you want to place the button-screw.
Connect the ESP board according to the wiring sketch.
Since the E-paper Display only allows Pictures with a resolution of 880x528px with only black and white pixels you have to edit your pictures according these constraints. You find a reference from waveshare here I will give a short step-by-step instruction of the process, which worked for me.
- Install GIMP
- Open GIMP
- Drag and Drop a Picture (.jpg) into the GIMP Workspace
- Layer -> Scale layer... → set to 880px
- Layer -> Scale Height.. -> set to 528px
- Image → Crop to content
- Colors → Desaturate → Desaturate ...
- Colors → Posterize → 16 levels (optional)
- Image → Mode → Indexed ... → Use black/white palette (1-bit)
- Dithering → Color dithering: Floyd-Steinberg (normal) → Convert
- File → Export to ... → Append .bmp extension → Export
- Use this tool to convert your .bmp files to cpp byte code. Set the code output mode to Arduino Code
- Copy the byte code to your Arduino project
Open the main.ino file with your Arduino IDE. There should be a few tabs. Each picture has to prepared according to the example picture in a .c
and a .h
file. Then the include path has to be added to Picutes.h
.
Please also look through the main.ino
file and change the code according to the names and numers of your pictures.
There are many ohter cool e-paper based picture frame projects out there which have many other special features. My work was also inspired by them. But my focus was to build a very low power consuming project to have it battery operated.