Ships: New RTL-SDR Compatible Android App for AIS Reception and Plotting

Today an Android app programmer sent a message to let us know about his new open source RTL-SDR compatible AIS app called Ships.  This is a free app that allows you to decode AIS signals, and plot them directly onto an OpenStreetMap/OpenSeaMap or output the data via UDP to another mapping program.

Ships also has another interesting feature which is that it will automatically determine the PPM offset of a dongle, meaning that generic dongles without TCXO’s can be easily used for AIS. It appears to do this by using the AIS signals themselves, so you will need sufficient AIS traffic in your area for the calibration to work.

AIS stands for Automatic Identification System, and is a system used to track the locations of marine vessels. It is similar to ADS-B in that nearby ships can be plotted and tracked on a map by using an RTL-SDR as the receiver. We have a tutorial for PC available here.

The app can be downloaded for free on Google Play, and the open source code is available on GitHub.

Ships RTL-SDR Android App Screenshot
Ships RTL-SDR Android App Screenshot

11 comments

  1. Martin

    Hi,
    NooElec NESDR SMART has PPM 0.5. The app does not allow for decimal values.
    Should I set it to 0 or 1?
    Thanks a lot for the great app!
    Martin

  2. Patrick De Boeck

    I especially bought the RTL/SDR dongle as this seems indeed a great application.
    Unforrtunately under Android 7.0, the app quits after the “PPM screen”

  3. Giamma

    On OnePlus One I can not enter a negative PPM in the settings, does not accept the value minus “-“. Also tested copy and paste.

  4. Eric Hahn

    This is incredible. There has been a need for this for quite a while and someone, you, have finally filled the void. Kudos to you good sir/madam!

Leave a Reply to THIEN AN hoang Cancel reply

You may use the following HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>