📻 An Electron app to listen to FM radio using an RTL2832U based USB dongle. Linux and Windows, Intel and ARM
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode
app
bootstrap
build_scripts
demodulator
icons
resources/windows
screens
.eslintrc.json
.gitignore
.travis.yml
LICENSE.md
README.md
build-arm.sh
electron-builder.yaml
karma.conf.js
package-lock.json
package.json

README.md

FM Radio Tuner

Image of fmradio

A simple cross-platform Electron app for listening to FM radio using an RTL2832U based USB dongle.

Features:

  • Tested on Windows 10 Windows 7, MacOS 10.13, Ubuntu 18.04 and Fedora 28.
  • Supports all tuners supported by rtl-sdr
  • Stereo decoding.
  • Good sound quality at higher sample rates (you be the judge).
  • Plays audio locally and on local HTTP server for remote listening.
  • Scan for stations.
  • Add station presets.
  • Record audio in lossless FLAC format.
  • Fully configurable.
  • Prebuilt for x64 Windows, Mac and Linux.

Hardware Requirements

Intel CPUs

  • Dual core CPU (tested and runs on a 2008 Pentium dual core T4200 laptop).
  • 1.5GB RAM.
  • Max sample rate for Intel is usually 2.56Msps.

ARM CPU

  • Runs well on ASUS Tinkerboard. Tested using Armbian and TinkerOS. A fan will be required to run at higher sample rates to avoid overheating and stability issues.
  • Does not run on Raspberry Pi but should run on any SBC with enough RAM and CPU grunt.

Running

Download required package from the releases page and install.

Windows

Requires dongle to be properly set up using Zadig.

Mac

Install Homebrew and run brew install flac rtl-sdr. Install the DMG package as normal.

Linux

Requirements will be installed automatically for deb and rpm packages. For AppImage, librtlsdr0 (debian/ubuntu) or rtl-sdr (Fedora/CentOS etc.) must be installed. A reboot may be required after installation of dependencies.

Building

Install dependencies (see below), clone/copy the repo and run npm install, then npm start from the cloned directory. If npm install fails, it is usually necessary to delete the node_modules directory before retrying.

Linux

Requires librtlsdr-dev (Debian/Ubuntu) or rtl-sdr-devel (Fedora etc.), libflac-dev (Debian/Ubuntu) or flac-devel (Fedorra etc.).

Mac

Install Homebrew and run brew install flac rtl-sdr.

Windows

Complicated - will document at some point.

Acknowledgements

This app is essentially an Electron rewrite/adaption of the Radio Reciever Chrome app.