Tagged: AIS

Building a Raspberry Pi Based AIS Receiver with an RTL-SDR, Preamp and Collinear Antenna

Thank you to SARCNET (School Amateur Radio Club Network) for submitting news about their tutorial on building a Raspberry Pi and RTL-SDR based AIS receiver. In their tutorial they show what equipment is required and provide access to a ready to use SD Card image for the Pi that has the AIS software pre-installed and ready go. They also show how to upload data to various online AIS data aggregators like AISHub and MarineTraffic.

AIS stands for Automatic Identification System and is used by ships to broadcast their GPS locations in order to help avoid collisions and aide with rescues. An RTL-SDR with the right software can be used to receive and decode these signals, and plot ship positions on a map.

The School Amateur Radio Club Network publishes a simple project aimed at promoting the deployment of maritime Automatic Information System (AIS) receiving stations around the world using cheap RTL-SDR dongles and Raspberry Pi computers. The purpose of the project is to improve the existing terrestrial AIS receiving network by encouraging enthusiasts to setup their own AIS receiving stations and to disseminate their local vessel traffic data freely to AIS Servers. This data can then be used by many organisations involved in monitoring and improving the safety and security of shipping.

The SARCNET project, which works on all models of Raspberry Pi, makes building the AIS receiving station simple by providing pictorial construction details with a pre-packaged Raspberry Pi image to download. The free project uses open-source software and a bootable Raspberry Pi image which has been updated to use the latest Raspbian Lite operating system.

One of the attractions of building your own AIS receiving station is that some AIS servers reward you when you freely upload your local vessel tracking data. They publish your station information, showing your station position on a map and your receiving statistics like messages per hour and coverage in nautical miles. Some give you free, premium access to their AIS data, which can be viewed on their mobile apps. Even so, by operating one of these AIS receiving stations, you will have the satisfaction of making the world a safer place.

AIS Received with a Raspberry Pi and RTL-SDR Dongle.
AIS Received with a Raspberry Pi and RTL-SDR Dongle.

A Homemade Boat Computer with RTL-SDR for Weather Fax, NavTex and more

Over on Hackaday we've seen a post about [mgrouch]'s "boat computer" which consists of a Raspberry Pi 4, HDMI display, and a whole slew of sensors and receivers useful for a marine environment including an RTL-SDR.

The built in equipment includes a GNSS receiver, orientation sensors, AIS receiver, 4G and WiFi, lightning EMI sensor and alarm, optional autopilot integration, rudder angle sensor, connections to boat instruments like wind, depth, speed, temperature, barometric and humidity sensors, an Iridium receiver, and finally an RTL-SDR for receiving weather fax, NavTex, satellite weather, AIS, RTL 433, morse code and more. It really is an "all-in-one" device.

His blog post explains in detail how each of the components work in the system, and in particular for the RTL-SDR he shows how you can use the boat computer to receive FM via GQRX, and NavTex via the Java based Frisnit Navtex decoder. Navtex is a marine radio service that transmits at 518 kHz or 490 kHz. It provides text data regarding weather forecasts, weather warnings, navigational information, and urgent maritime safety messages. For his antenna he writes that he uses a 10 kHz - 30 MHz Mini Whip antenna that he purchased on Aliexpress.

mgrouch's Boat Computer with RTL-SDR
mgrouch's Boat Computer with RTL-SDR

RTL-SDR AIS Android App Now with Waterfall Display for Frequency Offset Tuning

Thank you to Christian, author of the RTL-SDR AIS Android App for letting us know that he's updated his app and it now includes a waterfall display for tuning the AIS frequency. Tuning the AIS frequency is not required on higher end RTL-SDR dongles that come with a TCXO (Temperature Compensated Oscillator), but cheaper RTL-SDRs will have significant frequency offsets that will require the offset to be determined after a few minutes of warm up time. The easiest way to do this is with a waterfall display as that allows you to tune the frequency manually.

AIS stands for Automatic Identification System and is used by ships to broadcast their GPS locations in order to help avoid collisions and aide with rescues. An RTL-SDR with the right software can be used to receive and decode these signals, and plot ship positions on a map.

RTL SDR AIS Driver App PPM

AIS Share App Updated and Magazine Article

Thank you to Christian, programmer of the AIS Share Android App for letting us know about some updates to his AIS Share Android application. AIS Share is a €2 app for Android that allows you to turn an Android device into an AIS receiver together with an RTL-SDR. AIS stands for Automatic Identification System and is used by ships to broadcast their GPS locations in order to help avoid collisions and aide with rescues. An RTL-SDR with the right software can be used to receive and decode these signals, and plot ship positions on a map.

Recent updates to AIS Share have brought improved AIS reception, and updates allowing it to run on the latest Android version. A new video demonstrating the software was also uploaded to YouTube.

AIS SHARE - Android (RTL-SDR AIS receiver)

The App has also been featured in the February 2019 edition the "Practical Boat Owner" magazine (paid magazine with digital editions). The article discusses using AIS Share and an RTL-SDR to stream data to Boat Beacon, which is a popular chart navigation app. A similar but free tutorial on setting up AIS Share and Boat Beacon can be found here.

An excerpt of the Practical Boat Owner AIS Share RTL-SDR Article.
An excerpt of the Practical Boat Owner AIS Share RTL-SDR Article.

Visualizing the Traveled Path of a Weather Balloon, Tanker Boat and Gliders with an RTL-SDR and CesiumJS

Over on YouTube user pascal poulain has uploaded a short video that shows a timelapse of the flight path of a weather balloon in Cesiumjs as it rises and falls, as well as a time lapse of a marine tanker docking, with the signals received with an RTL-SDR. In a third video pascal also shows a visualization of glider flights tracked via FLARM and the Open Glider Network which also obtains most of it’s data through RTL-SDR contributors.

Cesiumjs is a tool similar to Google Earth. The main difference is that it works on a wider array of devices through a web browser without the need for any plugins. It is often used for visualizing data on the globe. An example of some of its many demos can be found here.

We’re not sure what tools pascal used, but over on GitHub there is a tool called airtrack which can be used together with dump1090 to display flights in real time on Cesiumjs.

Illustration of 3D realtime tracking of weather sonde.

3D illustration of a tanker docking

3D view of typical soaring flights

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

An AIS Decoder for MATLAB and the RTL-SDR

RTL-SDR.com reader Mike wrote in to us today to let us know that he has released his AIS decoder for MATLAB and the RTL-SDR. MATLAB is a technical computing language used by many scientists and engineers in the world. Mike writes the following about his work:

Automatic Identification System (AIS) is a communication standard that is used by commercial and recreational maritime vessels to report a ship’s ID, position, course and other information. This data is used for collision avoidance, search and rescue and many other applications. AIS has the following characteristics:

  • Access protocol: Self-organizing Time Division Multiple Access (SOTDMA)
  • Transmission frequencies: 161.975 MHz and 162.025 MHz
  • Transmit Power: 2 W or 12.5 W
  • Modulation: Gaussian Minimum Shift Keying (GMSK)
  • Data Rate: 9600 bits per second

An AIS decoder that uses the RTL-SDR and MATLAB to capture AIS transmissions is posted on MATLAB Central, the MathWorks file sharing exchange. The decoder has three main components

  1. Software to connect MATLAB to the RTL-SDR and bring IQ data directly into the MATLAB workspace (http://www.mathworks.com/hardware-support/rtl-sdr.html)
  2. Demodulation and decoding algorithms to convert the IQ samples into bits and decode the AIS data (http://www.mathworks.com/products/communications/)
  3. A user interface to configure the RTL-SDR, launch the capture and decoding process, and display the decoded messages (http://www.mathworks.com/matlabcentral/fileexchange/57600-ais-decoder)

The MATLAB Central post includes MATLAB source code for the AIS decoder, captured data files from Boston and San Francisco, an app for easy configuration and operation of the decoder, and instructions for installing the RTL-SDR Hardware Support Package and AIS Decoder app.

If you want to learn how AIS works, and how to write a decoder, then a MATLAB example like this is an excellent resource.

Using Aisdecoder to decode both AIS channels simultaneously

Recently SV3EXP wrote in to let us know that he has been documenting his experiences with trying to get aisdecoder to decode both AIS channels simultaneously. AIS stands for Automatic Identification System, and is a system used to track the locations of marine vessels. With an RTL-SDR or other SDR radio, and appropriate decoder software you can plot ship positions on a map. As the AIS system uses two separate channels for redundancy, you can get a faster and more reliable update rate if you monitor and decode both channels.

On his blog SV3EXP shows how he uses Linux and the “demod” and “csdr” tools to demodulate multiple channels at the same time from IQ data generated by rtl_fm. The demodulated data is then fed to the aisdecoder software for decoding, and then fed to aisdispatcher for feeding the AISHub.net AIS data aggregation website.

Of course the easier solution to decode both AIS channels at once is to use decoding software that already supports this, such as AISdeco2 or AISrec which can be downloaded at http://xdeco.org, and https://sites.google.com/site/feverlaysoft respectively. But regardless SV3EXP’s method does show an interesting way to demodulate multiple streams using only command line tools.

SV3EXP also wanted to point out that he is selling a bias tee powered PSA4-5043+ based LNA on eBay which is compatible with the bias tee on our RTL-SDR Blog SDR units.

AISHub Coverage Areas
AISHub Coverage Areas