Want to take your RTL-SDR device into the field using nothing but your Android phone? In this post I'll walk you through exactly how to do it — the hardware you need, the gotchas to watch out for, and the free open-source app I built specifically for this use case.
Hardware You'll Need
The setup is actually pretty simple. Beyond your RTL-SDR (I recommend the RTL-SDR V4 — it's better built and performs noticeably better on Android), you really only need one extra piece of hardware: a USB OTG cable.
Not all OTG cables are created equal. A lot of what you'll find on Amazon is USB-C to USB-A, but many of those only provide power — or power and low-speed data. What you want is a cable that provides power and high-speed data. The specific cable I use also has a female USB-C port on it so you can plug in an external battery pack. That detail matters a lot.
Why You Need an External Battery Pack
Here's something phone manufacturers don't advertise: Android phones will cut power to the USB-C port when the battery drops to a certain level. On a stock Google Pixel 10 running Android 16, power to the USB-C was cut at 80% — which kills the RTL-SDR mid-session. That's a real problem if you're out in the field frequency hunting.
The workaround is simple: plug an external battery pack into the female USB-C port on the OTG cable. Power passes through to the USB-A side and keeps your SDR running regardless of what the phone's battery is doing. Problem solved.
Note: I've been testing with the Unplugged UP Phone running Android 14, and that device allows full battery drain through USB with no cutoff. I'm also running GrapheneOS on the Pixel 10 and things are working well there, though I haven't fully tested battery drain behavior yet.
The App: Raven SDR
Once you've got the hardware sorted, you need an app. I wasn't happy with what was available — most options either cost money, are loaded with ads and upsells, or aren't open source. So I built my own using my software engineering background and Claude Code. The result is Raven SDR.
- 100% free — no ads, no banner ads, no pro version upsell
- Open source — GPL3 licensed
- Available as a signed APK on GitHub — the signing is handled by GitHub's release process with attestation, so you can verify the APK matches the source code
- Tested on Google Pixel 10 (Android 16), GrapheneOS, and Unplugged UP Phone (Android 14)
It also uses some code from SDR Trunk — specifically around listening to and decoding frequencies. Full credit to that team for building such an excellent desktop app and making it open source.
What Raven SDR Can Do
Explore Tab
The main tab gives you quick-access preset buttons for common use cases:
- FOBs — Detects key fobs and other signals around 434 MHz
- GMRS — Displays all GMRS channel lines on the waterfall so you can immediately identify which channel a transmission is on
- GMRS Repeater Inputs — Scan repeater input frequencies specifically
- FRS — Same concept as GMRS but for FRS channels
- APRS — Detect APRS packets
- Mesh Networks — Detect mesh network traffic, useful for identifying off-grid mesh setups in your area
- CB Radio — CB band coverage
- Wireless Microphones / Bugs — Centered on 650 MHz, the most common range for wireless microphones
- Manual Tune — Enter any frequency manually and hit tune. I use this to monitor my local dispatch frequency.
Alarm Tab
This is a handy feature for hands-free monitoring. Enable the audible alert and the app will play a radar tone whenever it detects activity on the waterfall. Useful for walking around scanning for mesh networks or other signals without staring at the screen the whole time.
Terminal Tab
A debug/log window showing what the app is doing internally — helpful for troubleshooting.
Listen Tab
A newer feature that lets you tune into a frequency and actually listen to audio. Currently supports one frequency at a time, but I'm planning to add playlist support so you can monitor several frequencies simultaneously — as long as they're within 2 MHz of each other, similar to how SDR Trunk handles it.
Download Raven SDR
You can grab the APK from my GitHub page. Sideloading is straightforward — just enable installs from unknown sources in your Android settings. Since I'm keeping this out of the Play Store for now (to stay fully open source and free), sideloading is the way to go.
If you run into bugs, please open an issue on GitHub and include as much debug output from the Terminal tab as you can. The more info, the easier it is to track down.
