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
andarm64-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.
