Search models, users, collections, and posts

Pawcast: Cat-Themed E-Ink Weather Display

IP Report

Print Profile(1)

All
Creality Ender-3 V2

0.2mm layer, 3 walls, 15% infill
0.2mm layer, 3 walls, 15% infill
Designer
7.3 h
2 plates

Open in Bambu Studio
Boost
9
24
1
0
1
0
Released 

Description

Are you tired of your partner asking you what the weather is going to be today so she knows what to wear?

 

This ESP32-powered project fixes that for you! By fetching weather forecast data from OpenWeatherMap and displaying the maximum temperature and conditions using a fun cat vibe illustration on a Crowpanel 4.2-inch E-Ink screen, all your partner has to do is look at the funny little cat box!

 

What's special? The device determines whether it's sunny, cold, rainy, or hot, and shows a matching kitty to reflect the clothes you should wear today!

Features:

  • 🐱 Cat visual changes based on weather
  • 📡 Uses OpenWeatherMap forecast API
  • 🔋 Battery-friendly with deep sleep
  • 🧠 Works fully offline once weather is fetched
  • 🖼️ Uses GxEPD2 and custom fonts for high-quality rendering

How It Works:

  1. Connects to Wi-Fi using stored credentials
  2. Fetches 3-hourly forecast data for the configured city
  3. Calculates:
    • Max temperature
    • Most frequent condition
    • Local time of city from weather timestamp 
  4. Classifies weather into one of 5 moods:
    • hot / warm / cold / freezing / raining
  5. Renders:
    • Mood-based cat image
    • Temperature + weather icon
    • Update time based on city's local time
  6. Goes to deep sleep until next scheduled refresh (e.g., 5AM, 12PM, 5PM)

Bill of Materials (BOM):

QtyItemNotes
1Crowpanel 4.2" E-Ink Display Pretty accessible, I just ordered mine from Aliexpress.
1LiPo Battery (3.7V, 1000–2000mAh)SH 1.0, check + and - connection before buying, I soldered my own.
1USB-C cableFor programming & power

 

Libraries Required (Install in Arduino IDE):

  • GxEPD2 (for E-Ink)
  • ArduinoJson (v6+)
  • WiFi (default for ESP32)
  • HTTPClient (default)
  • Adafruit GFX (installed with GxEPD2)

Setup Instructions:

✅ Step 1: Download the Zip and Prepare the Code

  1. In the setup, replace your Wi-Fi SSID and password
  2. Replace the city name and OpenWeatherMap API key
  3. Potentially change the time zone information, I haven't tested the code that chooses its last updated time thoroughly enough to know if it works 100% of the time.

You can get a free API key here: https://openweathermap.org/api

✅ Step 2: Flash the Code

  • Choose the correct board: ESP32S3 Dev Module
  • In tools set PSRAM → OPI PSRAM and Partition Scheme → Huge App (I don't know why, I got this from a tutorial for the crowpanel and if I don't do it then it doesn't work.)
  • Upload via USB-C using Arduino IDE (if you get an upload error at the last second lower the upload speed in tools until it works, even if it's agonizingly slow)

✅ Step 3: Power & Run

  • On boot, the device will:
    • Connect to Wi-Fi
    • Fetch forecast
    • Display cat + weather 
    • Sleep until the next refresh window

🧷 Assembly Details – No Extra Screws Needed! 🔩

The custom back panel is designed to attach directly to the CrowPanel using the existing screws on the device — no need to source extra hardware!

 

Once the back is mounted, the front and back snap together with a satisfying, secure click, holding everything neatly in place without wobbles or adhesives. 

🛠️ Customization Ideas I haven't gotten around to:

Feel free to modify the code or the model based on your own needs. Make your own fun little weather station! Have fun with it! Here are some ideas I had but didn't get around to.

  • Add WiFiManager to allow Wi-Fi + city config via browser
  • Show multiple-day forecast using different pages or rotation (I can't test this, I broke the buttons on my crowpanel…)
  • Replace cat images with other designs or weather-specific memes

Documentation (1)

Other Files (1)
WeatherStationCat.zip

Comment & Rating (1)

(0/1000)

License

This user content is licensed under a
Creative Commons Attribution-Noncommercial-Share Alike