Category: Marine

ESAR – Extraordinarily Simple AIS Receiver written in C

Thank you to Richard Gosiorovsky for submitting his latest SDR project called ESAR (Extraordinarily Simple AIS Receiver). AIS stands for Automatic Identification System and is used by marine vessels 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.

Richards code comes as raw C code, so you will need some knowledge on C code compiling to use it. Being so simple, the code is also a great resource for learning how to access data from an RTL-SDR, and write a decoder. Richard writes:

[ESAR] takes less then 300 lines of programming code and no additional software is necessary (like SDR# or audio piping).

It was intended mainly as exercise in digital signal processing.

All you need is RTL-SDR dongle with driver and rtl_tcp command. Simple dipole antenna is sufficient. If all this you have just compile C code (in the attachment) using MS Visual Studio.

Before running ESAR run rtl_tcp command with this parameters:

rtl_tcp.exe -f 162e6 -s 300000 -a -p 2345 -g 48.0

It comes with GNU licence so converting output to NMEA format or any graphical output is free choice of other SDR enthusiasts.

Richard has shared the C code file directly with us, and it can be downloaded from our server here.

ESAR Code Screenshot

Demonstrating the New 3D Maps in SDRAngel

In December of last year we posted about a video demonstrating the many features that the SDRAngel software comes standard with. Recently they've added a new feature which are 3D maps that can be used to visualize signal data.

In the latest video demonstration they show these 3D maps projecting NOAA weather satellite images onto a 3D globe and at the same time tracking the NOAA satellites over the globe as it produces imagery. They also show the software visualizing a 3D model of aircraft on the globe, using live ADS-B data to show aircraft maneuvers when taking off, cruising and landing. With multiple SDRs they also show how the visualization can be combined with air traffic voice. Finally they also show marine vessels being visualized via live AIS data. There appear to be a wide range of vessel 3D models implemented.

A List of Crowd Sourced SDR Data Exchanges

Over on Reddit u/onemindisbuddha has put together an interesting list highlighting the number of crowd sourced data aggregators that use RTL-SDRs or similar hardware.

A common example of a data aggregator that makes use of RTL-SDRs is most of the flight tracking websites, such as FlightAware and FlightRadar24. Contributors to the service will usually set up RTL-SDR + Raspberry Pi based receivers that feed ADS-B aircraft data received from the local area to these websites. Data from contributors from all over the world are then combined onto a single map, allowing for a global live picture of aircraft traffic.  

Some other examples on the list that use RTL-SDRs include Amateur Radio APRS tracking, marine traffic, police/EMS audio feeds, train traffic, weather audio feeds, satellite ground station feeds and general web based remote SDR access. Added to the list are also aggregators based on other devices for applications like lightning detection and seismic activity reporting.

Aggregators List Partial Screenshot

SDRAngel Features Overview: ADS-B, APT, DVB-S, DAB+, AIS, VOR, APRS, and many more built-in apps

SDRAngel is a general purpose software defined radio program that is compatible with most SDRs including the RTL-SDR. We've posted about it several times before on the blog, however we did not realize how much progress has occurred with developing various built in plugins and decoders for it.

Thanks to Jon for writing in and sharing with us a demonstration video that the SDRAngel team have released on their YouTube channel. From the video we can see that SDRAngel now comes stock with a whole host of built in decoders and apps for various radio applications making it close to an all-in-one SDR platform. The built in applications include:

  • ADS-B Decoder: Decodes aircraft ADS-B data and plots aircraft positions on a map
  • NOAA APT Decoder: Decodes NOAA weather satellite images (in black and white only)
  • DVB-S: Decodes and plays Digital TV DVB-S and DVB-S2 video
  • AIS: Decodes marine AIS data and plots vessel positions on a map
  • VOR: Decodes VOR aircraft navigational beacons, and plots bearing lines on a map, allowing you to determine your receivers position.
  • DAB+: Decodes and plays DAB digital audio signals
  • Radio Astronomy Hydrogen Line: With an appropriate radio telescope connected to the SDR, integrates and displays the Hydrogen Line FFT with various settings, and a map of the galaxy showing where your dish is pointing. Can also control a dish rotator.
  • Radio Astronomy Solar Observations: Similar to the Hydrogen line app, allows you to make solar measurements.
  • Broadcast FM: Decoding and playback. Includes RDS decoding.
  • Noise Figure Measurements: Together with a noise source you can measure the noise figure of a SDR.
  • Airband Voice: Receive multiple Airband channels simultaneously
  • Graves Radar Tracker: For Europeans, track a satellite and watch for reflections in the spectrum from the French Graves space radar. 
  • Radio Clocks: Receive and decode accurate time from radio clocks such as MSF, DCF77, TDF and WWVB.
  • APRS: Decode APRS data, and plot APRS locations and moving APRS enabled vehicles on a map with speed plot.
  • Pagers: Decode POCSAG pagers
  • APRS/AX.25 Satellite: Decode APRS messages from the ISS and NO-84 satellites, via the built in decoder and satellite tracker.
  • Channel Analyzer: Analyze signals in the frequency and time domains
  • QSO Digital and Analog Voice: Decode digital and analog voice. Digital voice handled by the built in DSD demodulator, and includes DMR, dPMR and D-Star.
  • Beacons: Monitor propagation via amateur radio beacons, and plot them on a map.

We note that the video doesn't show the following additional features such as an analog TV decoder, the SDRAngel "ChirpChat" text mode, a FreeDV decoder and several other features.

SignalsEverywhere: Decoding HF WEFAX Weather Fax with an Airspy HF+ Discovery SDR

Over on YouTube Sarah is back this week with a new video on her channel SignalsEverywhere. In this video she shows how to decode HF WEFAX (weather fax) images using an Airspy HF+ Discovery software defined radio with a YouLoop antenna. HF weather faxes are daily weather chart images transmitted as an analogue signal over the HF bands by coastal stations. They are mostly used by ships at sea.

First Sarah shows where to find a lists of WEFAX frequencies and schedules for her area, and then goes on to demonstrate a WEFAX signal being received and decoded using SDR#, VB-Audio Cable and the FLDIGI decoder.

Decoding HF WEFAX Weather Fax with SDR Software Defined Radio | Airspy HF Discovery

AIS-Catcher: A Dual Band Multiplatform AIS Receiver for RTL-SDR and Airspy HF+ with Multiple Decoding Models

Thank you to Jasper for writing in and letting us know about the release of his new open source software called "AIS-Catcher". AIS-Catcher is a MIT licensed dual band AIS receiver for Linux, Windows and Raspberry Pi. It is compatible with RTL-SDR dongles and the Airspy HF+.

AIS stands for Automatic Identification System and is used by marine vessels 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.

Jasper notes that his software was intended to be a platform for him to experiment with different receiving model algorithms. On the GitHub readme he explains how he's experimented with a coherent demodulation model that estimates the phase offset, a non-coherent model which is similar to what most existing decoders use, a modified non-coherent model with aggressive PLL, and an FM discriminator model which assumes the input is the output of an FM discriminator.

The readme goes on to show some comparison results indicating that the coherent model is the best although it uses 20% more computation time. He also compares AIS-Catcher against some other AIS decoders like AISRec and rtl-ais, showing that AIS-Catcher appears to be comparable or better than AISRec, which is one of the most sensitive decoders available for SDR dongles.

A Windows binary is provided on the releases page and compilation instructions for Linux are provided on the Github Readme.

Some results from AIS-Catcher. Different algorithms and different software compared.

A Dual Aircraft and Ship Tracking System with RTL-SDR

Over on his blog Ian Renton has posted about his dual plane and ship tracker project that he's titled "Plane/Sailing". The project consists of several elements including one FlightAware Pro Stick and Pimoroni ADS-B antenna for the aircraft tracking, and an RTL-SDR Blog V3 dongle and Diamond X-50 AIS antenna for the ship tracker.

Ian runs each dongle on a seperate Raspberry Pi. For aircraft the dump1090 software is used to decode the data, and it passes that data to multiple aggregator feeders such as FlightAware, FlightRadar24, ADS-B Exchange and OpenSky. For ships he uses rtl_ais which feeds into AIS Dispatcher which in turn feeds multiple marine aggregators such as Marine Traffic, VesselFinder, AIS Hub, Pocket Mariner and Ship Finder.

His system also feeds a personally hosted web front end based on his umid1090 software. umid1090 is a replacement for dump1090's web interface, the main difference being that the map is presented using military symbology. For the "Plane/Sailing" project he also extended umid1090 to be able to read the AIS ship position data from AIS Dispatcher's KML output file, and created a clean dark interface. The result is a slick looking map displaying both the tracked aircraft and ships. Ian's web interface for his system is public, and can be viewed at

The Plane/Sailing Web Interface (Based of UMID1090)


Frugal Radio: 2020 SDR Guide Ep 1 – The Incredible World of Software Defined Radio (RTL-SDR, Airspy, SDRPlay etc.)

Frugal Radio has begun his YouTube channel a few weeks ago, and we've already posted about his YouLoop and SDR-Kits L-band patch antenna reviews as well as his results with the YouLoop on LF & VLF.

He's now begun a new series on his channel where he will be exploring the world of software defined radio in more depth. The first video that he's uploaded today is an overview where he overviews EMS communications, aircraft signals, military air signals, maritime signals, space signals, as well as other interesting signals he's received like wireless earpieces for musicians at concerts and  TV studio talkback links. He writes:

The 2020 SDR Guide Episode 1 has just been released.  It serves as an introduction to the incredible world of Software Defined Radio and will be of interest to both beginners and more advanced users.

Over the next few weeks, Frugal Radio will be exploring various aspects of using SDRs within the  hobby.  These include :
  • Using Free online SDRs
  • Comparison videos (eg Budget dongle shootout - Generic / RTL-SDR V3 / Nooelec SMARt v4)
  • "Must have" software guide
  • Antenna options and more

Users can view the channel at or visit to subscribe directly.

If you're getting started with SDR, or are looking for new projects this might be a series to follow.

2020 SDR Guide Ep 1 : The Incredible World of Software Defined Radio (RTL-SDR, Airspy, SDRPlay etc.)