Pip-Boy Weather Clock - 2m8

Display View the repo

The Pip‑Boy Weather Clock firmware shows the current time (synchronised via NTP) and weather data on an LVGL‑based interface for Lilygo 1.64" or Cardputer devices, with Wi‑Fi, API key, location, and time‑zone settings configured in source files or a config.txt file.

auto-summary

48 stars · 6 forks

Maintainer
nishad2m8
Chip families
esp32-s3

Runs on these boards

Unverified

  • CardputerUnverifiedM5Stack
    Flash Cardputerguided

    Unverified esp-atlas asserts this board↔firmware link at the shown trust tier — it does not guarantee your specific unit or the current firmware version. Flashing can erase keys/config and can brick the device. At your own risk.

README

Pip Boy Weather Clock Using LVGL


If you like this project, consider supporting it:


Check videos on

Lilygo 1.64" : https://youtu.be/y4AK9kuxWG8

Cardputer : https://youtu.be/WOr_QTMYXRI


PIO (PlatformIO) Setup

  1. Update the config.h file with your own WiFi credentials, Time Zone, API key, and location data.
#ifndef CONFIG_H
#define CONFIG_H

// WiFi credentials (replace with your SSID and password)
#define WIFI_SSID "SSID"
#define WIFI_PASSWORD "PASSWORD"

#define TIME_ZONE "AST-3"  // Adjust this to the desired time zone string

// weatherapi.com API key
#define API_KEY "PPI_KEY"
// Location for weather query
#define LOCATION "LOCATION"


#endif // CONFIG_H
  1. Open the folder in PlatformIO and Flash it.

Cardputer .bin Setup

  1. Update config.txt with you data and copy to the root directory of your SD card (i.e., not inside any folder).
WIFI_SSID=SSID
WIFI_PASSWORD=Passwrod
TIME_ZONE=Time Zone
API_KEY=weatherapi.com API key
LOCATION=Location
  1. Use the ESP Web Flasher to flash the .bin to Cardputer. Set the flash address to 0x0 / (0) when flashing.

Time Zone Configuration for NTP

This project uses NTP (Network Time Protocol) to synchronize time over the internet and adjusts the local time based on the configured time zone. The time zone is set using POSIX-style strings, allowing you to handle both standard and daylight saving time automatically.

Example Time Zones:

  • PST8PDT - Pacific Standard Time with Daylight Saving Time
  • EST5EDT - Eastern Standard Time with Daylight Saving Time
  • UTC - Coordinated Universal Time
  • GMT - Greenwich Mean Time
  • CET-1CEST- Central European Time with Daylight Saving Time
  • IST-5:30 - Indian Standard Time (UTC+5:30)
  • JST-9 - Japan Standard Time (UTC+9)
  • CST6CDT - Central Standard Time with Daylight Saving Time (US)
  • MST7MDT - Mountain Standard Time with Daylight Saving Time (US)
  • PHT-8 - Philippine Time (UTC+8)
  • SGT-8 - Singapore Time (UTC+8)
  • MSK-3 - Moscow Time (UTC+3)
  • GMT+4 - UAE Time (UTC+4)
  • AST-3 - Arabian Standard Time (Bahrain, UTC+3)

Read the full README on GitHub

source github.com/nishad2m8/Pip-Boy-Weather-Clock