Tagged: AIS

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

Setting up a Raspberry Pi Based AIS Receiver with an RTL-SDR

Over on YouTube user Tobias Härling has uploaded a video showing how he used a Raspberry Pi and RTL-SDR dongle to set up an AIS receiver. AIS stands for Automatic Identification System and is a radio system similar to ADS-B which allows you to create a radar-like system for boats. For Windows we have a tutorial on AIS reception here.

In his setup he uses rtl_ais and the kplex software and shows how to install everything from scratch. He also shows how to set the system up so that decoding automatically starts up and begins outputing NMEA data through the network when the Raspberry Pi is powered on. This way an a device like an iPad could be used to run OpenCPN to view the plotted ships.

$50 Raspberry Pi AIS-Receiver – How to