SDR ALERT decoder
Read flood-warning radio telemetry off the air with a $30 receiver.
What it is
ALERT and iFLOWS field stations across NSW report river and rain readings on 151.5 MHz as short AFSK bursts. This project decodes them: a desktop Python decoder, and an Android app that hosts the RTL-SDR over USB and runs the whole DSP chain on the phone -- no PC, no network, no server. It reports the sensor ID, the value, and the four raw bytes they came from, so a reading can be checked rather than trusted.
- Three protocols, not interchangeable: ALERT Binary (no checksum), Enhanced iFLOWS (6-bit CRC), and ALERT2 (a different physical layer).
- A 6-bit CRC is a 1-in-64 filter, not proof. Accepting on CRC alone invented 33 phantom stations in a capture containing four -- so CRC lowers the vote bar, it never replaces consensus.
- Measured off-air against an independent record: ALERT Binary produced a confidently wrong reading (1.946 m for a known 0.666 m) with full consensus, because it has nothing to fail. Enhanced iFLOWS did not, across the same session.
- No site register is bundled. Sensor registers are agency data; the decoder reports what came off the air and an operator supplies their own labels.
How it works
Parts
Code
github.com/agmurf/sdr-alert-decoder ↗
MIT licensed. No agency sensor register and no key material is included. Field engineering on a live warning path, published because the reasoning may help others — not a product, no warranty.
Product photos are the manufacturers' — used to identify their products and linked to their pages: RTL-SDR Blog, Mini-Circuits (generic case illustration).