Skip to main content

NM-EPD-420 with ESP32-Dashboard

Build a low-power 4.2-inch tri-color e-paper weather dashboard on NM-EPD-420.

Overview​

ESP32-Dashboard is an open-source e-paper dashboard project by RockBase IoT. On NM-EPD-420 (ESP32-S3 + 4.2-inch tri-color EPD), it provides a practical always-on information screen for weather, air quality, and local environment data. Compared to the esp32-weather-epd project, this implementation uses a more cost-effective and faster-refreshing 4.2-inch tri-color panel, is easier to get started with, and offers richer features and configuration options. The Web-based configuration portal also makes customization more accessible.

This page explains how to deploy and use it on NM-EPD-420.

What You Get on NM-EPD-420​

  • 4.2-inch tri-color e-paper UI (red/black/white), 400 x 300
  • Open-Meteo weather + air quality data (no API key required)
  • Indoor temperature and humidity from onboard AHT20
  • Deep sleep power-saving wake cycle (default 30 minutes)
  • Web configuration portal for Wi-Fi, city/location, unit, language, and sleep schedule
  • Multilingual UI support (en_US, zh_CN)

Hardware and Environment​

  • Board: NM-EPD-420 (ESP32-S3)
  • Framework: Arduino (via PlatformIO)
  • Recommended toolchain: VS Code + PlatformIO IDE
  • Project repository: RockBase-iot/ESP32-Dashboard

Quick Deployment​

1. Clone the project​

git clone https://github.com/RockBase-iot/ESP32-Dashboard.git
cd ESP32-Dashboard

2. Open in VS Code​

Open the folder in VS Code with PlatformIO extension installed. Dependencies are resolved automatically.

3. Build and flash NM-EPD-420 firmware​

# NM-EPD-420 (4.2" tri-color panel)
pio run -e nm-display-420 -t upload

# NM-EPD-420-4C (4.2" four-color panel, GDEY0420F51)
pio run -e nm-epd-420-4c -t upload

The project also packs and uploads the LittleFS web portal resources automatically.

4. First-time configuration (AP mode)​

  • Long press Boot button (IO0, the third button above the screen) for at least 2 seconds to enter AP config mode
  • Connect to hotspot esp_dashboard_XXXXXX
  • Open http://192.168.4.1
  • Configure Wi-Fi, location, timezone, and units, then save
  • Device restarts and begins normal dashboard refresh cycle

5. Reopen web portal later​

  • Short press Boot button (IO0, the third button above the screen) to keep web portal alive for 5 minutes
  • Open http://<device-ip> from the same LAN

Key Configuration Items​

  • Wi-Fi SSID / password
  • Latitude / longitude and city display name
  • UTC offset
  • Sleep interval
  • Bed time / wake time window
  • Unit systems (temperature, wind speed, pressure, distance, precipitation)
  • Language (en_US / zh_CN)

NM-EPD-420 Notes​

  • Recommended PlatformIO environment: nm-display-420
  • Display driver is based on 4.2-inch tri-color panel (GDEY042Z98)
  • The board includes AHT20 sensor support in this project
  • IO0 is used for wake/config interaction and deep-sleep wake behavior

NM-EPD-420-4C (Four-Color Variant)​

The 4C variant (ESP32-S3 + 4.2-inch black/white/red/yellow panel, GDEY0420F51) is supported since firmware v1.0.1:

  • PlatformIO environment: nm-epd-420-4c — build with pio run -e nm-epd-420-4c
  • It runs the same Dashboard pages with the same controls and power-management flow
  • The yellow channel is currently reserved for the Home page UI
  • Three HomeWeatherTheme themes are available for the Home page: HOME-RHYTHM, HOME-ATLAS, HOME-PRINT

Typical Application Scenarios​

  • Desk weather and AQI board
  • Smart home status panel
  • Low-power wall-mounted daily briefing display
  • Secondary information display in maker projects