Photon SSTV app icon

Photon SSTV

Photon SSTV for iPhone and iPad · User manual · Version 0.1

Photon SSTV receives and sends slow-scan television (SSTV): still pictures sent as sound over radio. It decodes pictures live from your radio, shows the signal on a waterfall, keeps a gallery, sends pictures with your callsign, and helps you receive the International Space Station's SSTV events: pass predictions, Doppler memories for your radio, a pointing tracker, and practice passes.

1. Quick start

See it work in ten seconds

  1. Open the Receive tab.
  2. Tap PLAY SAMPLE on the line under the picture.

Photon SSTV plays a real recording of the ISS sending a picture (PD120, from the ARISS 20th-anniversary series) into its decoder. You'll see the picture paint from the top, line by line, while the signal scrolls down the waterfall. It plays at 4× speed; change that under Source → File speed.

Receive from your radio

  1. Tune your radio to an SSTV signal: during an ISS event, 437.550 MHz FM (check the event page); on HF, 14.230 MHz USB is the busiest SSTV frequency.
  2. Get the radio's audio to the phone: hold the phone near the speaker, or connect a cable interface, a Bluetooth radio, or SDR software (see Connecting your radio).
  3. Tap Listen. Photon SSTV recognises the picture's mode by itself and starts painting.

Before your first ISS pass

  • Set your location: Settings → ISS → Grid square, or Use my location on the ISS tab.
  • Program the Doppler memories into your radio (section 9).
  • Try a practice pass.
The Receive screen, waiting: NO SIGNAL on the picture, PLAY SAMPLE on the status line, an empty waterfall, and the Mode, Source and Listen controls.
Waiting for a signal

2. The Receive screen

The screen is laid out like a piece of radio gear: a display across the top with readouts written on it, and a few controls below.

Picture
Paints line by line as it arrives, with a bright scan line. When idle it shows NO SIGNAL (with the odd flicker of static), or LISTENING_ while listening.
Status line
The mode (for example PD120) and progress (312/496, then DONE). While a picture comes in, the tuning offset in Hz. When it's finished:
  • SNR40: the estimated signal-to-noise ratio in dB. Above about 20 is a clean picture; below 10 is noisy.
  • ADJUST: straighten or shift the picture (section 4).
  • SHARE: send it to Photos, Messages, Mail and so on.
  • RESET: clear the picture and the waterfall. While a picture is still coming in, RESET also stops listening and drops it.
RX lamp
Top right. It lights amber while a picture is being received.
Waterfall
The audio spectrum from 0 to 3 kHz, newest at the top. The marker lines show where SSTV's tones belong: SYNC 1200 Hz, BLK black 1500 Hz, VIS header 1900 Hz, WHT white 2300 Hz. A good signal fills the band between BLK and WHT, with a line at SYNC. The small meter at top right shows the input level. The colours and brightness are in Settings.
Mode
Auto (VIS) is best: each transmission starts with a short header (VIS) that names the mode, and Photon SSTV also spots pictures without one after about 16 lines. Choosing a mode forces it, which helps when you join a picture part-way through.
Source
Where the audio comes from:
  • The microphone or a connected interface: built-in, USB or Bluetooth.
  • Network audio from SDR software.
  • Decode an audio file…
  • Sample: ISS, PD120.
  • File speed for recordings: real time, 4× or 16×.
Listen / Stop
Starts and stops receiving from the chosen source.
With the ISS tracker on, the picture and waterfall share one row so everything fits on screen during a pass. Tap the picture to see it large.

iPad: in landscape the picture fills the left and the controls sit on the right. With a keyboard: Space listens or stops, ⌘O opens a recording, Esc resets.

A decoded ISS picture on the Receive screen, with PD120 DONE, SNR40, ADJUST, SHARE and RESET on the status line and the signal on the waterfall.
A finished picture

3. Connecting your radio

Through the air

The simplest way: let the phone listen to the radio's (or computer's) speaker. How you hold it makes a big difference:

Even done well, the air path costs some quality; compare the SNR with a clean decode of the same recording. A cable or Bluetooth connection avoids it altogether.

USB audio interface

Plug a USB audio interface or radio interface into the phone (USB-C, or a Lightning adapter) and choose it under Source. For transmitting, the same interface carries Photon SSTV's audio to the radio's microphone input.

Bluetooth radios

Radios with Bluetooth audio, such as the BTECH UV-PRO, work as a hands-free device. Pair the radio in the iPhone's Settings → Bluetooth first, then choose it under Source. Bluetooth hands-free audio is narrow, but SSTV's tones (1100–2300 Hz) fit comfortably.

SDR software over the network

Photon SSTV can listen to audio streamed over your Wi-Fi from SDR software such as GQRX or SDR++:

  1. In the SDR program, turn on UDP audio output (GQRX: the UDP button under the audio panel; SDR++: a network sink). Send it to your phone's IP address, port 7355, 48 kHz, mono, 16-bit.
  2. In Photon SSTV, check Settings → Network audio matches: UDP port, sample rate, mono or stereo.
  3. Choose Network audio (UDP :7355) under Source. The first time, iOS asks to allow the local network; say yes.

Recordings

Choose Decode an audio file… under Source. WAV, MP3, M4A, FLAC and AIFF all work. You can also drop recordings into the Files app under On My iPhone → Photon SSTV.

4. Straightening a picture

If the sender's and receiver's clocks differ slightly, a picture leans (slant). Photon SSTV measures and corrects this automatically. For anything left over, tap ADJUST after the picture finishes:

The preview updates as you drag. Apply replaces the picture and its Gallery copy; Reset returns to the original.

With Save decoded pictures on (Settings → Receive), every picture of at least 16 lines is saved automatically, along with every picture you send.

  • Filter with All, Received, Sent or ★ (favourites).
  • Tap a picture to see it full size with its details: when it was received or sent, its source, and for received pictures the lines decoded, SNR, clock error and tuning offset.
  • From there you can star it, share it or delete it.
  • Sent pictures are marked TX.
The Gallery: a grid of decoded ISS pictures with All, Received, Sent and star filters.
The Gallery

6. Transmit

Transmitting needs an amateur radio licence. Enter your callsign in Settings → Station; Photon SSTV draws it on every picture you send, which identifies your station.
Picture
A Photo… from your library (cropped to fill the mode's picture), or a test card: Bars, White, Black, Ramp or Checker. Message… adds a short line of text at the bottom.
Mode
Any of the supported modes, each shown with its airtime. Robot 36 (37 s) is quick and widely received; PD120 is higher resolution.
Send / Stop
Plays the picture as audio through the current output: the speaker, a USB interface, or a Bluetooth radio. Receiving stops while you send, and sent pictures go to the Gallery.
Keying the radio
Use your radio's VOX, or your interface's PTT. If VOX clips the start, turn on VOX pre-tone in Settings. It sends half a second of 1900 Hz first, so the radio is keyed before the picture begins.
The Transmit screen: a colour-bar test card with the callsign N0CALL, Robot 36, 37 seconds, and the Picture, Mode and Send controls.
Ready to send a test card

7. The ISS and SSTV

ARISS (Amateur Radio on the International Space Station) runs SSTV events a few times a year. For several days, the ISS repeatedly sends a series of pictures (often 12) that anyone can receive with a handheld radio and a phone. Each event is announced with its dates, frequency and mode. The Upcoming ISS Events link in Settings → ISS opens ARISS's event page.

8. The ISS tab

The sky chart

A map of the whole sky above you, as if the phone were lying flat and you looked down on it:

  • Direction: north is at the top (the amber pointer), east on the right, south at the bottom, west on the left. The ring around the edge is a compass, with numbers every 30°.
  • Height: the outer circle is the horizon; the rings are 30° and 60° up; the centre is straight overhead.
  • The pass: the curve is the ISS's path. It rises at the filled dot, sets at the ring, and the arrows show which way it travels. The closer the curve comes to the centre, the higher (and stronger) the pass.
  • During a pass: the ISS itself glows amber on the curve.

The line underneath shows the countdown to rise (AOS) and the highest elevation, or during a pass, where to point (AZ bearing, EL height). TCA is the time of the highest point.

Turn on Rotate sky plot with compass in Settings and the chart turns as you turn, keeping the direction you face at the top.

Controls

Location
Use my location, or set a grid square in Settings (no location permission needed).
Alert above
The lowest peak elevation worth an alert: 10°, 20°, 30° or 45°. Higher passes are stronger and longer.
Alerts on / Alerts off
Notifications before each pass that peaks above the threshold, with the lead time you choose in Settings (2–30 min). Turn them on for an event's dates.

The pass list

Every pass in the next 48 hours: when it rises, how long it lasts, its peak elevation, and where it rises and sets. Brighter rows are above your alert threshold. VISIBLE marks passes you could also see with your eyes (the ISS in sunlight while your sky is dark), the same as the ISS Detector app. Radio doesn't need that, so daytime passes work just as well. Tap a pass to show it on the chart. Pull down to refresh the orbit data.

The ISS tab during a pass: the sky chart with its compass ring, the path from rise to set with arrows and the ISS glowing amber; the Doppler panel showing NOW and SET frequencies; and the list of passes, one marked VISIBLE.
During a pass: the ISS glows amber on its path

9. Doppler and radio memories

The ISS moves at 7.7 km/s. Approaching, its signal arrives higher than the published frequency; receding, lower. At 437.550 MHz that's up to about ±10 kHz (±3.5 kHz at 145.800 MHz), enough to take an FM radio off the signal. FM radios tune in fixed steps, so the usual method is to store a few memories around the frequency and step through them during the pass.

The Doppler panel (ISS tab)

Programming your radio

For 437.550 MHz with 5 kHz steps, store these in consecutive memories, so one press takes you to the next:

MemoryFrequencyOffsetUse
1437.560+10 kHzAt rise (approaching)
2437.555+5 kHz
3437.5500Around the highest point
4437.545−5 kHz
5437.540−10 kHzAt set (receding)

Start on the top memory at rise and step down one at a time. Photon SSTV's table tells you exactly when; each switch comes as the shift crosses halfway between two memories. These are the same channels as ARISS's own Doppler sheet. The tracker counts you into each switch.

10. The ISS tracker

Tap Enable ISS tracking under the Listen row on the Receive screen. The tracker shows where the ISS is, which way to point, and when to change memory, while the picture decodes above it. Close turns it off. While it's on, the screen stays awake.

The tracker held upright, with the decoded picture above it: the horizon with the compass along it, the pass as a dashed line with arrows, the ISS inside the target ring, ON TARGET, and the memory to be on with the time to the next switch.
Held upright: looking through the phone
The tracker with the phone lying flat: a radar-style sky chart turned to match the ground, the pass and the ISS glowing amber.
Lying flat: the radar view

Held upright: the sky view

Hold the phone upright with its back toward the sky, as if taking a photo. It's like standing in the middle of the sky dome:

Lying flat: the radar view

Lay the phone down and the tracker becomes a radar: the sky chart, turned with the compass so it lines up with the ground around you, showing the pass and the ISS. The bottom line shows the way the phone faces. Pick it up and the sky view returns.

What to do with the radio

Compass accuracy

The tracker uses the phone's compass, like sky-map apps. The header shows True N, or Magnetic N if location access is off (then it can be off by your local magnetic declination). Stay away from cars, metal railings and the radio itself. If iOS asks, wave the phone in a figure of eight to calibrate. A phone compass is good to within several degrees, which the target ring allows for.

11. Practice passes

A practice pass is a full rehearsal: pointing, memory switching and decoding, whenever you like. Tap Practice in the tracker's header and choose:

A practice pass mid-countdown: 437.555 IN 3 and READY: ONE MEMORY DOWN, with the down key lit amber, the practice radio on 437.560 and the signal level.
The ▼ key lights up: time to switch
The practice report: 496 of 496 rows, SNR 40 dB, 100% on target, 4 of 4 switches on time with their timings, and Again and Done keys.
The report at the end

How it works

What decides the picture

The report

At the end (or when you tap End): how many lines of the picture came through and its SNR, how much of the pass you were on target, and each memory switch, on time (within 4 seconds) or late, early or MISSED. Again repeats the practice; Done closes it. The picture is saved to the Gallery (as Practice pass) if saving is on.

12. Settings

Station · Callsign
Drawn on every picture you send.
Appearance · Theme
Phosphor (green and amber, the default), Amber CRT, Monokai, Solarized Dark, Catppuccin Mocha, Dracula, Nord, Gruvbox Dark.
Appearance · Waterfall colours
Heat (blue noise floor, green and amber for strong signals), SDR (the GQRX / SDR++ look), or Mono (the theme's screen colour).
Appearance · Waterfall brightness
50–200%. Higher brings out faint signals; lower darkens the noise floor.
Receive · Save decoded pictures
Saves every picture of at least 16 lines to the Gallery.
Transmit · VOX pre-tone
Half a second of 1900 Hz before each picture, to key a VOX radio.
Network audio
UDP port (default 7355), sample rate (8,000–48,000 Hz) and channels, matching your SDR software.
ISS
  • Upcoming ISS Events opens ARISS's event page.
  • Grid square: your Maidenhead locator, e.g. CN87. It's enough for pass times and needs no location permission.
  • Alert before a pass: 2, 5, 10, 15 or 30 minutes.
  • Rotate sky plot with compass.
About
Version, this manual, and the font licences.
The Settings screen: Station, Appearance, Receive, Transmit and Network audio sections.
Settings

13. Background decoding and the Live Activity

14. Tips for good pictures

15. Troubleshooting

Nothing decodes
Check Source is the right input and the level meter moves. Leave Mode on Auto. Try PLAY SAMPLE to confirm the decoder works. If you joined a picture part-way, choose its mode and it will pick up.
Pictures are scratchy or speckled through the air
Move the phone's bottom edge (the USB-C end) within 5–15 cm of the speaker, at moderate volume, in a quiet room. Room echo is the usual cause.
The picture leans or is split sideways
Tap ADJUST and use Slant or Shift.
Noisy picture, coloured streaks
The signal is weak or off frequency. Open the squelch, point the antenna better, and follow the Doppler memories.
ISS tab says NO LOCATION
Set a grid square in Settings → ISS, or tap Location → Use my location.
No passes or no orbit data
Photon SSTV needs the internet once a day to download the ISS orbit from CelesTrak. Pull down on the ISS tab to retry.
The tracker points the wrong way
Calibrate the compass (a figure of eight) and move away from metal. If the header says Magnetic N, allow location access for true north.
Pass alerts don't arrive
Check that Alerts on is set on the ISS tab, notifications are allowed for Photon SSTV in the iPhone's Settings, and the pass peaks above your Alert above setting.
Network audio is silent
Phone and computer on the same Wi-Fi; the SDR is sending to the phone's address and port; the sample rate and channels match Settings. Allow Local Network for Photon SSTV in the iPhone's Settings.
My Bluetooth radio isn't listed
Pair it in the iPhone's Settings → Bluetooth first, then look under Source.

16. Supported modes

Photon SSTV receives and sends all of these. In Auto it recognises each from its VIS header, or from its line timing if the header was missed.

ModePictureTimeVIS
Robot 36320×24037 s8
Robot 72320×24073 s12
Martin M1320×256115 s44
Martin M2320×25659 s40
Scottie S1320×256111 s60
Scottie S2320×25672 s56
Scottie DX320×256270 s76
PD50320×25651 s93
PD90320×25691 s99
PD120640×496127 s95
PD160512×400162 s98
PD180640×496188 s96
PD240640×496249 s97

17. Glossary

AOS, TCA, LOS
Acquisition of signal (the ISS rises), time of closest approach (its highest point), loss of signal (it sets).
Azimuth (AZ) and elevation (EL)
Compass bearing (0° north, 90° east…), and height above the horizon (0° horizon, 90° straight up).
ARISS
Amateur Radio on the International Space Station, which runs the ISS's SSTV events.
Doppler shift
The change in received frequency caused by the ISS moving toward or away from you.
Grid square
A Maidenhead locator such as CN87: a compact way hams give their location.
Memory / channel step
A stored radio frequency; the fixed spacing your radio tunes in (often 5 kHz).
Slant
A picture leaning because the sender's and receiver's clocks differ slightly.
SNR
Signal-to-noise ratio in dB: how far the signal stands above the noise.
TLE
Two-line element set: the published orbit data Photon SSTV uses to predict passes.
VIS
The short header at the start of a transmission that names its mode.

18. Privacy

The full privacy policy is on its own page. In brief:

19. Credits and licences