Environment Monitor

Personal Project — Summer 2026

A self-contained Arduino environment monitor that continuously reads temperature and humidity from a DHT11 sensor every two minutes, displays live readings on a 1602 LCD, and stores a rolling 255-sample buffer in EEPROM for offline data retrieval over serial.

The device supports three temperature units (°C, °F, K) and two humidity modes (relative humidity and dew point via the Magnus formula), toggled with a hardware button. A second button forces an immediate sensor read. A photoresistor (LDR) on an analog pin provides ambient light readings on a secondary display page. EEPROM persistence preserves the buffer index and user-selected unit preferences across power cycles. The full rolling buffer can be dumped over serial on command for analysis.

Highlights

  • Continuous DHT11 sensing (temp & humidity) every 2 minutes, displayed on 1602 LCD
  • Three temperature units (°C, °F, K) and dew point calculation (Magnus formula)
  • 255-sample rolling EEPROM buffer with serial dump command for offline retrieval
  • Ambient light sensing via photoresistor with live raw and percentage display
  • Two-button interface: force-refresh and unit/page cycling with long-press detection
  • Unit preferences and buffer index persist across power cycles via EEPROM

Technologies Applied

ArduinoC++DHT11LCD 1602EEPROMEmbedded Systems