GARS HF Solar Monitor

A home-built touch-screen display for the shack. It shows the solar and HF propagation picture at a glance, with weather, tides, the moon and sun, meteor showers, equinoxes and live DX spots a swipe away.

The finished GARS HF Solar Monitor on the shack desk
The finished unit.

What it does

The unit is built around an ESP32 and a 480 × 320 touch screen. It connects to your home Wi-Fi, collects its data in the background and shows it on eight pages. Swipe left or right to change page. It also starts up with the Guernsey Amateur Radio Society emblem.

Solar

Gauges for solar flux (SFI), A-index, K-index and sunspot number. A table of HF band conditions for 80–40 m, 30–20 m, 17–15 m and 12–10 m, with the current day or night column highlighted for your location. X-ray flux, solar wind and Bz. Estimated sporadic-E for Europe on 6 m and 4 m. A red banner appears during geomagnetic storms and strong flares.

DX spots

Live spots from the GB7DXG-1 DX cluster, with the time, frequency, band, callsign and comment. Swipe up and down to scroll back through the last 80 spots. Tap the top of the screen to filter by band.

Weather

Current conditions with an icon, temperature, wind in knots, gusts, humidity, pressure and rain, plus a three-day forecast.

Tides

The next high and low tides with a rising or falling countdown. See the note on accuracy below, because this is an estimate unless you add an optional tide-data key.

Moon

A picture of the current phase, the percentage lit, the moon’s age and the date and time of the next four phases.

Sun & Moon

Sunrise, sunset, daylight length, moonrise and moonset for today and tomorrow at your location, with a live “up or down” status for each.

Meteor showers

The next eight shower peaks with their typical rates and speeds. Daytime showers that only radio can detect are marked.

Equinoxes

The next four equinoxes and solstices in UTC and local time, with a countdown, plus how fast the daylight is changing.

Photos

Front view
Front, showing the solar page.
Rear view
Rear and mounting.
The solar page
Solar page.
The DX spots page
DX spots page.
The weather page
Weather page.
The tides page
Tides page.
The moon phase page
Moon page.
The sun and moon times page
Sun & Moon page.
The meteor showers page
Meteor showers page.
The equinoxes page
Equinoxes page.

Where the information comes from

Everything is fetched over Wi-Fi from free public sources, or worked out on the unit itself. Nothing needs a computer left running.

PageSourceRefreshed
Solar, band conditions, 6 m / 4 m sporadic-EHamQSL.com solar data feed (N0NBH)Hourly
WeatherOpen-Meteo.comEvery 15 minutes
TidesOpen-Meteo marine model, or WorldTides.info if you add a keyEvery 6 hours (model) or daily (WorldTides)
DX spotsThe GB7DXG-1 DX cluster, over a telnet connectionLive
Moon, sun, equinoxesCalculated on the unit using standard astronomical formulas (Jean Meeus, Astronomical Algorithms)On the unit, no internet needed
Meteor showersA built-in calendar based on the International Meteor Organization’s shower list, with peak dates worked out for the current yearOn the unit

How it’s built

The hardware

There are only two main parts, joined by about a dozen wires.

Parts

  • An ESP32 module with an external antenna connection (ESP32U), on a development board with USB.
  • A 3.5″ 480 × 320 colour display with an ILI9488 controller and an XPT2046 touch controller, both on the same SPI connection.
  • A USB cable and a 5 V USB power supply.
  • Hook-up wire or a ribbon cable, and a case of your choice.
  • Optional: a push button between GPIO 32 and ground to change page without touching the screen.
  • All parts came from AliExpress

Wiring

DisplayESP32 pin
CSGPIO 15
DC / RSGPIO 0
RESETGPIO 2
SDI (MOSI)GPIO 23
SCKGPIO 18
SDO (MISO)GPIO 19
Touch CSGPIO 22
Backlight (LED)GPIO 4
VCC / GND3.3 V (or 5 V if the module has a regulator) / GND

The touch chip shares the display’s MOSI, SCLK and MISO lines. This pin arrangement follows the one used by HB9IIU’s ESP32 ISS Tracker for the same kind of display.

The ESP32 wired to the display
The ESP32 wired to the display.
Inside the case
Inside the case.

The software

The firmware is written in C++ for the Arduino framework and built with PlatformIO in Visual Studio Code. It uses three open-source libraries: TFT_eSPI for the display, WiFiManager for the Wi-Fi set-up page, and ArduinoJson for reading the weather and tide data. All of the page layouts, the moon and sun calculations and the DX cluster connection are in a single source file.

Putting it together

  1. Wire the display to the ESP32 using the table above. Check the connections twice before powering up. A wrong wire is the usual cause of a blank or white screen.
  2. Install the firmware. The easy way is the web flasher: plug the ESP32 into a computer’s USB port, open the flasher page in Chrome or Edge, click Connect and install and pick the serial port. Web flasher page
  3. Join the set-up Wi-Fi. After flashing, the GARS emblem shows for 5 seconds and the unit creates a Wi-Fi network called SolarMonitor-Setup. Join it from a phone, choose your home network, enter the password, and enter your latitude and longitude. You can also add your callsign for the DX page and up to six characters of text for the top of the solar page.
  4. Set up the touch screen. When asked, swipe left to right across the screen, then top to bottom. This is done once.
  5. Mount it. Fit the unit into your case and power it from any USB supply.

Anyone who prefers to build the firmware themselves can do so from the source files with PlatformIO.

Using it

On the screen

  • Swipe left or right to change page.
  • On the DX page, swipe up or down to scroll through older spots, and tap the top strip of the screen to step through the bands.
  • The clock in the corner shows UTC.

The settings page

The unit’s address is shown at the bottom of the solar page. Type it into a browser on the same network to change your location, callsign, top-line text, the DX bands shown, an optional tide key, or to re-run the touch set-up.

To start over with the Wi-Fi, power-cycle the unit three times in a row, switching it off within four seconds of each power-on.

Good to know

The tide times are an estimate and for information only. Do not use them if it involves any form of life safety activity, navigation, boating or crossing tidal causeways. The free source is a computer model with coarse resolution, which is not designed for a coast with tides as large and complicated as ours. Official tide tables are the reliable source. Adding a WorldTides key gives data from the nearest real tide station, but it is still not a substitute for the official tables.

Credits and thanks