An ESP32 and 4.2" ePaper Display reads Dark Sky weather API and displays the weather using the Espressif IoT Development Framework
For this project an ESP32 development module and a Waveshare 4.2inch e-Paper module are used. Documentation about this e-Paper module can be found here. As ESP32 development board the DOIT ESP32 DEVKIT V1 can be used used.
To save battery power, the SILABS CP210x USB to UART Bridge and the AMS1117 voltage regulator can be removed from the development board. An external USB to UART converter can be used for programming.
Waveshare e-Paper | DOIT ESP32 DEVKIT V1 |
---|---|
MOSI_PIN | GPIO_NUM_27 |
CLK_PIN | GPIO_NUM_26 |
CS_PIN | GPIO_NUM_25 |
DC_PIN | GPIO_NUM_33 |
RST_PIN | GPIO_NUM_32 |
BUSY_PIN | GPIO_NUM_35 |
VCC | 3V3 |
GND | GND |
Connect a LiPo battery to the VCC of the Waveshare e-Paper module.
Please check ESP-IDF docs for getting started instructions.
git clone https://github.com/henri98/esp32-e-paper-weatherdisplay.git
Navigate to the project folder:
cd esp32-e-paper-weatherdisplay
Configure the project:
make menuconfig
The configuration menu will be displayed. Navigate to WiFi Configuration and enter credentials to connect to the WiFi. Navigate to Dark Sky configuration and configure the Latitude, Longitude and the Dark Sky API key. You can get an API key here. With an API key you can make up to 1000 free requests, so enough to keep the weather display up to date.
Build and flash the firmware on the esp32:
make flash
To monitor the programm use:
make monitor
A housing has been made for the hardware. This can be found on Thingiverse: https://www.thingiverse.com/thing:3357579
This source of this project is licensed under the MIT License - see the LICENSE file for details
The weather icon images used are from https://github.com/erikflowers/weather-icons. The images are licensed under SIL OFL 1.1. The font used is the Ubuntu font, the license can be found here.
The images and font are converted to "C" source format using LCD Image Converter.