Fork me on GitHub

Project Notes

#762 HamClock

Exploring HamClock, the kiosk-style application that displays real time space weather, radio propagation models, operating events and other information particularly useful to the radio amateur. Trying it on macOS, Ubuntu and Raspberry Pi.

Build

Notes

I recently learned about Geochron clocks (analog and digital) on Ham Radio Workbench #230. These are beautiful displays of the current time over a live map of the earth, and support overlays for all manner of interesting details.

They are expensive though! I did find out though (via a tip from Mike Deal N7URH) that there is an open source alternative specifically designed for amateur radio called HamClock.

HamClock is a kiosk-style application that provides real time space weather, radio propagation models, operating events and other information particularly useful to the radio amateur.

HamClock was introduced in an October 2017 QST article and continues to be maintained and expanded. It supports a range of platforms:

  • ESP8266 - the original design, still available but no longer maintained
  • Raspberry Pi
  • Linux-style systems
  • macOS

macOS

I’m running macOS with an Apple Silicon M1 chip, so it is an obvious place to start. Can we run HamClock? Yes!

Installing XQuartz (for XWindows support) with brew:

brew install --cask xquartz

Then run the installation steps per the documentation:

curl -O https://www.clearskyinstitute.com/ham/HamClock/ESPHamClock.zip
unzip ESPHamClock.zip
cd ESPHamClock
make -j 4 hamclock-800x480
sudo make install

The sources can then be removed:

cd ..
rm -fR ESPHamClock
rm ESPHamClock.zip

To run HamClock, first start XQuartz

open -a XQuartz

Then within XQuartz, choose “Applications > Terminal”, and run the “hamclock” command in the xterm

macos-run-hamclock

After entering call sign, lat lng options etc, HamClock starts and I can start to play with the display options - see the user guide https://www.clearskyinstitute.com/ham/HamClock/HamClockKey.pdf.

macos-hamclock01

Nice! Works great.

Ubuntu

I also routinely use Ubuntu (currently version 24.04). Let’s try.

Make sure pre-requisites are installed:

sudo apt install curl make g++ xorg-dev xdg-utils

Run the installation steps per the documentation (this time a slightly larger 1600x960):

curl -O https://www.clearskyinstitute.com/ham/HamClock/ESPHamClock.zip
unzip ESPHamClock.zip
cd ESPHamClock
make -j 4 hamclock-1600x960
sudo make install

The sources can then be removed:

cd ..
rm -fR ESPHamClock
rm ESPHamClock.zip

Run HamClock from the console:

hamclock

ubuntu-hamclock01

Nice! Also works great.

Raspberry Pi

I have an old Raspberry Pi 1 Model B+. Current documentation recommends an RPi model 4b with 1 GB RAM. Maybe it is possible to use a Raspberry Pi B+?

I grabbed a copy of the latest Raspberry Pi OS and ran the HamClock RPi installation per the docs:

curl -O https://www.clearskyinstitute.com/ham/HamClock/install-hc-rpi
chmod u+x install-hc-rpi
./install-hc-rpi

The installation took a very long time (I left it for an hour or so), but completed successfully. After installation, start from the command line:

hamclock

HamClock runs fine, albeit a little sluggishly.

Since it is running on the Pi, I can play with some of the GPIO support. This requires first visiting setup page 4 and turning on “GPIO”.

I am going to test the “Satellite up” indicator per the user guide:

  • Output terminal SA_1 indicates satellite visibility from DE.
  • Normally low
  • cycles high at 1 Hz for 1 minute before rise
  • stays high during the pass
  • cycles at 2 Hz during the last minute
  • stays low again after set.

I wired up an LED indicator per the doc:

HamClock_schematic

HamClock_bb

I just tested it with a LEDSAT satellite pass near my location (Singapore 1.3521° N, 103.8198° E). Works perfectly as described!

Watching the screen as the satellite approaches … yes, I have a very poor screen. This is an old Dell display that I haven’t used in ages, and the screen coating is starting to self-biodegrade. I need a new screen!

satellite_up01

When the satellite rises, the LED blinks at 1Hz for 1 minute before rise, stays on while risen, and blinks at 2 Hz during the last minute it is visible in the sky.

satellite_up02

Credits and References

About LEAP#762 RadiomacOSUbuntuRaspberry Pi

This page is a web-friendly rendering of my project notes shared in the LEAP GitHub repository.

Project Source on GitHub Return to the LEAP Catalog
About LEAP

LEAP is my personal collection of electronics projects - usually involving an Arduino or other microprocessor in one way or another. Some are full-blown projects, while many are trivial breadboard experiments, intended to learn and explore something interesting.

Projects are often inspired by things found wild on the net, or ideas from the many great electronics podcasts and YouTube channels. Feel free to borrow liberally, and if you spot any issues do let me know or send a pull-request.

NOTE: For a while I included various scale modelling projects here too, but I've now split them off into a new repository: check out LittleModelArt if you are looking for these projects.

Project Gallery view the projects as an image gallery Notebook reference materials and other notes Follow the Blog follow projects and notes as they are published in your favourite feed reader