RF Analyzer Android App for the HackRF

Earlier this month we posted about a new port of the HackRF software defined radio Linux library for Android. Now the author of the Android port has created a new app called RF Analyzer. The app is basically a real time spectrum viewer that includes a waterfall display. The app can be downloaded from Github at https://github.com/demantz/RFAnalyzer.

The app currently supports the following features.

  • Browse the spectrum by scrolling horizontally
  • Zoom in and out, both horizontally and vertically
  • Adjust the sample rate and center frequency to match the current view of the screen by double tapping
  • Auto scale the vertical axis
  • Jump directly to a frequency
  • Adjust the gain settings of the HackRF
  • Select a pre-recorded file as source instead of a real HackRF
  • Change the FFT size
  • Setting the frame rate either to a fixed value or to automatic control
  • Activate logging and showing the log file

In the future the author intends to support the RTL-SDR and implement demodulation for basic modes such as AM, FM and SSB.

To use the app you’ll need an USB OTG (on-the-go) cable to connect your Android device to the HackRF.

RF Analyzer Android App for the HackRF
RF Analyzer Android App for the HackRF
RF Analyzer demonstration - Showing a FFT plot by using an Android device and the HackRF


  1. Craig Mawer

    Plugged it in and worked for 5 min, then tablet died and has never turned back on again … killed tablet PC …

  2. Guillermo

    Hello, download the RF Analyzer application to my G 3 motorcycle and when I run it the error appears: Source not available (HackRF)
    Somebody could help me
    Thank you

  3. Robert

    Beware downloading the RF Explorer app from GetJar. I did, and when I installed it it sent me to a porn site and disappeared – but was still a running process (just grayed out). I’ve finally rooted it out of that cheapo tablet (which is for RF Dongle use only, if I can get it to work) after discovering that it had somehow gained admin level privileges.

    I checked GetJar and found multiple ‘versions’ with slightly different names. I think someone is uploading malware under the RF Analyzer name.

  4. Chris

    First of all thanks for the great app! I think it’s the only spectrum analyzer that works with RTL-SDR on android!

    Second, I’d like to ask a few things:
    1. Is it possible to increase the scanned bandwidth? Scanning only 2Mhz is not very useful for my application (looking for noise peaks around the band). I cannot afford an RF Explorer, so I’m trying to make do with your app :D. I know the hardware supports it, as the same RTL-SDR usb stick works fine for hundreds of Mhz on my PC (given that I lower the FFT size).

    2. Should vertical zooming be working? Although enabled in settings, I can’t pinch to zoom vertically (horizontal works)

    3. Any chance of displaying the max db value at a frequency as a number? Much like RF explorer does…

    Thanks and keep up the good work!

  5. Tomas G

    Famous program ever!
    It’s possible write to rf analyzer search function in user definition band with defining dB and definition time for hear?

  6. Graham

    Hello I have a question re android studio and Rf analyzer.
    I have imported Rf analyzer into Android studio no problem and can run via usb to an android phone but how do I connect to the hackRF …can I use a slitter or just plug it into another usb socket ? I have downloaded from google play store the apk and it works well on my galaxy S4 but would like to be able to auto scan and stop on each signal above the squelch setting .

    Thanks for a great program and all the info you have made available

  7. Netzien

    Oops, I meant these:

    E/hackrf_android( 7078): Couldn’t claim HackRF USB Interface!
    E/HackRFSource( 7078): setBasebandFilterWidth: Error while setting base band filter width: Couldn’t claim HackRF USB Interface!

  8. Netzien

    Is this suppose to work with the Jawbreaker? I’m getting lots of these:

    * D/hackrf_android( 7078): initHackrf: Permission granted for device /dev/bus/usb/001/002

    It does appear to work ok with my ezCap (when using a Y-cable)

    • Dennis Mantz

      You mean just the Frequency spectrum without waterfall? If you just want to have a screen shot of the entire screen, just press the power button and volume down simultaneously on most devices.

      But I agree: A screenshot button that only includes the spectrum and not the action bar, … is a cool idea!

  9. David Lane

    Downloaded SDR#. Ran Install.bat. Nothing would download in the command prompt window. shows 0 bytes
    written on all files. Would that indicate the host is down? Anybody know whats up?

    Thanks for any help

  10. Pascal

    Thank you for your application to users of HackRf .De my side, I can not use the USB port in Host Mode on my Samsung Tablet Tab3 Lite because it is not a true USB port …. this is very bad for me! Would it be possible to replace the USB connnexion a WIFI Connects with a small module HC-05 with a master RS232-USB adapter ref UCO-2200? If so how fast I have to set my adapter and my wireless card master ??? f1mij

    • curloxide

      You can try running it over your local network (RTL_TCP maybe?) from a server running on your PC. There’s an external server option in the source settings.

    • Dennis Mantz

      RTL-SDR will (hopefully) be supported soon. My problem is: I don’t have one for development right now^^ My old rtl-sdr broke.. but I ordered a new one and once I have it I will start to implement the feature. I’m planning to use the RTL2832U driver for Android created by Martin Marinov. If that works, it will be easy. If not, it may take a bit longer… Watch my Blog (http://tech.mantz-it.com) or follow me on Twitter (https://twitter.com/dennismantz) for updates on this…

      And btw: Thanks to rtl-sdr.com for reporting about the driver and the app. Your report about hackrf_android really pushed my motivation for this app 😉

Post a comment

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>