Morse Buddy

In development · Not yet on the App Store

Morse code between two iPhones — by light, by tone, or silently.

Morse Buddy turns a pair of iPhones into signalling devices. One phone sends with its camera flash, an audible tone, or a near-ultrasonic carrier most adults cannot hear. The other watches or listens, works out the sender's speed on its own, and decodes. There is also an emergency strobe.

No network. No account. No server. Two phones and line of sight, or two phones in the same room.

Four ways to signal

Torch

Camera flash blinks Morse. The other phone watches with its camera and decodes.

Line of sight. Prefers darkness, but works in a lit hallway at 30 feet.

Tone

A 700 Hz audible tone, the traditional Morse pitch. Anyone nearby can hear it.

Carries as far as the phone speaker does, and as far as the room is quiet.

Silent

An 18.5 kHz near-ultrasonic carrier, above the hearing range of most adults.

About five metres. Phone speakers are weak this high.

Strobe

A rapid emergency flash, separate from Morse. Free and never restricted.

Auto-stops on a timer so it cannot flatten the battery you need for a 911 call.

How it works

The interesting part is not that a phone can blink. It is that the other phone can reliably tell the difference between a blink and the rest of the world.

Detection uses the brightest few pixels, not the average

The obvious approach — average the brightness of a region and watch it rise — fails at any useful distance. At 30 feet the flash is a point of light perhaps three pixels across. Averaging it across the region divides its brightness by the region's area, lifting the mean by roughly 0.12 grey levels. That is below the sensor's own noise floor. Undetectable.

Morse Buddy instead takes the mean of the brightest handful of pixels in the frame. For that three-pixel case it measured 1728 times more sensitive than the average, and it still works when the spot is down to a single pixel.

The receiver works out the sender's speed for itself

Nobody has to agree on a words-per-minute setting beforehand. The receiver collects the lengths of the on and off runs it observes and clusters them, deriving the dot length from the distribution rather than judging each symbol in isolation. That is what lets it survive timing jitter of ±25% and still decode.

The silent carrier is shaped, not switched

Gating a sine wave on and off with hard edges is the naive way to key a tone, and it splatters energy either side of the carrier as an audible click. Every dot would announce itself. Morse Buddy ramps each element with a raised-cosine envelope, which measured the out-of-band splatter at 65.5 dB down. That is the difference between a silent mode and a mode that clicks.

One decoder, two senses

The camera path and the microphone path both reduce what they see or hear to the same thing: a list of on and off durations. From there a single decoder handles both. The Morse engine itself is covered by 22 tests, and the tone decoder by a further 21 checks run against the transmitter's own output.

Honest limits

Every one of these is a real constraint we would rather you knew before you relied on the app than after.

Line of sight only, and it prefers darkness.
Optical Morse needs an unobstructed path between the two phones. Ambient light eats margin; the receiver copes with backgrounds up to about 190 of 255, but a bright day outdoors is a bright day outdoors.
Silent mode carries roughly five metres.
Phone speakers are inefficient at 18.5 kHz. This is a room-scale channel, not a building-scale one.
Inaudible is not undetectable.
Teenagers often hear 18.5 kHz. So do dogs. Anyone running a spectrum analyser sees it immediately. Treat it as discreet, never as covert.
It is a signalling tool, not a messaging channel.
At Morse speeds a sentence takes a while. This is for short signals, coordination, and emergencies — not conversation.
The strobe is not a weapon.
A phone torch is not a tactical light. In daylight it does essentially nothing. In darkness it is genuinely disorienting, but it will not incapacitate anyone.

Safety: the strobe can trigger seizures

Flashing light in roughly the 3–30 Hz band can trigger seizures in people with photosensitive epilepsy, with peak risk around 15–20 Hz. The risk applies to bystanders and to the person holding the phone, not only to whoever it is pointed at. The app shows a warning before the strobe is used for the first time, and this site says so too rather than leaving it as a surprise.

Read the full safety notice

Where it is up to

Morse Buddy is in active development and internal testing on real hardware. It is not on the App Store, there is no release date, and there is no price. When that changes, this page will change with it.

If you would like to know when it ships, or you have a question about how any of it works, email us. We read everything.

Email us about Morse Buddy

Why three dots

The Sparky1 mark is a robot dog with a plug for a tail, and it has three dots along its body. In Morse, · · · is the letter S — and the opening of SOS. The bridge from the company mark to this app was already there before anyone went looking for it.