SDRIO: A hardware abstraction layer for SDR devices

Scott Cutler scott at
Sat Mar 1 23:28:31 UTC 2014

Some of you may have seen this already when I was asking licensing
questions, but others may still be curious.

In the course of other development efforts, I had a need for an abstraction
layer that had more features than ExtIO.  In particular, I wanted transmit
support (for my bladeRF), as well as better control over gain and other

What I have come up with is SDRIO: a straightforward C interface for
interacting with SDR devices.  I currently support rtl-sdr, bladeRF, and
the Funcube Dongle.  Each driver lives in its own module:
SDRIO_bladeRF.dll, etc.  Applications can load these modules, query if
devices are present, and then interact with them.  All data transfer is

Currently I only support Windows, though the API is OS-agnostic and the
drivers (particularly rtl-sdr) should be able to be ported in a
straightforward manner.

SDRIO is licensed as LGPL.  However, because it uses GPL code, it may not
be distributed with non-GPL applications.  It may still be used with
non-GPL applications as long as the distributions are kept wholly separate
(no bundling, auto-downloaders, etc.).

Code is currently kept at:

Right now it is in a very alpha state, and subject to change.
 Documentation is also currently minimal, although I hope the API is clear
enough to be obvious.  I hope to stabilize things once I get some outside
feedback and suggestions.  Thanks!


PS: Mirics dongle support should be coming soon due to the generosity of a
fellow member of this mailing list.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the osmocom-sdr mailing list