Skip to main content

Install rtl-sdr on a C.H.I.P

Check your hardware

First you should make sure that your rtl-sdr stick is properly connected to your c.h.i.p and that your power source is suitable to drive the chip plus the rtl-sdr. Some of them are consuming more than 500mA (which is out of spec for USB2.0) which can cause the system crashing if under load.

Connect your rtl-sdr to the c.h.i.p, login and run lsusb -t. You should see an output like the one on the screenshot below. The last two lines are the rtl-sdr stick.

Install rtl-sdr

For convenience, I’ll use the rtl-sdr package. If you plan to do a source install you can have a look in one of my earlier posts.

To install the RTL-SDR tools in a chip, just run sudo apt-get install rtl-sdr.

Add udev rules

This is an important step if you plan to use your rtl-sdr as a non-root user (which is a good idea)

  • Step 1: Add a new rules file – sudo nano /etc/udev/rules.d/10-rtl-sdr.rules
  • Step 2: Paste the content of the listing below into the file and save.
  • Step 3: Reload the configuration – sudo udevadm control --reload-rules
  • Step 4: Replug the rtl-sdr stick

Test the SDR

Now it’s time to test the rtl-sdr. Run rtl_test and observe the output. If you don’t see any errors beside probably one at the end stating some bytes are lost, you’re good to go.

Bonus: Receive FM radio

For a real test, you can plug-in your headphones to the c.h.i.p and receive one of your local radio stations.

Run rtl_fm -M fm -f -r 32k -s 170k -A fast -E deemp - | aplay -t raw -r 32k -c 1 -f S16_LE

Frequency is in Hz. That means if your station is on 97.7 Mhz you have to put in 97700000 as value.