Home > Electronics Projects, HAM Radio, Projects, RTL-SDR > Softshell, the MacOS RTL-SDR driver

Softshell, the MacOS RTL-SDR driver

For the uninitiated, a few months ago one of the developers in the V4L (video for linux)/DVB (digital video broadcasting) team,  Antti Palosaari, discovered that this cheap video tuner dongle could be used as a software defined radio.  Since then, it has developed a HUGE following!  The team over at osmocom helped to package the driver into a separate executable.  The application seems to work well, and even compiles on the mac.  The problem is, though, that you have to install the libusb library for it to work.  It’s not hard to do, but you have to install mac ports, then install libusb.  What a pain.

Most of the active discussion about rtlsdr appears to be happening at the RTLSDR subreddit.

RTL SDR compatible dongle

The idea behind Softshell is to port the osmocom rtl-sdr code into a native Cocoa application that doesn’t need libusb.  I’ve published the code to github, but it’s still very early in the development process.

This post is just meant as a heads-up for anyone with Objective-C experience and an interest.



  1. Chris
    May 6th, 2012 at 22:17 | #1

    I am not a Cocoa programmer but maybe I could help out with the UI? (although it would be my first, non-web project)

    Still, I’d love to help.

  2. May 7th, 2012 at 05:13 | #2

    Do you have a mac? If so, you could play around with the UI in interface builder. If it’s good, any you give instructions for how it works that would be awesome. Also, you could try learning a little bit of Objective-C and link the UI to the “CRTLAppDelegate” class, which does all of the UI logic.

    Either way, it would be cool.

  3. Aaron Holtzman
    May 7th, 2012 at 06:19 | #3

    Where did you get that particular dongle? Looks like that is an MCX connector at the input?

  4. May 7th, 2012 at 06:27 | #4

    It is! I found it from this guy’s blog (receiving GPS!). There’s a link to an aliexpress seller. I canceled my deal extreme order and got this instead. Received it before the DX orders were processed. :)

  5. Andrew
    May 12th, 2012 at 11:34 | #5

    I have some experience with Objective-C and iOS dev (see ‘Statys’ and ‘StuntCopter Classic’ in the App Store). I’d really like to get involved with this. I’ve ordered the dongle from aliexpress. Let me know how I can help

  6. May 12th, 2012 at 11:56 | #6

    Is there anything that jumps out at you?

    I’m open to any ideas. I know that the UI sucks really bad. Also, you have to have gnuradio to really use it (which kinda defies the point of having a native app). I’ve been working on talking to Sebastian (author of DSPRadio) about incorporating support for the RTL-SDR. He’s interested, but I don’t know any more than that.

    Which device did you get from aliexpress? I’ve only written the driver for the E4000 tuner, so if you got a different tuner you may have to port the tuner code over from rtl_sdr. I could help with that, though.

  7. May 12th, 2012 at 12:01 | #7

    @Andrew
    StuntCopter classic, love it. just bought it.

  8. Andrew
    May 12th, 2012 at 19:47 | #8

    The one I bought is the E4000. I really have to read through everything that has been done/ still has to be done before I can really say where I can contribute the most. Is the best place to get up to speed the github page?

  9. May 12th, 2012 at 19:57 | #9

    @Andrew
    Good question. If you have macports and all that, it’s probably best to install gnuradio using macports. The gnuradio-companion application is a cool tool that lets you make SDR demodulators. The learning curve is pretty steep from a DSP perspective. I found these tutorials:

    http://www.csun.edu/~skatz/katzpage/sdr_project/sdr/grc_tutorial1.pdf
    Others sections: http://www.csun.edu/~skatz/katzpage/sdr_project/sdrproject.html

    I’m thinking the best thing to do for the app would be to start adding a waterfall display. It’s a basic FFT repeated over time. Do you have much OpenGL/Quartz experience?

  10. Visitor
    May 19th, 2012 at 14:05 | #10

    It would’ve been nice if you did not use the 10.7 XCode for this project as it is excluding a lot of Snow Leopard users…

    Granted, there’s XCode 4.2 for Snow Leopard that allows compiling, but Apple has made it almost impossible to get it, and the Web is not so giving either.

  11. May 20th, 2012 at 16:05 | #11

    It’s available through developer.apple.com or the app store:

    http://itunes.apple.com/us/app/xcode/id497799835?mt=12

    I happen to use Lion, so that’s what it was written in. If you want to make a new project, you should be able to import the code into it and get it running.

  12. Andrew
    June 2nd, 2012 at 21:00 | #12

    Just received my dongle in the mail on friday. I have it up and running with softshell! Is there a better place to discuss the next steps rather than the comments section?

  13. June 2nd, 2012 at 21:51 | #13

    @Andrew

    There’s a few places with good information, of course the rtl-sdr subreddit, the rtl-sdr IRC channel are good places to start. I just started a wiki at github, which I’ll try to keep updated:

    https://github.com/hpux735/Softshell/wiki/Getting-started

  14. fritz
    June 28th, 2012 at 00:01 | #14

    Hi!
    Excellent work!
    I bought one of these cheap CINERGYTStickRC Dongles and installed GNURadio using macports. I’m not very familiar with GNURadio but basically it seems to work (with the exception that sometimes the PATHs are not not set correctly, but that’s another problem) The TCP/IP interface as an universal interface is good idea and should not be dropped if the program evolves…
    Are there any plans how to step forward?

  15. June 28th, 2012 at 06:53 | #15

    The “softshell” app probably won’t change all that much in the future. I only support the E4000 tuner currently, and I may add support for more. I don’t have any dongles with the other tuners, so I won’t be able to add them until I do, however.

    I’m working on another app that uses the same userspace USB driver that I wrote for Softshell, which is a full-featured SDR application. You can see an early demonstration of its user interface here. I also intend to support TCP/IP input to that application so it can control and process a remote dongle.

    Thanks for the interest.

  16. July 8th, 2012 at 10:32 | #16

    Saw you latest video on U-tube. Looks very cool. Also built and got github softshell running on Mac.
    Any possibility of getting code used in video? I have experience with C++/DSP/IOS/Cocoa and I’m interested in contributing although quite time limited.

  17. July 8th, 2012 at 12:42 | #17

    Thanks for your interest!

    I’ll do an initial release in a few days. It needs to TLC before it is made public :)

  1. May 12th, 2012 at 11:06 | #1


seven + = 15