Live Weather Satellite Image Clock

This instructables show how to use a ESP32-S3 dev device build a clock with live weather satellite image as background image.
Supplies
Any ESP32 dev devices with (Micro-)SD card slot, display and PSRAM should be ok.
In this project, I am using:
Waveshare ESP32-S3 TOUCH LCD 3.49
You also requires a Micro-SD card that formatted in FAT32 format
What Is Weather Satellite?


A weather satellite or meteorological satellite is a type of Earth observation satellite that is primarily used to monitor the weather and climate of the Earth.
This project use the live image from FengYun (FY-4B) satellite.
FY-4 is the second generation of China's geostationary meteorological satellite series. FY-4B, the second of its series, was launched on June 3rd, 2021, aiming to serve as an operational satellite.
Ref.:
Earth Timelapse

FY-4B is a geostationary satellite, it hovering over the same spot on the equator. so we can see the same place image from time to time. If we play the last few hours images in sequence, it become an live Earth Timelapse animation.
Ref.:
How Does It Works?
ESP32 family dev device most have WiFi capability, so it can gather the latest information from the Internet.
- The first information requires gather is the current time. If the dev device does not have RTC module, it can gather from public NTP service on the Internet.
- Weather satellites require time to process and transfer the image to the Earth, so it is expected some time delay. FY-4B provides images to public in 15 minutes interval and have around 45 minutes delay.
- According to the interval pattern, we can download the satellite image every 15 minutes.
- The downloaded images are saved to Micro-SD card in the folder pattern "/fy4b/yyyy/mm/dd/HHMM.jpg"
- While waiting next download interval, we can play downloaded image in sequence every few seconds.
Note:
At the beginning, only 1 downloaded image in the card, so it only display a still image. After power on 6 hours, it can display 6 hours Timelapse animation.
More Weather Satellie Image Source




FengYun (FY-4B) satellite keeps hovering over around Asia area on the equator. If you would like to view other area satellite images, you may use the image from other weather image web site.
E.g.:
Europe
India
Japan
NASA
World Wide
Software Preparation
Arduino IDE
Download and install Arduino IDE latest version if not yet:
https://www.arduino.cc/en/software
Arduino-ESP32
Follow installation step to add Arduino-ESP32 support if not yet:
https://docs.espressif.com/projects/arduino-esp32/en/latest/installing.html
Arduino_GFX Library
Open Arduino IDE Library Manager by selecting "Tools" menu -> "Manager Libraries...". Search "GFX for various displays" and press "install" button.
You may refer my previous instructables for more information about Arduino_GFX.
Dev Device Pins
Open Arduino IDE Library Manager by selecting "Tools" menu -> "Manager Libraries...". Search "Dev Device Pins" and press "install" button.
JPEGDEC
Open Arduino IDE Library Manager by selecting "Tools" menu -> "Manager Libraries...". Search "JPEGDEC" and press "install" button.
Note:
You may refer to Arduino Documentation for the details on how to install/import library to Arduino IDE.
Sample Code
Please download the sample code at GitHub:
https://github.com/moononournation/WeatherPanel.git
This project is WeatherSatelliteImageClock.ino under WeatherSatelliteImageClock folder.
Upload Program

- Open WeatherSatelliteImageClock.ino in Arduino IDE
- The first 2 lines are the WiFi station connect details, please replace with your WiFi details
- Insert Micro-SD into the dev device
- Set the board parameter settings according to your dev device
- Press upload button and wait...
Ref.:
https://www.waveshare.com/wiki/ESP32-S3-Touch-LCD-3.49#Arduino_Project_Parameter_Setting
Enjoy!

Now you have a decent clock showing live weather satellite image on your desk!
Customization: Image Source
At the header of WeatherSatelliteImageClock.ino have a image source URL template:
You may change the URL to your preferred web site.
Notes on Importing Root CA Cert

This project requires download live satellite image on the web using HTTPS protocol. The download code is base on the ESP32 HTTPS client sample code. It requires prepare the web site root CA Cert first.
The sample code is set the nmc.cn root CA Cert for download FengYun (FY-4B) satellite images. If you would like to use other web site images, please follow the above video import the correct root CA Cert to the code.
Customization: Image Crop Area
The image downloaded from image.nmc.cn has size 860x540 but the display is 640x172. So you can select the cropping area your would like to display:
The above sample code crop to the area around South China and Hong Kong.
More Possibility
This Waveshare dev device is actually have RTC (Real Time Clock) and can be battery powered. Someone suggest it can become a keychain or bag charms!!
The touchscreen can provide more user interaction. E.g. adjust image crop area, switch to show Infra red image...etc.
Housekeeping Storage
The image files use around 10 MB every day, and does not cleanup old files in the sample program. For a 128 MB Micro-SD card, it will disk full within 2 weeks and 4 GB card full around 1 years. If you found cannot download display image, simply reformat the card to FAT32 format can resume the function.