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

Notify of

Inline Feedbacks
View all comments

How do you get to the hf bands. Using the rtl sdr v3. Would like to be able to listen to hf bands. If not this app is useless. I have a stereo.


The RTL-SDR v3 supports direct sampling for HF (I believe it was the I channel), but I forgot if RF Analyzer supported it. Try looking in settings for what I just mentioned: ‘direct sampling’.

You can also get to the HF bands by using a Ham-It-Up HF upconverter. While this method may use more hardware than the first method, it will (more than likely) pick up more signals than the first method.
…Or just avoid all that and get an RSP1A. :p

Craig Mawer

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


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

Jason J

Connect a HackRF to the mini USB port using an OTG cable or adapter.


Have you checked if your…motorcycle…supports USB On-The-Go (USB OTG)?
If it does, another problem could be that the HackRF is pulling too much power. If you can, try a USB OTG adapter that has a separate power cable split off, like this one:

…Taking another look at the comment, you haven’t mentioned the device you’re using. I think you may have the source incorrectly set; open the app’s settings screen and change the source to RTL-SDR (or rtl_tcp. I forgot).
If you don’t already have it installed, make sure that the “Rtl-sdr driver” app is installed (look in the Play Store).


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.


Beware downloading *anything* from GetJar…


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!


Regarding point 1. of my questions, it’s being discussed here: https://github.com/demantz/RFAnalyzer/issues/10

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?


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


hmm. If Android Studio is doing what I think it’s doing (pulling the video feed from the phone via USB), you won’t be able to connect another device to it with a splitter.
When you connect your HackRF to the phone, your phone’s USB port detects that it has a device connected and goes into a USB ‘host’ mode (which is what most USB ports on computers use).
When you connect it to your computer, the USB port detects power coming from the cable, and goes into ‘client’ mode. This is where your phone acts like any other USB peripheral.
No phone or tablet can do both of these things simultaneously (sadly).
(Even then, the HackRF *and* a video feed to the computer…that’s a lot of data for one USB port to handle!)


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!


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

New version (1.09) with rtl-sdr support is released:

Jake Snyder

Would love to see the ability to screenshot or image export the spectrum sweep.

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!


Dennis Mantz has published a new version (v 1.07) of his App – now he implemented a demodulator for FM & AM for the use of the HackRF One

Great work!


i test RTL-SDR but it says : RTL-SDR is not implemented !!! ……. any body help to solve this ????

Dennis Mantz

RTL-SDR is not yet supported by RF Analyzer.. But I will add that missing feature soon! Just keep an eye on my blog (http://tech.mantz-it.com/) or my Twitter account (https://twitter.com/dennismantz).

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


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


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.


” RTL-SDR is not implemented ” 🙁
any chance in future for this?

thank you in advance !

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 😉