All Projects → henri98 → esp32-e-paper-weatherdisplay

henri98 / esp32-e-paper-weatherdisplay

Licence: MIT license
An ESP32 and 4.2" ePaper Display reads Dark Sky weather API and displays the weather using ESP-IDF

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to esp32-e-paper-weatherdisplay

epaper-clock-and-more
e-paper clock + weather + AQI + traffic delays - using Waveshare 2.7inch & 4.2inch eink displays running on Raspberry Pi
Stars: ✭ 34 (-69.09%)
Mutual labels:  weather, eink, epaper
esp32-epaper-display
Server and software to use an ESP32 as a connected display
Stars: ✭ 73 (-33.64%)
Mutual labels:  esp32, esp-idf, epaper
Arduino Esp32
Arduino core for the ESP32
Stars: ✭ 7,741 (+6937.27%)
Mutual labels:  esp32, esp-idf
esp32-ota
ESP32 OTA based on ThingsBoard Open-source IoT Platform
Stars: ✭ 45 (-59.09%)
Mutual labels:  esp32, esp-idf
Homekit
Homekit for ESP32 with Arduino framework
Stars: ✭ 80 (-27.27%)
Mutual labels:  esp32, esp-idf
Low power TTGO T-beam
Low power consumption for TTGO t-beam
Stars: ✭ 45 (-59.09%)
Mutual labels:  esp32, low-power
esp-idf-w25q64
SPI Flash Memory W25Q64 Access Library for esp-idf
Stars: ✭ 12 (-89.09%)
Mutual labels:  esp32, esp-idf
raspi-weather
a weather application for the raspberry pi and the Pimorioni Inky pHAT.
Stars: ✭ 59 (-46.36%)
Mutual labels:  weather, eink
WXKDarkSky
A pure-Swift Codable layer over the Dark Sky API.
Stars: ✭ 21 (-80.91%)
Mutual labels:  weather, dark-sky-api
MQTT VPN
IP over MQTT for ESP controllers and Linux
Stars: ✭ 95 (-13.64%)
Mutual labels:  esp32, esp-idf
esp32-freqcount
ESP32 Frequency Counter using Pulse Counter and Remote Control modules
Stars: ✭ 48 (-56.36%)
Mutual labels:  esp32, esp-idf
esp-idf-json
Example of JSON Serialize and Deserialize in ESP-IDF
Stars: ✭ 29 (-73.64%)
Mutual labels:  esp32, esp-idf
esp-idf-hal
embedded-hal implementation for Rust on ESP32 and ESP-IDF
Stars: ✭ 42 (-61.82%)
Mutual labels:  esp32, esp-idf
esp-idf-parallel-tft
8bit parallel TFT & 4-line resistance touch screen Driver for esp-idf using i2s paralell mode
Stars: ✭ 45 (-59.09%)
Mutual labels:  esp32, esp-idf
lis3dh-esp-idf
LIS3DH driver for ESP-IDF (ESP32)
Stars: ✭ 27 (-75.45%)
Mutual labels:  esp32, esp-idf
esp-idf-vscode-boilerplate
Boilerplate for developing ESP-IDF applications using VS Code
Stars: ✭ 26 (-76.36%)
Mutual labels:  esp32, esp-idf
ESP32-LCD-I2S
Espressif ESP32 driving a controller-less monochrome lcd with parallel I2S bus
Stars: ✭ 54 (-50.91%)
Mutual labels:  esp32, esp-idf
esp32-ds18b20
ESP32-compatible C library for Maxim Integrated DS18B20 Programmable Resolution 1-Wire Digital Thermometer.
Stars: ✭ 61 (-44.55%)
Mutual labels:  esp32, esp-idf
opcua-esp32
Embedded OPC UA Server on ESP32 based on open62541 stack
Stars: ✭ 82 (-25.45%)
Mutual labels:  esp32, esp-idf
ESP32-USB-Soft-Host
An Arduino wrapper to @sdima1357's usb_soft_host esp-idf example
Stars: ✭ 119 (+8.18%)
Mutual labels:  esp32, esp-idf

esp32-e-paper-weatherdisplay

Build Status

An ESP32 and 4.2" ePaper Display reads Dark Sky weather API and displays the weather using the Espressif IoT Development Framework

esp32-e-paper-weatherdisplay-0

Getting Started

Hardware

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.

Pin configuration

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
Update Button DOIT ESP32 DEVKIT V1
Pin A GPIO_NUM_4 PIN
Pin B GND
Reset Button DOIT ESP32 DEVKIT V1
Pin A RESET PIN
Pin B GND

Connect a LiPo battery to the VCC of the Waveshare e-Paper module.

Software

Prerequisites

Please check ESP-IDF docs for getting started instructions.

Clone the project

git clone https://github.com/henri98/esp32-e-paper-weatherdisplay.git

Build and flash the project

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 

You can also choose to update the firmware over the air. This requires that a previous version of the firmware has already flashed. The update will be downloaded over HTTP. The update URL can be configured:

make menuconfig

The configuration menu will be displayed. Navigate to WiFi Configuration and enter the URL where the firmware can be found. After compiling the binary file can be found in the build directory: e-paper-weatherdisplay.bin

A simple HTTP server can be created using python:

python3 -m http.server 8080

If you start the HTTP server in the root of the project, the firmware can be retrieved using:

http://ip:8080/build/e-paper-weatherdisplay.bin

By pressing the update button (connect pin 4 to GND) after a reset the update will be started.

Casing

A case has been made for the hardware. This can be found on Thingiverse: https://www.thingiverse.com/thing:3357579

License

This source of this project is licensed under the MIT License - see the LICENSE file for details

Icons and fonts

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.

Images

esp32-e-paper-weatherdisplay-1

esp32-e-paper-weatherdisplay-2

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].