RTL-SDR Tutorial: Decoding Meteor-M2 Weather Satellite Images in Real-Time with an RTL-SDR

Back in September last year we posted a tutorial written by RTL-SDR.com reader Happysat which showed how to receive and decode high resolution Meteor-M2 LRPT satellite images. The tutorial required several offline manual processing steps to be performed and therefore could not decode the image in real time.

Now Vasili, a SDR# plugins programmer, and Oleg who is the coder of Lrptdecoder have combined ideas to create a new QPSK demodulator plugin for SDR# that allows the real time reception and decoding of Meteor-M2 LRPT images (in Russian use Google translate). The demodulator also offers the advantage of faster and longer signal locking, and also works much better with weak signals compared to the old method. 

At the same time Vasili has also released another plugin called DDE Tracker which allows a satellite tracking program such as Orbitron to interface with and control SDR#. The plugin can be downloaded on the same page as the QPSK plugin. This is similar to the already existing DDE plugins, but now also comes with a scheduler which allows users to automatically schedule recordings of Meteor-M2 and NOAA satellite passings.

NOTE: Meteor M1 has come alive again, so the frequency of Meteor M2 was changed from 137.1 MHz to 137.9 MHz. Meteor M1 is now at 137.1 MHz and can be received using the same steps as in this tutorial, though please note that images from Meteor M1 are not perfect since the satellite is tumbling.


To help users get set up with this new method, Happysat has again come forth with another tutorial which can be downloaded here (.pdf) (.docx) (.txt w/ images in .rar). At first glance the tutorial may seem more complicated than the old method, but in the end it is a much faster and more efficient way at decoding LRPT images. The basic steps involve setting up Orbitron and the DDE plugin to automatically track the Meteor-M2 LRPT satellite and signal, and then setting up the QPSK plugin and the new version of Lrptdecoder to talk to one another in real time via a local TCP connection.

Real time decoding of Meteor-M2 with two new SDR# Plugins.
Real time decoding of Meteor-M2 with two new SDR# Plugins.
QPSK Decoder SDR# Plugin
QPSK Demodulator SDR# Plugin
DDE Orbitron Interface SDR# Plugin.
DDE Orbitron Interface SDR# Plugin.


One more Meteor-M2 related thing to look forward to in the future is the AMIGOS project which stands for Amateur Meteor Images Global Observation System. This will be a system where users around the world can contribute LRPT images through the internet to create a worldwide LRPT receiver. Oleg of LrptDecoder writes:

There is an idea to merge LRPT receive amateur radio stations in a network through the Internet and create a super LRPT receiver.

I see the benefit of professionals from the control center in the operational monitoring of the condition of the equipment MSU-MR, and for fans of the fullest reception of images from Meteor-M.

All is in testing phase and need some setup for the servers,  data is beeing shared thru a VPN connection to a central server which will have a continous flow of images from all over the world.

Users can join and share in realtime the data more info on:

What is Meteor-M2?

If you don’t understand what all this is about: The Meteor-M N2 is a polar orbiting Russian weather satellite that was launched on July 8, 2014. Its main missions are weather forecasting, climate change monitoring, sea water monitoring/forecasting and space weather analysis/prediction.

The satellite is currently active with a Low Resolution Picture Transmission (LRPT) signal which broadcasts live weather satellite images, similar to the APT images produced by the NOAA satellites. LRPT images are however much better as they are transmitted as a digital signal with an image resolution 12 times greater than the aging analog NOAA APT signals. Some example Meteor weather images can be found on this page and the satellite can be tracked in Orbitron or online.

A software defined radio such as the low cost RTL-SDR, or the higher end Airspy and Funcube dongles can be used to receive these signals.

An Example LRPT Image Received with an RTL-SDR from the Meteor-2 M2.
An Example LRPT Image Received with an RTL-SDR from the Meteor-2 M2.


The DDE plugin can also be used for tracking NOAA satellites. Some people have been having trouble with set up. Happysat writes a solution:

Download TLE from: http://www.celestrak.com/NORAD/elements/noaa.txt. Make sure the names are the same in DDE Sat Tracking Client schedule. https://dl.dropboxusercontent.com/u/124465398/NOAA_Setup.jpg. Same one as i post in the howto – https://dl.dropboxusercontent.com/u/124465398/DDESchedule.rar


  1. Z-RAY-Z

    I want record baseband with the signal from Meteor M2, what sample format i should set in SDR# recorder?

  2. Lukasz

    I’m looking for meaning of following DDE Client Scheduler: “radio_tracking_frequency_On” and “send_tracking_frequency_On”. Has anybody something like reference manual for sdr# and it’s plugins?…
    Best regards

  3. DennisE

    Happysat–thanks for your accomplishments for us! I’m confused about your posts here of May 22 and 23, 2015.
    Are the tweaks by Vasili in your May 22 post for the QPSK plug-in included in the new version
    of QPSK you posted on May 23. I am having a challenge when reading Vasili’s posts on determining
    the dates of the plug-in files. I use 7Zip, open an archive of a download file and look at the
    creation date to try to resolve the date issue. I don’t see a version number on the files so
    is there a better way?

  4. seby

    Please make me understand one or more thinks….

    I don’t understand one think in the new tutorial about METEOR M2 real time… in the Receiving/Decoding NOAA APT images(tutorial) speaks about the Satellite Tracker plugin that is inside SDRSharp…When i open ORBITRON whit SDR via driver when NOAA 15,18, or whatever are close to me, the program send a command to this Satellite Tracker plugin inside SDRsharp and automaticaly makes freq corection and solve doppler effect ..its no need to set the main freq in SDRSHARP the software it’s doing all the thinks… but what about DDE it makes me the same corection in SDRSharp , or in the plugin to send data to QPSK?

    • admin

      Sorry, not sure I fully understood, but I think I can answer. The DDE plugin interfaces with Orbitron and automatically sets the frequency in SDR#, according to the doppler shift – this is a rough correction. I think the QPSK plugin also does its own tracking, but on a smaller scale to improve decoding. Maybe happysat or someone can confirm.

  5. Les

    I’m having trouble getting orbiter on to see the Sdr# driver, I have followed the tutorial, added the line pointing to sdr#, go back to orbit don and it’s not in the list of drivers, any suggestions anyone?

  6. Bob

    I’m new to this too. I have experimented with Turnstyles, Eggbeaters and finally QFH antennas using information from here : http://jcoppens.com/ant/qfh/calc.en.php#diam
    At first it looks complicated but I’ve made 4 QFH antennas. 1 for UHF using 3mm copper enameled wire from an old transformer and PVC tubing. 1 for 137.5MHz made from RG6 coax, it works but I don’t recommend it as you can’t solder the coax braid, It’s steel. I made 2 QFH antennas from 2mm hard drawn copper wire (old telephone line) one for 137.5MHz and one for 145.5MHz. Either one receives Ham and wx satellites. MAR-6 homebrew preamp helps. I have ordered a couple of LNA4ALL (search this site) boards for my next project.
    Have fun, regards Bob vk2byf

  7. Bob

    I don’t seem to be able to find the correct link to download the DDE tracking client with Scheduler. Maybe the Google translated from Russian site doesn’t have it and I’m not game enough to click on any links in Russian as I don’t understand it.
    I’m using an old Tracking client without Scheduler which works fine with Orbitron but it’s basic without the scheduler. I managed to download the DDEshedule.XML document but is this it or am I missing something?
    Thanks, Bob vk2byf

  8. Happysat

    Some extra explaination about Meteor images:

    When you save a Meteor image as an RGB125 BMP image, the image actually contains all the information for the three separate channels.
    If you wish to store your Meteor images for the future, this is the best way.

    The new version of SmoothMeteor recognises the 125.BMP part of the filename, and opens up the Palette menu.

    Here you find options to add palettes to the images.

    But you can also combine the channels in different ways: the RGB122 that is often used in LRPTofflineDecoder, but also the RGB125 (using the inverted channel 5), which is the same as the common colour composites made from NOAA HRPT channels 1+2+4.

    There are also options to save each of the individual greyscale channels.


    So change in LRPToffLineDecoder.ini :


  9. demian

    I’d love to get into receiving these satellites. Do I need a special antenna or will the antenna I have hooked up to my RTL-SDR work? I live on the 15th floor of an apartment building with a clear view of the sky.

    • Craig

      Hi Demian, you would need a special antenna to receive good quality images. There are 2 types known as a QFH antenna or the other is a Turnstile antenna. Both of these can be found on Google and made quite easily. A preamplifier also helps but for as for starting off is not essential. I have had quite good results using a standard scanner discone antenna with no preamplifier – the signal will fade in and out thats why the special antenna is required to stop that. I would suggest to start decoding NOAA APT images at first, as these are the easiest to setup and get some results – Info on that is also on this site. It just requires a program called WXTOIMG and your good to go, with some adjustments to your sound settings. Check to see if you can already receive a signal from Noaa’s 15 18 or 19 if you can – give it a try with the software above. Good Luck!

Post a comment

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>