RTL SDR AIS App and AIS Share App
WHAT IS IT ?
It is an Android app that decodes AIS messages transmitted by vessels , ships, over radio using a cheap USB DVB-T /RTL-SDR stick.
AIS messages are transmitted over VHF.
Channel A: 161.975 MHz
Channel B: 162.025 MHz.
The app decodes both channels simultaneously.
This app needs no internet connection, it decodes the real time received messages.
This is a truly standalone full featured AIS receiver.
The received messages will be translated into NMEA0183 strings which can be forwarded then via UDP or TCP streaming to third-party apps, PC programs or other devices.
Such Apps can display the received AIS data for example on a map along with information about the received objects.
Please note: The app needs additional (very cheap) hardware to receive the radio signals.
- Cheap AIS dual channel AIS receiver
- Low power consummation
- Easy to install
- Receive VHF AIS radio signals via DVB-T / RTL SDR USB Stick
- Decode AIS messages into NMEA0183 strings ( !AIVDM )
- Send this messages via Network (UDP/TCP)
- Device location (GPS,Network) translation into NMEA strings
- location NEMA forwarding via Network (UDP)(GPGSV,GPGSA,GPZDA,GPRMC,..)
Typical cost about ~ 15 -35 €
like phone, tablet. (you just need one device)
Requirements: min Android version 4.1 and USB OTG compatible (Today most of the devices fulfill this)
Link to an app which checks if your device has USB OTG capability
USB OTG cable
(use a high quality one)
see my recommendations
USB – DVB-T Stick
Search for RTL2832U / 820T / 820T2 USB stick.
I recommend dongles which are more expensive but PPM is 0 or 1.
see my recommendations
Make your own DIY Antenna or buy one
more info see
Or just use the Antenna shipped with your dongle ( then i recommend a telescopic aerial antenna extend to 44,4 cm )
There are two apps available in the Google Play Store.
Please install first the free app (RTL SDR AIS DRIVER) to test your equipment.
RTL SDR AIS DRIVER
This is the driver app, it’s needed in any case.
In the driver app there is demo/test mode implemented.
Mainly to test the app if your hardware is compatible. Please use this demo mode before you buy the full version. The demo mode is limited to 1000 received messages.
Why this driver app ?
The driver app will run as a service for AIS SHARE app. The service (background process) will run only on request of AIS SHARE ( only the signal processing part of the driver will run )
There is no negative effect on battery draining with this solution. (the driver app runs as process of AIS Share on request, like it would be integrated into AIS Share)
DEMO MODE / TEST IT
- Connect the USB dongle with your device
(if you have other RTL SDR apps installed there is maybe a permission request by that apps – DISMISS IT.
Don’t worry other apps will still work but our app need now the permission to access the USB device)
- Switch the Slider to activate the Demonstration Mode ( DEMO)
- Press the PLAY button
- Have a look at the output window
If you find the message: Driver Start OK
then your Android device can successfully communicate with the USB dongle.
- After 30 seconds you should receive a report about AIS package like:A:Received correctly: 40 packtes, wrong CRC: 8 packets, wrong size 6 packets
If you receive 0 packets or 1 packet and please set up PPM settings.
(see PPM Chapter )
- The demo mode is limited so far for 1000 messages
(chan A OR chan B).
- The demo mode has no WiFi wake lock.
- The demo mode can share data only to one client.
- The demo mode can not share GPS position data.
- The demo mode has a reduced GUI
- Need help –> info@ebcTech.eu
This is the full version of the app.
It allows you to stream the received AIS messages to three different UDP clients, and acts as an TCP server (limited to one client)
Also GPS data can be forwarded to a client (UDP).
In any case you need to install the RTL SDR AIS DRIVER app first. Settings you may choose in the in the RTL SDR AIS DRIVER app will not be considered with this app. You need to configure your settings in this APP.
AIS SHARE / FIRST START
- First you need to install RTL SDR AIS Driver app
- Start the AIS Share app go to the setting activity
- Set the PPM Dongle setting
This is really important.
If you have an higher quality stick then just enter 0 or 1.
see my recommendations
For other sticks like the blue or black one you have to figure out your unique PPM setting of your dongle, see http://www.ebctech.eu/blog/find-your-ppm/
- Set up the UDP Share
As UDP HOST enter the IP Adress of the device you want to share the data to.( so the IP Adress of the partner )
If the partner app is on the same device you can enter 127.0.0.1 which means localhoost.
For TCP sharing, just enter a port number the Android device is listen to.
The app acts as an TCP server. (limited to just one connection, after sending the data it will close the connection)
- Start the driver
with the pink floating action button.
DRV –> RTL SDR AIS DRIVER is started
AIS,UDP,TCP,GPS,INT –> all internal modules are ready.
- Message receive
Watch out if you receive messages.
After 60 seconds the first information about received frames via channel A and channel B should appear (each pair in a grid represent chan A and next chan b )
- Please report bugs,wishes …
or posted it in this blog
In both apps RTL SDR DRIVER and AIS SHARE there is a setting page.
If you downloaded AIS SHARE all settings are controlled by this app. You need of course not to change settings twice.
If you buy a budget USB dongle then most important setting is the PPM settings. Nearly 99% of such USB dongle needs a frequency correction value. This value is different for every dongle.
The frequency for AIS is Channel A: 161.975 MHz and Channel B: 162.025 MHz. Because each dongle has a frequency drift, without correction the software is basically not tuned on this frequency. As a result you won’t receive messages.
With “High Quality” sticks it is more easy. Search for 0.5 PPM TCXO RTL-SDR dongles. All these dongles have fix PPM Settings of 0 or 1.
see my recommendations
How to find out the right PPM
google for frequency correction RTL SDR or PPM RTL SDR to find more
I INSTALLED MARTIN MARINOV RTL2832U DRIVER APP, DO I NEED YOURS
YES, my driver app is tuned to AIS message reception. AIS Share will not work without my driver app.
RTL AIS DRIVER app will not influence any other RTL SDR related app you have installed
I CAN’T RECEIVE A VESSEL AIS MESSAGE
Use a proper Antenna
You need to located close to an area where vessels are (1-5 km)
Check PPM settings. In 99% this is the reason.
DRIVER IS UNSTABLE
Check if you use a high quality cable. Do you use a USB extension cable ? Try it without it.
CAN YOUR APP SHARE DATA TO APP XY
As long as the other app supports AIS data receiving via UDP then 100% for sure. If the third party app supports AIS TCP then please ask your App supplier if its APP acts as an TCP Client (nearly all app do that)
There are dozen of marina map app’s on the market, I personal can’t test them all so if you using successfully a third party app please write me.
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. DO NOT rely upon AIS Share for safety of life or property.
Please note that depending on your local law, receiving radio transmission AIS
@ AIS 1 – 161,975 MHz (Kanal 87B) AIS 2 – 162,025 MHz (Kanal 88B)communication is maybe illegal. Please inform your self before you use this app in combination with a USB DVB Tongle. Never use this app or the generated data for communication purpose.
Android, Google Play and the Google Play logo are trademarks of Google Inc.