E-paper frame allows you to display, edit and remove To Do list as well as current weather and the forecast.
The frame is powered by the battery which requires charging once per month. E-paper display is refreshed once per half an hour and then goes into deep sleep. To refresh display immediately you can use refresh button located on the back of the frame.
Weather forecast is downloaded from https://openweathermap.org webpage.
Whole project consists of two parts: server (Raspberry PI 5) and the frame (ESP32 microcontroller).
Raspberry Pi is responsible for serving webpage allowing to add, remove and edit to do list. If expiration date is chosen then the item on To Do list is colored on red. There is also generated on Raspberry Pi whole picture displayed by e-paper. Each half an hour the frame wake-up and send request to the server. Server (Python Flask) generate the picture reading the To Do list from json file on the web server and put together with the generated earlier forecast. Picture is sent as binary file to the frame. Frame download picture to the memory (requires ESP32 with about 1MB PSRAM) and then display the picture on the e-paper display. Then ESP32 goes to deep sleep.
ESP32 communicates with Raspberry Pi using WiFi network.
Back of the frame has USB charging port and wake-up button.
The frame must have empty space between plexiglass and back to accommodate all components
Battery wires are soldered to the ESP32 microcontroller. Battery is also charged by USB port in ESP32. It's very slow charging because microcontroller power charging capacity is 100mA.
ESP32 was programmed using Arduino IDE. The biggest challenge was generation a binary picture file on server side which will be readable by ESP32. There is only partial documentation provided by e-paper display manufacturer. After a few attempts and comparison other displays' libraries in Python, it works.
Comments
Please log in or sign up to comment.