GNU Radio Code for Android Now Released

Back in November 2019 we posted how Bastian Bloessl (@bastibl) had teased us with his ability to get GNU Radio running on an Android phone. Now he has officially released his code to the public on GitHub. This is quite a remarkable development as you can now carry a full DSP processing suite in your pocket. In addition to the code, he's put up a short blog post explaining a bit about the port. He notes some highlights of the release:

  • Supports the most recent version of GNU Radio (v3.8).
  • Supports 32-bit and 64-bit ARM architectures (i.e., armeabi-v7a and arm64-v8a).
  • Supports popular hardware frontends (RTL-SDR, HackRF, and Ettus B2XX). Others can be added if there is interest.
  • Supports interfacing Android hardware (mic, speaker, accelerometer, …) through gr-grand.
  • Does not require to root the device.
  • All signal processing happens in C++ domain.
  • Provides various means to interact with a flowgraph from Java-domain (e.g., Control Port, PMTs, ZeroMQ, TCP/UDP).
  • Comes with a custom GNU Radio double-mapped circular buffer implementation, using Android shared memory.
  • Benefits from SIMD extensions through VOLK and comes with a profiling app for Android.
  • Benefits from OpenCL through gr-clenabled.
  • Includes an Android app to benchmark GNU Radio runtime, VOLK, and OpenCL.
  • Includes example applications for WLAN and FM.

He's even included demonstration code that turns a USRP B200 SDR connected to an Android phone into a WLAN transceiver which can run in real time on faster devices.

Installing it may not be easy for most, but Bastian has included full build instructions on the GitHub page, and makes use of a Docker file which should simplify the installation a bit.

GNU Radio running on an Android phone, usinga USRP B200 SDR as a WLAN transceiver.
GNU Radio running on an Android phone, usinga USRP B200 SDR as a WLAN transceiver.

GNU Radio 3.8 on un-rooted Android receiving FM w/ HackRF (take 2)

4 comments

  1. Jay

    Yeah seriously whats with the FOSS community and no providing builds? Some people have zero time for that shit and/or don’t have the setup.

    “Hey I made this cool radio app”
    “Nice! Can I use it?”
    “FIRST YOU MUST PASS THE 12 COMPILERS OF DOOOOM OOOooOOOooOO.”

    Actually, I’m okay with buying that closed source app just because he took time out of his day to provide everyone with a build, not forcing everyone to fend for themselves.

  2. WhyKnot

    One thing that would be helpful is try getting it in the f-droid app store, it being an opensource project.

  3. natevw

    I am a software developer, and don’t even “hate Linux” but agree with the sentiment above! The last time I tried to build GNU Radio myself, it was an incredibly frustrating experience. Unless you knew exactly what you actually need and how to customize, getting it to build seemingly requires having every compiler (at least C, C++, Fortran, Java) and every toolkit (at least GTK, WxWidgets, ???) and every interpreter (iirc Python, Ruby, JRE) to all be installed and working and the same versions as the development team had on their machines.

    Anyway, hopefully it’s simpler for this project, and maybe even GNU Radio itself has improved in recent years… but +1 to making pre-built APKs available as soon as you’re looking for testing/feedback from outside the core team.

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>

This site uses Akismet to reduce spam. Learn how your comment data is processed.