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. #1 by Chris on May 6, 2012 - 10:17 pm

    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. #2 by hpux735 on May 7, 2012 - 5:13 am

    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. #3 by Aaron Holtzman on May 7, 2012 - 6:19 am

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

  4. #4 by hpux735 on May 7, 2012 - 6:27 am

    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. #5 by Andrew on May 12, 2012 - 11:34 am

    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. #6 by hpux735 on May 12, 2012 - 11:56 am

    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. #7 by hpux735 on May 12, 2012 - 12:01 pm

    StuntCopter classic, love it. just bought it.

  8. #8 by Andrew on May 12, 2012 - 7:47 pm

    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. #9 by hpux735 on May 12, 2012 - 7:57 pm

    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:
    Others sections:

    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. #10 by Visitor on May 19, 2012 - 2:05 pm

    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. #11 by hpux735 on May 20, 2012 - 4:05 pm

    It’s available through or the app store:

    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. #12 by Andrew on June 2, 2012 - 9:00 pm

    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. #13 by hpux735 on June 2, 2012 - 9:51 pm


    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:

  14. #14 by fritz on June 28, 2012 - 12:01 am

    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. #15 by hpux735 on June 28, 2012 - 6:53 am

    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. #16 by Tony on July 8, 2012 - 10:32 am

    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. #17 by hpux735 on July 8, 2012 - 12:42 pm

    Thanks for your interest!

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

(will not be published)

Please complete this capcha. I get almost 1000 spam comments a day! * Time limit is exhausted. Please reload CAPTCHA.