SSTV — Send and Receive Images
HAM-Tools can send and receive still images over the air (Slow Scan Television). The complete audio/DSP core lives in its own module (SSTVKit) — no external programs like MMSSTV or QSSTV required. Reception with automatic mode detection, sending with your callsign burned in, PTT over CAT.
New in 1.28.0
Hands-free auto-start, an improved gallery, a prominent send display and automatic mistuning correction (up to ±150 Hz). See the relevant sections below.
Opening the module
SSTV sits in the sidebar under the tools. Like the logbook it takes over the whole window (focus view): the CAT/radio column and the receive status panel on the left, the Send and Receive cards in the middle, the gallery along the bottom. ‹ Overview takes you back.
Setting up audio (once)
SSTV is plain audio: the image you send/receive runs as a tone through the sound card / the radio's USB audio codec.
- In the Receive and Send cards, pick the audio devices:
- 🔊 Send (TX) = the radio's audio input (audio from the Mac into the rig)
- 🎤 Receive (RX) = the radio's audio output (audio from the rig into the Mac)
- On the rig set the modulation source to USB (e.g. Icom:
DATA MOD = USB), with a sufficiently high USB MOD level.
Several identically named devices
If two radios with an identically named "USB Audio CODEC" are attached, HAM-Tools shows the serial number to tell them apart. TX and RX must use the same serial number (i.e. the same device) — otherwise the transmit audio goes to a different rig.
Microphone permission
If the receive level stays at −120 dBFS, the microphone permission is missing: enable System Settings → Privacy & Security → Microphone → HAM-Tools. SSTV reception goes through the audio input and needs this permission.
Receiving
In the Receive card press Start reception (or Monitor, see auto-start). What happens:
- The waterfall (1–2.6 kHz) shows the spectrum — handy for setting levels and to see whether an SSTV signal is present at all.
- As soon as a transmission with a VIS header begins, HAM-Tools detects the mode automatically and builds the image up line by line.
- On the left the status panel shows level, detected mode, slant and progress (line X/Y, remaining time of the current transmission).
- A finished image lands in the gallery automatically and is saved to the RX folder.
Wait for the start
The mode is in the VIS header at the very start of a transmission. Tune in before the picture begins (the short beeps) and HAM-Tools detects everything by itself and aligns the image straight.
Auto-start on signal
New in 1.28.0
Hands-free monitoring — ideal if you just want to leave the SSTV frequency (e.g. 14.230 MHz USB) running.
Enable "Auto-start on signal" below the slant control and set the level threshold (−60…−20 dBFS). The start button is then labelled "Monitor". How it works:
- Reception runs in the background and idles cheaply while the band is quiet.
- When a signal crosses the threshold, HAM-Tools switches to decoding automatically — no click needed.
- Because the decoder is fed the whole time, the VIS header is not lost; the picture is decoded cleanly from the start.
- A brief QSB dip does not abort a picture in progress.
Slant correction
Small sample-rate differences between transmitter and receiver tilt the picture (slant). Auto-slant (default) measures this from the sync pulses and corrects it automatically. On a very weak signal you can turn auto-slant off and fine-tune with the manual control — the picture is re-sampled live.
Mistuning (rig not exactly on frequency)
New in 1.28.0
If the radio is not exactly on the SSTV center frequency, the decoder measures the offset from the VIS leader automatically and removes it (up to ±150 Hz). VIS detection, sync position and colours all follow — including when decoding saved captures. That said: tuning in cleanly still gives the best colours.
Tuned in mid-picture? Force mode
If the VIS header is missing (you joined mid-transmission), pick the desired mode above and enable "Force without VIS". The picture may then be shifted vertically — you have to know the mode yourself.
Gallery
The strip along the bottom collects every image received during the session (and loads existing ones from the RX folder when opened).
New in 1.28.0
- Thumbnails now show the mode, the time and — if a callsign is entered in the TX context — the callsign too.
- "Select" turns on multi-select: mark several images and remove them together with "Delete (N)", or "Delete all" (with a confirmation).
- The callsign also goes into the file name of the saved PNGs.
Clicking a thumbnail opens the large view with mode, callsign and date, plus "Log as QSO", "Show in Finder" and "Delete". The RX target folder is selectable in the Receive card (default: ~/Documents/HAM-Tools/SSTVReceived).
Sending
- Choose image… — load any image; it is cropped to the mode's resolution (aspect-fill).
- Optionally burn in overlays (see template editor) — callsign/locator/RST right in the image.
- Send (PTT) — HAM-Tools keys PTT over CAT (like the contest voice keyer), plays the audio out through the TX device and releases again at the end.
New in 1.28.0
A larger image preview and a prominent send display with percentage, a remaining-time countdown and the mode. "Cancel send" stops at any time.
Template editor
Via Edit… (with overlays enabled) you can create text overlays as reusable templates: position, size and colour per text field, with placeholders {CALL}{LOCATOR} {RST} {MODE} {DATE} {TIME} and a live preview. The placeholder values (callsign, locator, RST) are entered in the Send card; they persist for the next session.
Log as QSO
Both a received image (gallery large view) and a sent image can be added to the active logbook with "Log as QSO": the frequency comes from CAT, the mode is SSTV, and the image is attached to the QSO (visible in the QSO form).
Modes
14 modes, each detected automatically via the VIS header:
| Family | Modes |
|---|---|
| Robot | Robot 36, Robot 72 |
| Martin | Martin M1, Martin M2 |
| Scottie | Scottie S1, Scottie S2, Scottie DX |
| PD | PD50, PD90, PD120, PD160, PD180, PD240, PD290 |
Troubleshooting
| Symptom | Possible cause / fix |
|---|---|
| Receive level stays at −120 dBFS | Microphone permission missing (System Settings → Privacy → Microphone) or wrong RX device |
| Waterfall shows a signal but "waiting for signal" | You joined mid-transmission (no VIS) → wait for the next start or use "Force mode" |
| Picture is tilted | Slant — leave auto-slant on, or fine-tune manually on a weak signal |
| Colours slightly off | Rig not exactly on frequency — compensated up to ±150 Hz, but precise tuning is better |
| Sending: no ALC / no power | Wrong TX device (for identically named devices check the serial number — TX must match the RX serial), or DATA MOD ≠ USB on the rig / USB MOD level too low |
Reality tip
SSTV is sporadic. Good chances: 14.230 MHz USB (20 m, often evenings/weekends) and during events the ISS on 145.800 MHz FM.
Tools (debug)
In the Receive card under "Tools" there is Self-test (generates a test image internally and decodes it — must show "Martin M1" + colour bars), Decode WAV… (decode a WAV file, e.g. a saved capture) and Save RX audio (saves the received audio as a WAV for troubleshooting). These helpers are intentionally on board during the road-testing phase.