OpenRSP

An open-source driver stack for RSP-family SDR receivers

Android & iPad

There has never been a vendor driver for RSP receivers on Android or iPadOS. Because OpenRSP is portable and open, it runs on both, and existing API code can be brought to a phone or tablet with very little change.

OpenRSP app icon

OpenRSP
The driver app. It holds the receiver and serves it to other apps. Download

OpenRSP Client Demo app icon

OpenRSP Client Demo
A small receiver (spectrum, waterfall, AM, NFM, WFM, USB, LSB and CW) that shows how an app uses the driver. Download

The Android driver app

On a desktop, the API library talks to a background service that owns the USB device. The OpenRSP app plays that role on Android: install it once, plug in the receiver, and any app built against the API can use it. Apps do not need USB permission, the firmware, or the internet permission themselves.

What the driver app provides:

Writing an Android app

An app either embeds the driver itself (it then owns the USB device directly) or, more commonly, attaches to the OpenRSP driver app. Attaching takes one Java helper file and a few lines; after that, the native code is the same API code that runs on Linux.

OpenRsp.attach(context, (status, approval) -> {
    if (status == OpenRsp.OK) startNativeWork();   // sdrplay_api_Open, GetDevices, Init, ...
});
// when finished, after sdrplay_api_Close():
OpenRsp.detach();

The OpenRSP driver app and the Client Demo are on the Downloads page.

The manifest only needs to name the driver app and request the (normal-level) permission org.openrsp.permission.USE_RSP. The Client Demo's source is a complete worked example.

iPadOS

iPadOS has no shared background services, so each iPad app runs the OpenRSP driver in-process and reaches the receiver through a small USB DriverKit extension. On an iPad Air (M4) with an RSP1B, the Client Demo streams 8 MS/s using isochronous transfers with no sample gaps.

Both iPad apps work today with developer signing. Publishing them to the App Store depends on Apple granting the USB DriverKit entitlement for the receiver's USB vendor ID, so the iPad apps are not on the Downloads page yet.