Is there an AM/FM receiver that can be hooked up to the raspberry pi and be tuned by the pi? I am building a radio and obviously need a receiver, and I want to be able to tune it through the pi. I am very new to thr raspberry pi, GPIO, and anything else, but it would be great just to be able to tune the receiver by typing a command. Any ideas? Sorry if I didn't phrase my question right.


3 Answers 3


I can recommend Elonics E4000 TV-tuner. Here are some links:



Last I checked they’d gone out of production, but may have returned due to demand. Many which claim to be E4000 are some realtek nonsense. Use dmesg to see what you have, or take it apart and look at the chip.

Calculate PPM with rtl_test -p, after installing the rtlsdr package. You will need this offset in various SDR software packages. PPM will drift as your dongle heats up, so heatsink the E4000 chip, and place it in a grounded, shielded box - even wrapping it in (grounded) alufoil will help. The Pi doesn’t generate as much EMI as a laptop, but you will still see a difference in reception quality if you use a linear 5V supply instead of a 5V SMPS.

For what it’s worth, the RTL2832U is a perfectly fine SDR dongle, it is just a bit less sensitive, and covers less spectrum.

Adafruit sells these at a huge profit, and you are better off getting one from eBay. I use mine with a little dipole, though I had plans to make a yagi for it. Plans...

Note that with a USB repeater cable, you can get much improved range in where you place the dongle. It has no noticeable quality loss.

Update: The default PPM report interval is much too low... I recommend using rtl_test -p300, which every 5 minutes will yield an averaged value of the PPM offset. An antenna should be connected when calibrating.


There is a product generically described as Software Defined Radio (SDR) and such a product is available from Adafruit.

The description cautions that AM frequencies can be received, but that AM radio signals cannot. The amount of data provided in the above link is just short of overwhelming, as it provides research links to far too many locations to list here.

I purchased some time ago such a product and using a BeagleBone rather than a Pi was able to collect data from passing aircraft equipped with data broadcast systems, typically airliners and other similarly equipped airplanes. The particular package included a web interface with a mapping resource, providing a graphical interpretation of position over ground as well as altitude and airspeed.

If your output frequencies are able to be customized, you would be better able to direct them to the range of frequencies accessible by the SDR, which are listed as signals from 24MHz to 1850MHz.

The device is supported, per the website by Windows, Mac and Linux.

enter image description here

  • This works fine with rtl-sdr (audio can be piped easily), but it MUST have a much better antenna:/
    – user2497
    Sep 24, 2017 at 12:05
  • That is a very small device, likely RTL2832U. It will give a bad RF experience.
    – user2497
    Oct 31, 2017 at 9:08

There is a great project that use breakout board SI4703 .


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.