Skip to content
MCU Atlas
ESP32ESP32Draft

Low-power ESP32 e-paper weather display (7.5in)

A wall-mounted 7.5in e-paper weather display on an ESP32 that runs for months on one battery charge.

Difficulty:IntermediateCost:Source available

Photos

Low-power ESP32 e-paper weather display (7.5in) photo 1
Low-power ESP32 e-paper weather display (7.5in) photo 2
Low-power ESP32 e-paper weather display (7.5in) photo 3

Photos: lmarzen/esp32-weather-epd

Key Facts

  • Chip: ESP32 (FireBeetle 2 ESP32-E recommended)
  • Display: 7.5in 800x480 e-paper
  • Sensor: BME280 indoor
  • Data: OpenWeatherMap API
  • Power: LiPo + deep sleep

About This Project

This build pulls forecast data from the OpenWeatherMap API and renders a dense, nicely laid-out dashboard (current conditions, hourly graph, daily forecast, air quality) on a 7.5in 800x480 e-paper panel. The ESP32 wakes, fetches, draws and goes back to deep sleep, so a single LiPo lasts a long time. An indoor BME280 adds room temperature and humidity. The README documents wiring, a DESPI-C02 or Waveshare driver board, and a 3D-printable stand, which makes it one of the most reproducible e-ink weather builds on GitHub.

Source & Attribution

Source: GitHub
License: GPL-3.0
Last verified: 10/16/2026
Low-power ESP32 e-paper weather display (7.5in)
How to Build It
A battery-powered weather station on a 7.5in 800x480 e-paper panel. The ESP32 wakes about every 30 minutes, pulls forecast and air-quality data from OpenWeatherMap, reads a BME280 for indoor conditions, redraws the screen and goes back into deep sleep. One charge lasts several months.

Parts Needed

  • FireBeetle 2 ESP32-E (recommended for its low sleep current and battery charging)
  • 7.5in 800x480 e-paper panel (Waveshare v2 or Good Display GDEY075T7; 3-colour and 7-colour panels also supported)
  • DESPI-C02 e-paper adapter board (Waveshare HAT rev 2.2/2.3 not recommended)
  • BME280 sensor breakout
  • 3.7V LiPo with JST-PH2.0 connector (e.g. 5000mAh)
  • Jumper wires, optional reset button, and an enclosure (wooden stand or 3D-printed)

Steps

  1. 1

    Wire it up

    Connect the e-paper adapter to the FireBeetle over SPI and the BME280 over I2C, following the repo's wiring diagrams. If you use a Waveshare HAT rev 2.3, also tie its PWR pin to 3.3V.

  2. 2

    Get an OpenWeatherMap key

    Create a free OpenWeatherMap account. The display uses the One Call 3.0 API, which needs the separate 'One Call by Call' subscription. Its free tier covers 1,000 calls a day, so set a daily cap to stay at no cost.

  3. 3

    Open the project in PlatformIO

    Install VS Code and the PlatformIO extension, then open the repo's platformio folder.

  4. 4

    Configure

    Put your Wi-Fi details, API key, location, time zone, units and language in src/config.cpp. In include/config.h, choose your panel type and adapter board.

  5. 5

    Upload

    Connect the board over USB and click PlatformIO: Upload. Libraries download automatically and the first screen refresh takes about 15 seconds.

  6. 6

    Tips

    If the screen shows an error, check the README's troubleshooting section. A 401 error usually means a bad key or a missing One Call subscription. Longer update intervals mean longer battery life.

Parts List (BOM)
Complete parts list from the creator
complete
PartQtyRoleEst. PriceBuy
1main board$8–$12View
1display$45–$65View
DESPI-C02 or Waveshare e-paper HAT adapter
1display driver——
1sensor$3–$15View
1power$4–$10View
Estimated Total$60–$102 USD

Not included: 3D-printed case, wire, solder, USB cable

Download CSV

Related Projects

Watchy: open-source ESP32 e-ink smartwatch
Illustration
ESP32Draft
An open-source smartwatch with a 1.54in e-paper screen and ESP32, hackable watch faces in Arduino.
Beginner·Under $15·Code
2 parts listed
OpenEPaperLink: reuse e-ink shelf labels with an ESP32 access point
Illustration
ESP32ESP32-S3Draft
Turns cheap second-hand electronic shelf labels into a Wi-Fi-managed e-ink display fleet via an ESP32 access point.
Advanced·Under $15·Code
3 parts listed
Cheap Yellow Display: community hub for the ESP32-2432S028 touchscreen
Illustration
ESP32Draft
A community guide, pinouts and examples for the ~$15 ESP32 board with a built-in 2.8in resistive touchscreen.
Beginner·Cost varies·Code
2 parts listed