RDS Surveyor is being developed by Christophe Jacquet, a radio ehtusiast.
Run RDS Surveyor 2 now in your browser!
Project links:
RDS Surveyor is a complete open-source tool for decoding and analyzing Radio Data System (RDS) data. RDS (also known as RBDS in North America) is a communication protocol for embedding streams of digital information in FM radio broadcasts.
RDS Surveyor comes in two flavors:
- RDS Surveyor 2 is the newer version: it is a web application that runs in the browser and can be optionally installed as a standalone app. It is currently compatible with the Chrome and Edge web browsers, on all platforms.
- RDS Surveyor 1 is the older, Java-based version. It can run on all platforms supported by Java, but requires the Java runtime to be present. It has been successfully used on Linux, MacOS and Windows.
RDS Surveyor 2 is currently in beta and it lacks some of RDS Surveyor 1's features. However, as of November 2024, development is active and we expect the missing features to be added in the coming weeks or months.
Supported hardware
RDS Surveyor can use diverse data sources:
- RTL-SDR USB dongles supported by librtlsdr (only v1 so far, but support being implemented in v2),
- Si470x-based USB FM tuners (e.g. Silicon Lab's USBFMRADIO),
- GNS FM9 TMC receiver (only v1),
- Video4Linux receivers which feature RDS (only v1),
- data and clock signals (as output, for example, by a TDA 7330 receiver IC) and sampled by the sound card (only v1),
- log files from itself or RDS Spy (both synchronized group data or unsynchronized bitstreams),
- recorded samples of the multiplex (MPX) signal.
Supported RDS features
RDS Surveyor implements all basic RDS features, as well as a number of common Open Data Applications (ODAs):
- basic features for programme identification: PI, PTY, TP/TA, various flags,
- program service name (PS), including intelligent handling of scrolling PS,
- long program service name (LPS) defined in RDS2,
- alternative frequencies (AF),
- radiotext (RT), RadiotextPlus (RT+) and Enhanced Radiotext (eRT),
- clock time (CT),
- cross-referencing of other networks (EON),
- radio paging (RP) — only v1, coming soon in v2,
- Traffic Message Channel (TMC) — only v1, coming soon in v2,
- EN301700 (cross-referencing of DAB from RDS),
- RBDS-specific features, e.g. PI-code to callsign decoding.
Contrary to off-the-shelf radio sets that give access to only a subset of RDS features, RDS Surveyor enables the user to analyze all RDS data, at various protocol levels. RDS does not discard groups with errors, instead it tries to interpret groups even when some blocks are missing. This enables RDS Surveyor to decode RDS data very quickly, even with poor reception.
The itended audience for RDS Surveyor is both end users (radio enthusiasts and professionals) who wish to get full access to RDS data, and developers who wish to re-use an RDS decoder as a library. RDS Surveyor is open source; see the respective Github pages for the licenses.
How to help?
Please try and use RDS Surveyor. Then you may:
- report bugs (and successes too!),
- record RDS bitstreams, and send them to me (especially if they contain oddities), so that I can improve RDS Surveyor.