Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cardputer HF Propagation Monitor

A self-contained HF propagation monitor for the M5Stack Cardputer (ESP32-S3). It fetches live solar and band-condition data plus a real measured MUF from a European ionosonde, and displays everything on the Cardputer's built-in screen — no PC required after flashing.

🇩🇪 German version: README_de.md

Features

  • Live solar & band data from hamqsl.com via HTTPS (SFI, A-Index, K-Index, band conditions, E-Skip Europe)
  • Real MUF measurement scraped from the Juliusruh ionosonde (JR055, Germany) — both the local MUF(D) and the classic MUF(3000km) DX value
  • Four large-print pages, switched with Tab, designed to be readable at a glance:
    1. Bands — one band pair at a time (80-40m / 30-20m / 17-15m / 12-10m) with big color-coded dots for day/night condition (green = good, yellow = fair, red = poor). Step through the four band pairs with ; / .. E-Skip Europe status shown at the bottom.
    2. Indices — SFI, A-Index and K-Index in large text, each with a trend arrow (↑ rising / ↓ falling / = unchanged) versus the previous fetch. K-Index turns red at ≥ 5 (geomagnetic storm).
    3. MUF Juliusruh — DX (3000 km) and local MUF in large text.
    4. Grayline — current local time, computed sunrise/sunset for your QTH locator, and a "GRAYLINE ACTIVE NOW" indicator when you're within the grayline window.
  • Audible alarm when any band newly turns "Good", or when the K-Index rises to ≥ 5 (storm onset)
  • On-device Wi-Fi setup wizard: scans nearby networks, lets you pick one with ;/./Enter, enter the password, and stores the credentials in NVS (flash) so it reconnects automatically afterwards. Press w at any time to run it again.
  • On-device QTH locator entry: press l on the Grayline page to enter your own 4- or 6-character Maidenhead locator (e.g. JO31nx). It's validated, converted to lat/lon for the sunrise/sunset calculation, and saved permanently to NVS.
  • NTP time sync, timezone pre-set for Germany (CET/CEST), used for the Grayline page and local time display.
  • Automatic refresh every 15 minutes; manual refresh any time with r.
  • Screen timeout after 2 minutes of inactivity (any key wakes it up again).
  • Color-coded battery indicator in the top-right corner (percentage + icon; cyan while charging, red/yellow/green by charge level).

Controls

Key Action
Tab Next page (Bands → Indices → MUF → Grayline)
; / . On the Bands page: switch band pair. During Wi-Fi setup: move selection up/down
r Refresh data manually
w (Re-)run the Wi-Fi setup wizard
l (on Grayline page) Edit the QTH locator
Enter Confirm selection / save
Any key Wake the screen

Hardware & Requirements

  • M5Stack Cardputer (ESP32-S3)
  • SD card (optional, only needed for SD-based deployment via M5Launcher)
  • Arduino IDE with the M5Stack board package. If the default board manager URL doesn't work, use: https://static-cdn.m5stack.com/resource/arduino/package_m5stack_index.json

Libraries

  • M5Cardputer
  • M5GFX
  • M5Unified

(Preferences.h, WiFiClientSecure.h, HTTPClient.h and time.h ship with the ESP32 Arduino core — no extra install needed.)

Flashing / Updating

  1. Open CardputerPropagation.ino in the Arduino IDE, select the Cardputer board.
  2. Either flash directly via USB, or:
  3. Sketch → Export Compiled Binary to get a .bin file, copy it to an SD card, and install it with bmorcelli's M5Launcher — no PC connection needed for future updates once M5Launcher is on the device.

First Boot

On first boot (or whenever no Wi-Fi credentials are stored), the Wi-Fi setup wizard starts automatically: it scans for networks, lets you select yours and enter the password. Credentials are stored in flash (NVS) and reused on every subsequent boot.

The QTH locator used for the Grayline page defaults to the QTH_LOCATOR constant near the top of the sketch, but you should set your own locator on the device (Grayline page, key l) — it's saved permanently and takes precedence over the constant in the code.

License

Released into the public domain under The Unlicense — use it however you like, no conditions, no attribution required.

About

A Cardputer app for HamRadio Propagations

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages