Skip to content
MCU Atlas
ARDUINOUNODraft

Arduino Uno e-ink home weather station

A simple Arduino Uno weather station with a Waveshare 4.3in e-ink display, BME280 and DS3231 clock.

Difficulty:BeginnerCost:Source available

Key Facts

  • Board: Arduino Uno
  • Display: Waveshare 4.3in e-ink (UART)
  • Sensors: BME280 + DS3231 RTC
  • Features: local pressure-based forecast

About This Project

This compact project wires an Arduino Uno to a Waveshare 4.3in UART e-ink panel, an Adafruit BME280 and a DS3231 RTC. The screen shows time, date, temperature, humidity, station and sea-level pressure, a short-term local forecast derived from pressure trends, and a pressure-tendency indicator. Parts are few and the code is straightforward, so it is a good first e-ink build on classic Arduino hardware. Note the repo has not been updated since 2018.

Source & Attribution

Source: GitHub
License: GPL-3.0
Last verified: 10/16/2026
Arduino Uno e-ink home weather station

Illustration

How to Build It
A home weather station on an Arduino Uno with a Waveshare 4.3in serial e-ink display. A BME280 measures temperature, humidity and pressure, a DS3231 keeps the time, and a local forecast is worked out from the pressure trend, with no internet needed. The repo README is a single line, so the details come from the code.
Draft: steps not yet verified

Parts Needed

  • Arduino Uno
  • Waveshare 4.3in e-Paper UART display
  • BME280 breakout
  • DS3231 RTC module
  • 5V supply, jumper wires

Steps

  1. 1

    Wire the display

    The 4.3in Waveshare module uses UART. Connect it to the Uno's serial (or SoftwareSerial) pins as defined in the sketch, and power it from 5V.

  2. 2

    Wire the sensors

    The BME280 and DS3231 both use I2C, so connect both to A4 (SDA) and A5 (SCL), plus power and GND.

  3. 3

    Install libraries

    Install the BME280, RTClib (DS3231) and Waveshare e-paper serial libraries named in the sketch's #include lines.

  4. 4

    Set the clock and upload

    Set the RTC time once, using the RTClib example or the sketch's setup code, then upload the weather station sketch.

  5. 5

    Tips

    The README has no instructions, so check the pin definitions in the source before wiring. The pressure-based forecast needs a few hours of history before it becomes meaningful.

Parts List (BOM)
Complete parts list from the creator
complete
PartQtyRoleEst. PriceBuy
1main board$5–$28View
1display$45–$65View
1sensor$3–$15View
1rtc$2–$6View
Estimated Total$55–$114 USD

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

Download CSV

Related Projects

Low-power ESP32 e-paper weather display (7.5in)
Illustration
ESP32Draft
A wall-mounted 7.5in e-paper weather display on an ESP32 that runs for months on one battery charge.
Intermediate·Cost varies·Code
5 parts listed
grbl: high-performance CNC motion control on Arduino Uno
Illustration
ARDUINOUNODraft
The classic open-source g-code interpreter that turns an Arduino Uno into a 3-axis CNC controller.
Intermediate·Cost varies·Code
4 parts listed
SparkFun OpenLog: Arduino-compatible data logger
Illustration
ARDUINOATMEGA328PDraft
A tiny ATmega328-based logger that writes serial data to a microSD card with almost no host code.
Beginner·Cost varies·Code
2 parts listed