The archive · Product Ideas · Technical decision · 2021
ggwave's r2t2 turns the PC speaker into a data link for air-gapped machines
r2t2 encodes short messages into tones a motherboard's piezo speaker can play, so a phone held nearby reads data from machines with no network.
ggwave
What it had to solve
ggwave is an open-source library for communicating data through sound. Its r2t2 example targets a real gap: machines that must not touch a network still need a way to emit data, and adding dedicated hardware usually costs money or complicates the isolation. The motherboard's piezo speaker — a component that many computers already have and that costs a few dollars as a spare — is audio hardware nearly every machine owns.
How it works
Air-gapped machines are secure partly because nothing leaves them — which is exactly their problem when they need to report data. ggwave's r2t2 example offers a channel that costs almost nothing: the motherboard's internal PC speaker, a piezo buzzer many computers already have and that retails for a couple of dollars as a spare part.
The tool is deliberately minimal. r2t2 encodes a short message into audio and plays it through the speaker — on Unix by loading the pcspkr kernel module and running the command with sudo. Three selectable protocols, Normal, Fast and Fastest, cover different speed needs, and the receiving end is a web page: open r2t2.ggerganov.com on a phone, hold it near the speaker, and the message appears. The README's suggested application is automated scripts that periodically emit sensor values from an air-gapped machine for someone nearby to collect.
The README credits Radoslav Gerganov with the idea, and the tool made its public debut as a Show HN on 2021-04-21, drawing 189 points and 71 comments. The example stayed in the ggwave repository — the project's data-over-sound library — complete with its demo video and receiver page; by the 2026 archive snapshot the repository showed roughly 7.9k stars and 466 forks.
Why it lands
- The channel is already there: the piezo speaker sits on or can be attached to almost any motherboard for a few dollars, so the link adds no network hardware and no wiring.
- The receiver is just a phone: a web page turns any phone into the decoder, so the person collecting data carries the entire receive side in a pocket.
- Air-gapped telemetry is a real need: machines that must not join a network can still emit sensor values, and a script can announce the latest reading on demand.
- Three named protocols — Normal, Fast and Fastest — let one command cover different speed requirements.
- The retro charm made the hack travel: a Show HN about squeaking data through a motherboard beeper drew 189 points and 71 comments overnight.
What it did
The tool launched as a Show HN on 2021-04-21 and drew 189 points and 71 comments. The r2t2 example remained part of the ggwave repository with its demo video and receiver page; by the 2026 archive snapshot the repository showed roughly 7.9k stars and 466 forks.
What you can take
Overlooked hardware is still hardware: a near-free component most machines already carry can become a data channel, and the constraint of a single tone forced a minimal, elegant protocol.
Since then
r2t2 stayed part of ggwave's examples with its demo video, and the repository kept growing: by the 2026 archive snapshot ggwave showed roughly 7.9k stars and 466 forks, with the README still pitching the PC speaker as an ultra-cheap telemetry channel for air-gapped machines. The material records no further productization — the idea remained what it was at launch: an open-source example proving that a machine can talk through the speaker it already has.
Sources
spotted an error? The archive wants to know.
Your turn
You just read one. Describe the brief you are staring at, and see who has been given the same problem.
Free account · 3 free questions · no card