Version 1.0 · DIY Project

Solar Monitor Guide

A DIY ESP32-based Solar Conditions Display for radio amateurs

by GU6EFB & Guernsey Amateur Radio Society (GARS)

Completed GARS Solar Monitor in a 3D-printed enclosure showing solar gauges

1 Introduction

This project originated from a discussion at one of the GARS Friday night club meetings about the commercial Solar Monitor marketed by Martin Lynch & Sons Ltd. The idea of designing a home-built alternative proved both enjoyable and educational.

The resulting unit displays real-time solar and geomagnetic conditions on a colour TFT screen, using publicly available data from HamQSL. It is intended as a practical station accessory for radio amateurs who want to monitor propagation conditions at a glance.

2 Hardware

μC Microcontroller

Any ESP32 development board is suitable. Both the ESP32-S3 and the standard ESP32-WROOM modules work well.

TFT Display

ILI9488 480×320 SPI panel (typically 3.5″). Driven in 18-bit colour (3 bytes per pixel). Full-screen redraws are slower than 16-bit displays, but because the screen updates only every 30–60 minutes this is not a practical concern—simply redraw the regions that have changed.

✎ Touch (optional)

Many ILI9488 modules include an XPT2046 touch controller. This can be used in a possible future update to switch between display pages.

3 Software

  • Graphics library: TFT_eSPI or LovyanGFX — both support the ILI9488.
  • Wi-Fi configuration: WiFiManager allows the network name and password to be set from a phone or computer without hard-coding credentials.
  • Timekeeping: NTP is used to maintain an accurate clock, which is required for selecting the correct day/night band ratings and for displaying UTC.
  • XML parsing: Simple string searching is sufficient for the HamQSL feed; no heavy XML library is required.

4 Building the Solar Monitor

If you ordered the parts as part of the GARS club build, you will have received an ESP32 board and a colour display similar to those shown below. Alternatively, the components can be obtained from suppliers such as AliExpress, Temu or Amazon.

ESP32 development board
ESP32 development board
ILI9488 colour TFT display module
ILI9488 3.5″ colour TFT

5 ESP32 to Display Connections

Only the following connections are required between the ESP32 and the display board:

// Pin definitions (TFT_eSPI style) TFT_CS = 15 TFT_RST = 2 TFT_DC = 0 ; ESP32U (with Antenna) TFT_DC = 5 ; ESP32 “standard” TFT_MOSI = 23 TFT_SCLK = 18 TFT_BL = 4 TOUCH_CS = 22 TFT_MISO = 19 BUZZER = 21
ESP32 pinout diagram with connections highlighted
Display module pin header mapping to ESP32

Tip: The diagrams above show the mapping between the ESP32 GPIO pins and the ILI9488 display header (including optional touch lines). Power (3V3 / GND) and backlight (BL) must also be connected.

6 First-Time Setup

Connect using Wi-Fi and join the SolarMonitor-Setup network. The setup portal has no password.

Wi-Fi setup screen shown on the Solar Monitor display
  1. A setup page should appear automatically. If it does not, open a browser and navigate to 192.168.4.1.
  2. Tap Configure WiFi, select your home network from the list, enter the password, and save.
  3. The ESP32 reboots, joins your network and begins fetching data. Credentials are stored in flash memory, so this step is required only once.
  4. During setup the screen simply shows “Connecting Wi-Fi…”. It does not display the network name or IP address, so you must note these details yourself.
  5. The setup portal remains open for 3 minutes. If no connection is made within that time, the board restarts and re-opens the portal.
  6. To change the Wi-Fi credentials later (for example after a new router or password change), erase the saved details by power-cycling the unit 3–4 times in quick succession. This forces a reset of the stored network settings.
  7. If the board cannot reach the previously saved network, it automatically falls back to the SolarMonitor-Setup portal.

Setting Latitude and Longitude

Open a web browser and navigate to the IP address shown at the bottom of the solar monitor display. You will be presented with a simple configuration page:

HF Solar Monitor configuration page for latitude and longitude

Enter your Latitude and Longitude, then select Save. The values are stored permanently in the device.

7 Data Source

Solar and geomagnetic data are obtained from HamQSL. The XML feed used by the monitor is available at: https://www.hamqsl.com/solarxml.php.

Important Usage Notes

Poll no more than once per hour. Solar flux updates hourly and most other indices every three hours. The provider asks users to limit requests to an hourly interval at most; excessive polling may result in the feed being withdrawn. The firmware currently fetches data every 60 minutes.

Credit the source. HamQSL requests that “HamQSL.com (Paul N0NBH)” be credited wherever the data are displayed. The monitor’s status line shows this attribution.

8 What Each Gauge Shows

The display presents four primary gauges:

Gauge Colour Range Description
SFI Orange 60 – 250 Solar Flux Index
A Cyan 0 – 50 A-index (geomagnetic)
K Magenta 0 – 9 K-index (geomagnetic)
SSN Green 0 – 250 Sunspot Number
Close-up of the four circular gauges: SFI, A, K and SSN

9 Credits & Acknowledgements

Solar and geomagnetic data are provided by HamQSL.com (Paul N0NBH). Please respect the provider’s request to credit the source and to limit polling frequency.

This project was developed for the Guernsey Amateur Radio Society (GARS) and is shared in the spirit of amateur radio experimentation.