View this project on CADLAB.io.
WeatherGuy for ESP8266.
- Wemos D1 Mini
- ILI9163-based TFT display, see here
- Arduino 1.8.9
- TFT_eSPI library 2.5.43
- ESP8266 for Arduino 3.1.2
- Arduino ESP8266 filesystem uploader
- ArduinoJson 7.2.0
- Timezone 1.2.4
- Time 1.6
- SimpleTimer
- Get an API key for your Provider (required for OpenWeatherMap, not for Open Meteo)
- Edit data/config.json with your preferences
- Configure your display in TFT_eSPI/User_Setup.h (if using the Arduino IDE), otherwise edit Makefile
- Configure your timezone in zone.h
- Upload the filesystem (Tools > ESP8266 Sketch Data Upload)
- Upload the sketch
The weather icons must be 24-bit bitmaps; convert from GIF as follows:
% convert foo.gif -type truecolor foo.bmp
The Airycon icons used by the Open Meteo provider were converted using the GIMP, exporting the PNG files as 24-bit BMPs.
A previously supported provider was OpenWeatherMap.
However as-of 2024-11-04 its version 2.5 API is deprecated in favour of version 3.0 which requires registration of a credit card.
Limitations of this API are:
- astronomy: moon age, phase
- forecasts: forecasts in the free API are every 3 hours and you get 40 of them, which is too big to parse on an ESP8266
- the credit-card thing
Its code remains for reference, for now.
The latest provider is Open-Meteo.
Limitations of this API are:
- astronomy: moon age, phase
- no forecast humidity
If bad things happen to Open Meteo, the next provider is Meterologisk.
- Javascript transparency
- WMO icons