Raspberry Pi RTL-SDR Spectrum Analyzer Scanner

Adafruit has released a tutorial showing how to build a portable TFT screen based Raspberry Pi RTL-SDR spectrum analyzer that was inspired by the HackRF portapack. Construction of the project is very simple and the “FreqShow” python software is provided as a simple download that is ready to run once the RTL-SDR is installed on the Raspberry Pi.

The FreqShow software appears to be fully featured with the ability to change the center frequency, sample rate, and gain.  It can show on the TFT screen the real time RF spectrum of the currently tuned area or it can be switched to show a waterfall of the spectrum as well. Below is a video of the finished project that shows the software in action.

"Freq Show" Software in action on a Raspberry Pi
“Freq Show” Software in action on a Raspberry Pi with TFT Screen


  1. Frank S

    Has anyone tried this with the NooElec Ham it up, upconverter? I was going to see how well it works, but the SW may need a tweak for the freq offset (-125MHz)

  2. Frank S

    Where can I get the Pi software? I have the dongle (and ordered another NooElec nano) plus a 7″: screen
    I haven’t seen a repository for the SW
    Frank KA2FWC

  3. alpha

    New to this pi world! i have Raspberry pi3b and would like to know if there is any way to have it display on HDMI display with mouse. I also rxed the error on line 77. Any help would be great. Thank You!!

  4. Russell Grokett WA4EFH

    Just FYI… In case you want to use a real mouse instead of touch screen:
    $ nano freqshow.py
    Change “CLICK_DEBOUNCE = 0.1″
    Comment out the touchscreen driver:
    #os.putenv(‘SDL_MOUSEDRV’ , ‘TSLIB’)
    #os.putenv(‘SDL_MOUSEDEV’ , ‘/dev/input/touchscreen’)
    Set the Mouse to Visible:

    This worked fine with my 5” HDMI monitor and a regular USB mouse.

  5. cole

    what frequencies Can it display? and if possible can I be able to listen to the spectrum or will I need a add on to do so?

    • Russell Grokett WA4EFH

      I found mine to do all frequencies between 52 – 2200 MHz (with gaps for cell phone freqs). Basically, whatever your RTL-SDR dongle will do. You type in the center freq and it gives display of bandwidth of the dongle (usually about 2mhz).

  6. Joseph T WA4UJY

    I get the error below , is there a solution/edit in the script ?

    Joe WA4UJY

    [email protected]:~/FreqShow $ sudo python freqshow.py
    MobaXterm X11 proxy: Unsupported authorisation protocol
    Traceback (most recent call last):
    File “freqshow.py”, line 77, in
    pygame.error: Unable to open mouse
    [email protected]:~/FreqShow $

    • Jim WA9PYH

      I have FreqShow working now but only with a AdaFruit PiTFT 3.5″ touchscreen. It’s on a 16MB SD card. Joe, if you would like the image let me know.

      • Josrph Totter WA4UJY

        Sure I would love the image. Whow can i get that ?

        The display I am using is an 480X320 pixel with an XTP2046 touchscreen controller ans says 3.5 inch RPi Display so it may be the adafruit. It works fine on the PI I just get that friggin error in python. I will get that adafruit display to verify thats not my issue though.

        • Jim Kocsis

          Joe, I tried to reach you via your email shown on QRZ, it bounced back. Tried to call you and your phone mail box is full. Mail me a 16 GB micro SD card, class 10 and I will load the image and mail it back. My address is okay on QRZ.


    • Jim WA9PYH

      Thanks for the info Chris. I ‘m just now getting back into the Pi and SDR. I’m real beginner on the Pi and will only be able to follow a “recipe” for now but I’ll try it anyway. I’ve been reading books on the Pi, watching the hundreds of videos and learning a lot!

      best regards


  7. Jim Kocsis WA9PYH

    what is the resolution of the Raspberry Pi SDR-RTL spectrum analyzer? can you see individual carriers (CW -morse code) signals? can the display be zoomed in (narrow the bandwidth)?

  8. Beernink

    Touch screen fails when sdr program is started. Mouse cannot be seen, but with some guess work, functions can be started. Why stops my touch functionality?

    • Jeff Flowers

      Hey there – same issue as @Beernick. Got it running on my 7″ official screen – and no ability to touch. Could use the mouse with a bit of guesswork. Anyone got a work around?


    • dave

      It has to do something with giving the program rights to access the touch screen data. try running it as root to see if it fixes it. This is a common problem with touch screen on raspi

Leave a Reply to VAISHNAVI AJAY Cancel reply

You may use the following HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>