Repository navigation
Dongles
The plugin works with RTL-SDR USB dongles: receivers built around the RTL2832U chip with a separate tuner chip. They are sold for a few pounds or euros as "DVB-T sticks" and for somewhat more as purpose-made software radio receivers.
Any dongle with an R820T, R820T2 or R828D tuner will do. The difference between a cheap one and a good one is mostly the crystal (how exactly it is tuned), the shielding and the connector.
- Purpose-made receivers (RTL-SDR Blog V3 and V4, Nooelec NESDR SMArt and similar) have a temperature-compensated crystal that is within 1 or 2 ppm, a metal case and an SMA antenna connector. They are the trouble-free choice.
- Cheap generic sticks work for FM and DAB. Their crystals are typically 15 to 60 ppm off; the plugin measures and follows that by itself (see Gain, Frequency and Loudness). They usually have a small MCX antenna socket and come with an antenna too short for the FM band.
- A dongle with a bias tee (the RTL-SDR Blog models, Nooelec SMArTee) can power an active antenna through the cable.
- Dongles with an E4000 tuner (the Nooelec "XTR" models, made for an extended tuning range) play FM and DAB too.
The following were measured one after another on one player with one antenna, with the plugin's own survey; the player, the site and the method are described under Test Setup. "FM stations" is the number found by an FM scan at the Balanced sensitivity. The figures show how the dongles compare, not what you will receive at your location.
| Dongle | Tuner | Crystal error | FM stations found | With 1.4.6, fast / detailed | Remarks |
|---|---|---|---|---|---|
| RTL-SDR Blog V3 | R820T | about 1 ppm | 27 | ||
| Nooelec NESDR SMArt v5 | R820T | about 1 ppm | 28 | 31 / 32 | |
| RTL-SDR Blog V4 | R828D | about 1 ppm | 23 | 30 / 31 | FM reception a little weaker than the R820T dongles on the same antenna (stereo pilots 2 to 7 dB lower), with either driver |
| Generic stick, R820T | R820T | about 1 ppm | 28 | one unit stopped delivering samples after many starts in a row, until it was replugged | |
| Generic blue stick | R820T | 14 ppm | 27 | 31 / 29 | |
| Generic blue stick | R820T | 51 ppm | 28 | 29 / 31 | |
| Generic black stick | R820T | 51 ppm | 28 | ||
| Nooelec NESDR SMArt XTR v5 | E4000 | under 1 ppm | 28 | 14 gain steps; the two highest, named 5 and 8 dB, add 0.1 and 6.3 dB. Repeats every station about 24 dB weaker at a mirror place (see below) | |
| Nooelec NESDR XTR+ | E4000 | under 1 ppm | 28 | 30 to 31 / 31 | As the SMArt XTR, the mirror copy about 22 dB down (see below). Names itself as a generic "RTL2838UHIDIR" |
The first count is from the scan of version 1.4.0. The second, where there is one, is from one evening with version 1.4.6, which listens to more channels and finds stations without a stereo pilot: a fast scan and a detailed scan at the Balanced sensitivity, with the station list of the player known to the scan, as it is to every rescan. Stations at the edge of reception come and go between two scans, which is the difference of one or two. The V4 listed as many as the others. The blue sticks' errors were found and corrected by the scan (13 to 16 and 51 to 58 ppm, moving as the sticks warmed). A survey took 40 to 50 seconds on the R820T and R828D dongles and 65 to 77 seconds on the XTR+, whose mirror copies are looked at a second time.
Reported from another site (Taiwan, version 1.4.8, a Raspberry Pi 5 with an indoor antenna): an RTL-SDR Blog V4 at 1 ppm, no sample lost, listing 47 stations at the Balanced sensitivity, 48 at Sensitive and 50 at the most sensitive, with seven tuner-made signals refused beside stations of 55 to 60 dB.
On DAB the dongles did not differ much: the ensembles measured were received alike by the seven R820T and R828D dongles and at least as well by the two E4000 ones, and DAB stations played on each.
All of them were used with the PPM correction at 0. FM needs no setting either: see FM tuning correction.
An E4000 tuner brings the band straight down to zero frequency, and what it delivers contains every station twice: where it is, and 22 to 24 dB weaker at the same distance on the other side of the frequency the tuner is set to. The R820T dongles measured here keep such a copy 50 to 60 dB down. Most of the time this goes unnoticed, since a copy that much weaker is covered by whatever station it lands on. It matters where one station is very much stronger than the rest:
- A copy where the band is empty carries the strong station's stereo pilot and looks like a station. With the NESDR XTR+ a scan listed two such entries before version 1.4.3.
- A copy on a weaker station covers it: on the test site, where one station arrives about 37 dB above the others, the station its copy landed on was measured 9 to 14 dB weaker than with the other dongles.
Since version 1.4.3 the scan recognises both. A channel that is largely the turned-over copy of a stronger one is listened to once more with the tuner set elsewhere: a copy is gone then and is not listed, a station is still there and is listed with the reception level it shows by itself (see Scanning).
DAB is not affected: both E4000 dongles received the ensembles measured at least as well as the others.
Two more things were measured on the E4000 and are allowed for since version 1.4.5 (see Gain, Frequency and Loudness): its gain steps are not what they are named, and it leaves noise of its own around the frequency it is set to. Both had made the plugin take the gain down where there was no need, by 6 to 15 dB.
The other tuners RTL-SDR dongles are built with (FC0012, FC0013) are driven by the same library, and the plugin takes whatever gain steps a tuner offers, but they have not been tried.
Make a dongle report with it and send it to the project through the community thread. It holds what the table above was made from.
A gain measured for an FM station belongs to the dongle it was measured with. The plugin recognises a dongle by what it reports over USB (its name, serial number and the port it is in) and measures again when that changes. Many generic sticks report the same name and the same serial number; two of those in the same port look like one dongle, and the kept gains are then used for up to a week.
- Use a short USB extension cable. It lets the dongle sit away from the player, whose own electronics are a source of radio noise, and frees the neighbouring ports. A poor cable causes drop-outs and failed starts; use a good one and keep it short.
- One dongle at a time. The plugin uses the first RTL-SDR dongle it finds.
- A dongle that stops delivering. If the plugin reports that the dongle is not delivering a signal, unplug it and plug it in again. See Troubleshooting.
- Heat. These dongles run warm; that is normal. The crystal drifts a little as it warms, which the plugin follows.
FM/DAB Radio for Volumio · Source · Community thread · GPL-3.0
Using the radio
- Installation
- Getting Started
- Playing Radio
- Scanning
- Gain, Frequency and Loudness
- Artwork and Metadata
- Station Logos
Managing it
Hardware
Help
Reference