A CircuitPython project that displays weather information in a clean, user-friendly format on an Adafruit MagTag e-paper display. Inspired by the Odin display from the Carrot Weather app, this project provides an easy-to-read daily weather forecast that updates periodically.
- Clean, minimalist weather display
- Current temperature and weather conditions
- Battery-efficient e-paper display
- WiFi-enabled automatic updates
- Weather icon support
- CircuitPython-based for easy customization
- Adafruit MagTag - 2.9" Grayscale E-Ink WiFi Display
- USB-C cable for programming and power
- Optional: Battery (for portable use)
-
Set up your MagTag with CircuitPython:
- Download the latest CircuitPython for MagTag
- Follow the CircuitPython installation guide
-
Install required libraries:
- Download the CircuitPython Library Bundle
- Copy the following libraries to your MagTag's
lib
folder:- adafruit_magtag
- adafruit_bitmap_font
- adafruit_display_shapes
- adafruit_imageload
- adafruit_io
- adafruit_minimqtt
- neopixel.mpy
- simpleio.mpy
-
Project files:
- Clone this repository or download the files
- Copy all files to your MagTag's root directory
- Update
secrets.py
with your configuration (see Configuration section)
Create or update secrets.py
with the following information:
secrets = {
'ssid': 'your_wifi_ssid',
'password': 'your_wifi_password',
'openweather_token': 'your_api_token',
'latitude': 'your_latitude',
'longitude': 'your_longitude'
}
This project uses the OpenWeather One Call API 3.0. To get an API token:
- Create an account at OpenWeatherMap
- Generate an API key in your account dashboard
- The free tier includes 1,000 calls/day, sufficient for personal use
- Support for multiple eInk displays
- Add location and time display
- Battery life optimization and benchmarking
- Button-activated display modes
- Metric unit support
- Official Adafruit Learning System Guide
This project is based on the MagTag Daily Weather Forecast Display and inspired by the Carrot Weather app's Odin display:


See LICENSE file for details.