Tagged: android

Decoding NOAA on an Debian Chrooted Android Smartphone

Over on Reddit Ian Grody (u/DutchOfBurdock) has posted about his success in using a modded Android smartphone to run an RTL-SDR Blog V3 and NOAA decoder software all within the phone itself.

In the past we posted about Ian's work in getting rtl_power scans to work in conjunction with the Tasker app, in order to generate automated frequency scans on his phone on the go. His more recent work from the past year includes showing us how it's possible to install Debian chroot on an Android phone, and run Linux software like GQRX, GNU Radio, DSD, rtl_433, multimon-ng and dump1090 directly on the phone with an RTL-SDR.

His latest Reddit post shows that the NOAA-APT decoder also runs well on the Debian chroot, leading to a truly portable NOAA decoding setup. He notes that he is now working on the possibility of Meteor M2 decoding on the phone.

Below is his video from last year demonstrating SDR GQRX and GNU Radio running on the Debain chrooted phone.

GQRX, GNU Radio, Rooted Android

MagicSDR: A new Android and iOS RTL_TCP Client

Unlike Android devices, Apple iOS devices can't run RTL-SDRs directly through their USB ports. However, they can still connect to another networked device such as a PC or Raspberry Pi running an rtl_tcp server. In the past we've seen two rtl_tcp clients for iOS released [1 , 2].

Now a third client called "MagicSDR" has just been released, and this one is cross platform for Android and iOS. The app is free on the Android store (with in-app purchases), and costs US$14.99 on the Apple App Store. The developer writes: 

MagicSDR makes it possible to interactively explore RF spectrum using panadapter and waterfall visualization, demodulate and play AM, SSB, CW, NFM, WFM signals, collect frequencies. Built on the principle of plug-in architecture, MagicSDR - powerful and flexible next-generation SDR (software-defined radio) application. Typical applications are dx-ing, ham radio, radio astronomy, and spectrum analysis. Explore the spectrum everywhere!

MagicSDR processes signals that are streamed over the local network from the rtl_tcp server, which is running on the host computer. The smartphone itself, on which MagicSDR is running, can act as a host computer.

To start playing with MagicSDR, you need to set up a server on a host computer to which SDR peripherals (rtl-sdr dongle) will be connected or connect SDR peripherals directly to a smartphone via a USB OTG cable. To try application without SDR peripherals, MagicSDR can emulate a virtual radio device.

MagicSDR rtl_tcp client on iOS

STARWAVES DRM SoftRadio: A new Android DRM Decoder for RTL-SDR, Airspy, SDRPlay

A new RTL-SDR compatible DRM decoding Android app called "STARWAVES DRM SoftRadio" has recently been released on the Google Play store for US$5.49, and on Amazon DE for EUR4.49. The author notes that a Windows version will also be published soon. Digital Radio Monodial (DRM) is a type of digital audio shortwave radio signal that is used by some international shortwave radio broadcasters.

The STARWAVES DRM SoftRadio allows you to conveniently enjoy any DRM live radio broadcast on your Android smartphone or tablet. No Internet connection required. All you need is an SDR RF dongle or receiver connected to your device via USB.

DRM or Digital Radio Mondiale is the global digital radio standard used for all digital international transmissions as well as for national and local services in many countries. To learn more about DRM and its features visit www.drm.org.

The STARWAVES DRM SoftRadio is designed for ease-of-use and supports all core features of the DRM standard:

  • Listener-centric and easy to navigate app design and user interface
  • Multiple user interface languages. Currently supported: English, German, Simplified Chinese
  • Convenient frequency tuning and DRM Service selection
  • DRM Service labels and graphical service logos
  • Full service metadata: programme/app type, language, country of origin, etc.
  • All standardized DRM audio codecs incl. xHE-AAC with optimized tune-in performance for a quick start of audio playback
  • Journaline, DRM’s advanced text application, allows to interactively browse through latest news, sports and weather updates, programme background information and schedules, distance learning/RadioSchooling text books, travel information, and much more
  • Full Journaline feature set including hot-button interactivity, geo-references and embedded/linked images
  • Convenient and fast Journaline information access with update notifications for page-content (and automatic updates for menus), as well as persistent caching for instant content access when switching between DRM services
  • DRM text messages incl. DL+ support
  • Slideshow images
  • Unicode support for all textual elements: service labels, text messages, Journaline
  • DRM EWF – Emergency Warning Functionality within the DRM transmission: in case of an emergency alarm signal, automatically re-tunes from the current service to the emergency programme; presents the emergency audio along with multi-lingual Journaline content to provide in-depth instructions with interactive access and to serve non-native speakers or hearing impaired users

In addition, STARWAVES DRM SoftRadio is designed for maximum tuning flexibility and performance:

  • Free tuning to any DRM broadcast frequency
  • Supports all DRM frequency bands – from the former AM bands (LW/MW/SW) to the VHF bands (including the FM band), depending only on RF dongle functionality
  • Supports all DRM robustness modes (A-E), modulation parameters and on-air signal bandwidths
  • Optimized frequency tuning and re-sync performance
  • Graphical spectrum view to check the signal on the tuned frequency

For live reception, an SDR RF dongle must be connected to the device’s USB port (with USB host functionality). The following SDR RF dongle families are currently supported, along with a range of specifically tested models:

  • Airspy HF+ family: Airspy HF Discovery, Airspy HF+ (Dual Port). (Note: Airspy Mini and R2 are NOT supported.)
  • SDRplay family: SDRPlay RSP1A, SDRPlay RSPdx, SDRPlay RSPduo, SDRPlay RSP1, SDRPlay RSP2, SDRPlay RSP2pro, MSI.SDR Panadapter (Note: SDRPlay family support on Android is currently limited to the 32-bit version of this app.)
  • RTL-SDR family: The experimental support for RTL-SDR based RF dongles requires that you manually start the following separate tool before opening this app (on standard port '14423'): The app 'SDR driver' can be installed from the Google Play Store and other Android app stores.
Starwaves DRM Decoder App Screenshots

Radio Spectrum Analysis in Virtual Reality with an RTL-SDR and Google Cardboard

Thank you to José Carlos Rueda for submitting his project called "a-radio: a web virtual reality radio power spectrum analyzer". The idea behind the project is to first use an RTL-SDR together with rtl_power and heatmap.py to generate a heatmap image of the RF spectrum. This image is then projected into a 3D 360 degree view and hosted on a web server via José's script for the a-frame VR web framework, allowing the heatmap to be viewed with a virtual reality (VR) smartphone headset. José' recommends using a cheap VR headset like Google Cardboard which can be used with your Android smartphone. 

José notes that the project is just a proof of concept, but he hopes to inspire future work around the combination of RF and VR.

Virtual Reality Visualization of an RF Spectrum Heatmap.

Tech Minds: Portable RTL-SDR on Android

Over on his YouTube channel Tech Minds has recently released a new video demonstrating how to use an RTL-SDR portably via an Android tablet and an OTG cable. In the video he goes through the various Android software options available including general receiver software such as RF Analyzer (free) and SDR Touch (£5.99) as well as AVARE ADSB for ADS-B aircraft reception. He goes on to demonstrate each program in action.

Portable RTL - SDR Software Defined Radio with Android

New RTL-SDR Driver for Android Developers

Android developers have a new RTL-SDR driver wrapper available to use called "RTL-SDR CP Driver". This driver by Evgeni Karalamov is designed to have an additional feature over the current Android RTL-SDR drivers in that it implements client application permission management. The overview reads:

RTL-SDR CP Driver utilises the rtl-sdr codebase and is meant to be kept in sync with the developments there. The provided interface mirrors the functionality of rtl_tcp in an Android way. Instead of via a TCP socket, the communication is carried out through file descriptors returned by a ContentProvider.

Since some potentially sensitive information could be captured through the SDR receivers, like indications of the device location, the RTL-SDR CP Driver implements permission control similar to that of the Android framework. Prior to accessing receivers, client applications have to ask the user for permission to access the driver by starting the driver's permission flow via startActivityForResult. Once the user grants access, their answer is remembered and they are not prompted again. The user has the ability to later revoke the permission from the driver's UI, accessible via the Android launcher.

The actual driver app can be downloaded from the Google Play Store. Note that this doesn't provide any functionality by itself. We will need to wait until apps take advantage of it.

RTL-SDR CP Driver Screenshots

SignalID: Shazam Style Automatic Signal Identification for Android

SignalID is a new Android app available on the Google Play store which offers Shazam-like radio signal identification. Just like Shazam does for music, you simply tune to an unknown signal with your SDR, play the raw audio, and let the app listen to it for five seconds. It then computes an audio fingerprint and checks to see if it knows what the signal is. 

We tested the app but unfortunately we were unable to get it to detect any signals. Please write in the comments if you have success. As it uses audio fingerprinting, the app is probably highly dependant on choosing the correct demodulator (AM/FM/SSB etc), and also the tuning and signal quality. We note that most of the signal sources seem to come from our sister site the Signal ID Wiki. Searching through the wiki is a good alternative if automated solutions fail.

However the the app is new and we expect improvements and more signals to be added in the future. Currently the following signals can be recognized: 

- RTTY (Commercial 85Hz, 170Hz, 450Hz, 850Hz, Amateur 170Hz)
- PactorI (Standard, FSP, FEC, SELCALL)
- ASCII (170Hz)
- ALIS
- Codan8580 (200Hz, 250Hz)
- CIS36_50
- CIS40_5
- CIS50_50
- STANAG 4285 (GEN, SYS3000 FEC, 8PSK, TFC, IDLE, SYS3000)
- FT4

- FT8
- WEFAX (120, 240)
- 2G ALE
- 3G ALE
- CHIP64
- APRS (Burst)
- ATIS
- Tetrapol
- POCSAG
- FLEX (2FSK)
- PSK (31, 63, 125, 250, 500)

We note that this app reminds us of a Python based signal identification app for the PC called "audio_recognition_system" which we posted about earlier this year.

SignalID: Shazam-like audio based signal identification for Android.
SignalID - Demonstration

Trump Tweets about Pushed Buffalo Protestor Scanning to Jam Police Radios with an RTL-SDR and Android Phone

In political news 75 year old Buffalo protestor Martin Gugino has been generating controversy due to a video of him being pushed to the ground by a police officer, then subsequently lying motionless while bleeding from the head and being ignored by other officers.

Recently US president Donald Trump tweeted about a video news report by "One America News" (OAN) indicating that Gugino may have been trying to scan police with a "capture scanner". Whilst talking about the capture scanner they show an image of an RTL-SDR dongle and Android phone running the SDR Touch software. OAN go on to say that these capture scanners are designed to "skim microphones" in order to capture police communications, and are a tool commonly used by Antifa. Credit to @hackerfantastic for initially tweeting about the RTL-SDR being featured in the video.

Trump's tweet reads "Buffalo protester shoved by Police could be an ANTIFA provocateur. 75 year old Martin Gugino was pushed away after appearing to scan police communications in order to black out the equipment @OANN
I watched, he fell harder than was pushed. Was aiming scanner. Could be a set up?".

We're not entirely sure where this theory from OAN came from as there is no need to get so close in order to listen to police radio communications, since if unencrypted, they can be listened to from anywhere in the city. It's also unclear as to what microphones police would be using, and how these could be "skimmed" with an RTL-SDR. As for blacking out the equipment, an RTL-SDR cannot transmit so it would be impossible to use to jam the radios. An illegal jammer could be used after scanning, but police frequencies are already well known anyway, and there would be no need to scan for them so close even if low power comm links were used.

The video also shows that he appears to be filming police badge numbers with his phone before he was pushed, so it is unlikely that he was using an RTL-SDR and running SDR Touch at the same time as the camera app. No cables, antenna or dongle can be seen in the video either.

In the past we have seen a Slovenian researcher almost jailed for performing University research with an RTL-SDR, and a UN expert arrested for possessing an RTL-SDR in Tunisia. So this is a timely reminder to be careful as police and media do not always understand what an SDR is.

EDIT: Please note that this is not a political post or blog. We only post it to highlight the severe lack of understanding that can surround SDR and our technical hobbies. Comments inciting violence against protestors or anyone are NOT OK, and will be removed. Please keep discussions technical and civil in nature.

OAN indicates that Martin Gugino may have used an RTL-SDR on police
OAN indicates that Martin Gugino may have used an RTL-SDR "capture scanner" on police