Meteor M No. 2-3,-4,5

Meteor Decoder V59 Released


  1. Meteor is still in the testing phase and there are still a few things to be tested.
  2. Therefore, some last-minute announcements may be slightly different
  3. It usually takes a month or two to transition to a continuous mode with a stable configuration.
  4. With M-N2-2 the commissioning mode was very fast lasting only a few weeks, with M-N2 it did take 3-4 months.

Current Meteor M 2-3 Status
Happysat Github Page

Click here for Information on Meteor M 2-4 Launch Status

Moscow time shown below. Changes and commands are sent to the satellites when sat is over Russia

Detailed characteristics of the Multispectral scanning imager-radiometer

MSU/MR No.Central wavelengthSpectral intervalSNR or NEΔT @ specified inputOutput
APID 640.60 µm0.50 – 0.70 µm1000 @ 80 % albedoVisible
APID 650.90 µm0.70 – 1.10 µm1000 @ 80 % albedoVisible
APID 661.70 µm1.60 – 1.80 µm1000 @ 80 % albedoVisible
APID 673.80 µm3.50 – 4.10 µm0.5 K @ 300 KInfrared
APID 6811.00 µm10.5 – 11.5 µm0.15 K @ 300 KInfrared
APID 6912.00 µm11.5 – 12.5 µm0.15 K @ 300 KInfrared
Meteor M2-3 06-28-2023 test pattern image, ideally, the controllers are trying to make this without the error lines, click for full-size image.


METEOR M2-3 has successfully launched and is now in orbit and began transmitting LRPT and HRPT images, just 5 hours 58 minutes after launch.

Click for full resolution crop of the Great Lakes, 09-04-2023

Meteor-M satellites are Russian-owned weather imaging satellites that are in sun-synchronous polar orbit. They transmit images to Earth in the Low-Resolution Picture Transmission (LRPT) format at 137 MHz, and High-Resolution Picture Transmission (HRPT) at 1700Mhz making them almost as easy to receive as the older NOAA APT satellites. Unfortunately, all prior Meteor M satellites have suffered an early ending or partial ending to their mission due to technical faults or micrometeorite collisions. (Meteor M2-2 still transmits on HRPT)

However, on June 27, 2023, the latest Meteor M2-3 satellite was successfully launched on a Soyuz-2 rocket and is already transmitting LRPT and HRPT images of the Earth.

What sensor sends the imagery?

On board the spacecraft is the MSU-MR The MSU-MR is a 70-kilogram multispectral scanning payload that uses six spectral bands to monitor cloud cover and measure sea and land surface temperature. The instrument covers one visible band, one crossover band, and four infrared bands.

The visible channel covers a band of 0.5-0.7 micrometers (µm), the visible-near-infrared (VNIR) channel covers 0.7-1.1 µm, the shortwave infrared (SWIR) channel covers 1.6-1.8 µm, the midwave infrared (MWIR) channel covers 3.5-4.1 µm, and the two thermal infrared (TIR) channels cover 10.5-11.5 and 11.5-12.5 µm.

The instrument operates at a scanning angle of 54°, covering a 2,800-kilometer ground swath with a spatial resolution of 1 kilometer and an angular resolution of under 1.4 milliradians (mrad) in all channels. The temperature measurement error in the IR channels is less than 0.5 Kelvin at an operational radiation temperature range of 212-313 Kelvin. The instrument is operated continuously, generating a steady stream of data at a rate of either 720 kilobits per second (kbit/s) or 800 kilobits per second. (72K or 80K)

To receive images from the Meteor M2-3 satellite, you will need an appropriate 137 MHz satellite antenna such as a v-dipole, Turnstile, or QFH. An RTL-SDR or any similar SDR can be used as the receiver.

Satdump Software is capable of decoding both the HRPT and LRPT from Meteor M2-3. Other software such as MeteorGIS 2.25(beta) and LRPT_Decoder also can decode the satellite.

Here are some basic settings that I use for automatic Meteor M2-3 Reception:


I have an automated script that uploads the current Meteor 2-3 TLE to my server, you can use it to download directly into your software by using this link:

I have more details and links on my page here:

Cees van der Laan has compiled a 39-page guide to building a Meteor M 2-3 GIS reception system.  In an illustrated PDF document, he describes in detail the hardware and software required and takes you carefully through all the installation steps.

The Document, “Install_Manual_MeteorGIS” can be downloaded here:

Les Hamiltons MeteorGIS Installer is listed below in the software section.

More information can be found here as well

Note on Map outlines in MeteorGIS

Deltas and Alphas need to be changed in your MeteorGIS .ini and LRPT_Decoder.ini files to reflect accurate coastline and border placements.




Here are mirrored copies of the software files used in the creation of these Meteor Images. If you know of more current versions please let me know.

Click on the Image below, then zoom in to see LRPT imagery at high resolution 56mb

Meteor M2-3 capture in progress.
the current TLE can be found here

Example of how MeteorGIS can be used to “treat” an image by filling in lines in imagery

DDE Tracking Client Setup Information and Process.

In SDR# with DDE Tracking Client v1.2 under config I use these settings:






UPDATED 07-09-23
The DDE TRACKING Scheduler receives satellite position data from satellite tracking programs (such as Orbitron). When a satellite appears in the recieving area or leaves the area, the scheduler executes a list of commands specified by the user to control SDR# and other plugins.

Tracking programs send the plugin the name of the satellite, its position, and frequency correction. If the name of the satellite is present in the scheduler and its elevation above the horizon exceeds the minimum elevation specified in the scheduler, the corresponding set of commands starts to execute.

When passing a name from a tracker to a plugin, some characters may be substituted and the name displayed in the plugin may not match the name displayed in the tracker. For example, a space may be replaced with an underscore. The name of the satellite in the scheduler settings must exactly match the name received from the tracker and displayed in the plugin window.

Wildcard characters are allowed in the satellite name. The following wildcard characters are supported:

  • [0-9]: Any character from the range.
  • *: Any number of any characters.
  • ?: Any one character.

For example, you can create one set of commands for all METEOR or NOAA satellites by writing the name of the satellite as follows: (BUT REMEMBER, this could be problematic IF each Satellite is transmitting on Different Frequencies)

  • METEOR-M2_[3456] (Meteor METEOR-M2_3, METEOR-M2_4, METEOR-M2_5, METEOR-M2_6)
  • METEOR-M2_?

Commands executed when a satellite appears are added to the AOS window, and commands executed when a satellite leaves the area are added to the LOS window.

The Available Commands window displays all available commands. The << buttons are used to add the selected command from the Available commands window to the corresponding scheduler window. The spelling and correctness of commands are not checked when added, only when executed.

I recommend that after setting up the scheduler, you check the correctness of the commands using the satellite passage emulation mode in the satellite tracker app.

An example of the scheduler settings for receiving the Meteor-M2-3 spacecraft:

Consider the actions of the scheduler in accordance with the example above. 


  1. When a satellite appears, (based on triggers from, in most cases a driver that is enabled from a tracking client such as Obitron) commands from the AOS window are executed. 
  2. If SDR# has been stopped, the first thing to do is start receiving radio_Start . 
  3. Next, set the modulation type radio_modulation_type<wfm>
  4. Set the center frequency and receive frequencies – radio_center_frequency_Hz<137100000> radio_frequency_Hz<137100000>.
  5.  Next, set the signal bandwidth to radio_bandwidth_Hz<125000>With these commands, SDR# is started and tuned the reception to the satellite frequency and signal bandwidth needed. Important – the order of execution of commands for setting up the radio matters. In the window of available commands, they are arranged in the correct order from top to bottom.
  6. Next up is the LRPT Decoder settings, M2_decoder_init_Line<rgb=123> and M2_decoder_init_Line<RoughStartTimeUTC=now> these tell the LRPT Decoder to set the rbg (color) to 123 (daylight) and to use the current UTC for the decode.
  7. Next in the scheduler are commands for setting up and running the demodulator plugin. PSK_set_SymbolRate<Auto> – setting the signal symbol rate to Auto. 
  8. PSK_socket_Enable This is a “fix” for those who have issues with the LRPT_Decoder hanging or running too slowly. Forces the TCP packets through on port 2011.
  9. OQPSK_demodulator_Start – start the demodulator plugin. OQPSK (offset quadrature phase shift keying).
  10. The send_tracking_frequency_On command.
    Looking at this in more detail: Two similar commands are available in the scheduler – send_tracking_frequency_On – turns on sending satellite frequency correction to other plugins and radio_tracking_frequency_On turns on tuner frequency tuning. To receive Meteors, you cannot turn on the tuning of the tuner reception frequency. When the tuner frequency is changed, the phase synchronization of the signal at the reception is lost, and the plug-in for demodulating the signal from the Meteor itself performs frequency adjustment and for this, it needs to send correction data using the send_tracking_frequency_On command.
  11. And finally, we launch the external program decoder start_programm_Path. this is where your executable is start_programm_Path<C:\Meteor\MeteorGIS.exe>


When the satellite goes below the Minimal elevation parameter set in the Tracking DDEClient, the execution of commands from the LOS window begins – 

  1. OQPSK_demodulator_Stop stops the signal demodulator
  2. send_tracking_frequency_Off disables sending frequency corrections, and,
  3. if necessary, radio_Stop stops receiving.

Demodulator – performs phase and symbol rate synchronization with the signal from satellites from the Meteor-M series and saves the final signal in 8-bit soft format to a file or outputs it to a TCP port for further decoding.

Demodulator – checkbox for launching the demodulator. Frequency – Displays the frequency of the plugin’s phase lock. During the search for a satellite signal, this frequency is constantly changing within certain limits. When a signal is acquired from a satellite, the Locked indicator lights up and this parameter displays the carrier frequency of the signal. Modulation type – select OQPSK modulation. The current satellites of the Meteor-M series use OQPSK modulation, SymbolRate – symbol rate, 72K or 80K or AUTO.

Tracking – enable the initial frequency adjustment by correction from the tracker for faster acquisition of the satellite carrier. Tuning works only in conjunction with the scheduler and if the transfer of corrections to plugins is enabled. This setting is only meaningful if there is no carrier lock. After capturing the synchronization, the correction according to the data from the tracker is not carried out. The Frequency parameter shows the frequency received from the tracker, Error shows the difference between the frequency received from the tracker and the frequency captured by the phase adjustment. The Correct parameter shows the correction value for the plug-in phase adjustment.

Output – select a device for signal output. To a file or to a TCP port, or both to a file and a port. Connected displays the number of connected clients on the TCP port. Dropped data – the number of lost buffers, under normal conditions this parameter should always be equal to zero, but if the computer speed is not enough for the plugin to work, the number of buffers lost inside the plugin will be displayed.

LRPT Decoder

This is my ini file for LRPT_Decoder:

AmigoID= _(Your unique number will appear here after the first connection to the server)

M2_LRPT_Decoder Version 59

  • The stability of the processing has been improved: The decoder is now more likely to produce stable results, even when there are errors in the input data.
  • The procedure for generating RGB and calculating GEO in the error-handling block has been improved. Now, the decoder’s processing is considered unfinished until the GEO calculation is completed.: This means that the decoder will now wait until the GEO calculation is finished before generating the RGB values. This helps to prevent errors and produce more accurate results.
  • Exception errors fixed: Some errors that were previously causing the decoder to crash have been fixed.
  • AutoClose=yes by default: This means that the decoder will now automatically close when it is finished decoding. This can be helpful for saving resources and preventing memory leaks.
  • 80K is much more stable: The decoder is now more stable than before. This means that it is less likely to crash or produce unexpected results.
  • Overall, these changes make the decoder more reliable and easier to use.

V59 Software can be downloaded above, or here:


  1. Download the executable above. Extract the file.
  2. Rename your existing M2_LRPT_Decoder.exe to M2_LRPT_DecoderV56.exe (just tosave the old version)
  3. Copy and paste the new M2_LRPT_Decoder.exe into the SAME folder as the old one using the same file name, M2_LRPT_Decoder.exe.
  4. Double-click on the new M2_LRPT_Decoder.exe so that you can allow Windows Defender or your antivirus to get past the opening Windows warning, click “Run Anyway” to allow M2_LRPT_Decoder.exe to open then close it after it first opens, then you are good to go!

MANUAL LRPT Decoder V 59 – for manual post-processing of soft .s files NEW details for use are in the zipped archive.

Included in the zip file is TCP_Injector.exe is a debugging tool and is not required in everyday decoding. It can be helpful for offline decoding as well

To use TCP Injector:
– Start Injector BEFORE starting M2-Decoder
– Then start M2-Decoder in TCP mode.
– In TCP_Injector.exe select either 72K or 80K
– Then click button start in TCP_Injector.exe and choose the s-file to be decoded.

You can regulate the speed of the data rate with the slowdown value
The value is a pause in milliseconds between data packets.

The injector cannot emulate real-time absolutely (with data timing) because Vasiliy’s Meteor Demodulator plugin does not save data in the file when “Lock” is absent.


  1. Sun-synchronous polar orbit: An orbit that passes over the same point on Earth at the same time each day. This allows the satellite to image the entire Earth every 24 hours.
  2. Low-Resolution Picture Transmission (LRPT): A data format used to transmit weather images from satellites.
  3. High-Resolution Picture Transmission (HRPT): A data format used to transmit weather images from satellites.
  4. NOAA APT: A data format used to transmit weather images from NOAA satellites. APT images are typically 1024×1024 pixels and have a resolution of about 1 kilometer per pixel.
  5. Technical faults: Any problems with the satellite’s hardware or software that can prevent it from operating as designed.
  6. Micrometeorite collisions: The impact of small, meteor-like objects with the satellite’s surface. These impacts can damage the satellite’s exterior and internal components.
  7. Soyuz-2: A Russian launch vehicle that is capable of placing satellites into a variety of orbits.
  8. SDR: A software-defined radio is a radio receiver that uses software to control the receiver’s components. This allows the receiver to be configured to receive a wide variety of radio signals, including those used by satellites.

Revisiting the Launch
This Page has been visited Hit Counter by Digits Times

Processing older, past Meteor Imagery Tip: LRPT-RENAMER.bat

When using M2_Man_LRPT_Decoder.exe to process a stored .s fil it is important to remember this one important aspect of the software. M2_Man_LRPT_Decoder.exe and MeteorGIS.exe were written by two separate folks, and as such the output of M2_Man_LRPT_Decoder.exe is NOT what MeteorGIS.exe expects as a naming convention:

023-07-25-22-32-07.s-67.bmp is what MeteorGIS expects, but M2_Man_LRPT_Decoder outputs this:

Two different naming conventions. The solution is to rename every file with _ and – and _LRPT- to just dashes, time-consuming and tedious!

So I wrote a WINDOWS batch file that does it all in about 1 second and from just the click of the mouse.

To use it, download the file , extract the file, and place it in the SAME folder as your M2_Man_LRPT_Decoder.exe places its geocoding results.

To run, simply click the LRPT-RENAMER.bat, and it will automatically rename all the files with the old naming convention to the new naming convention MeteorGIS requires and then, open the folder for your use.

For more information on reprocessing older LRPT imager see Les Hamilton’s Page

Using MeteorDemod with Orbitron and SDR# to automatically decode passes.

Currently, one of the popular ways to receive and decode Meteor LRPT imagery is with MeteorGIS and M2_LRPT_Decoder.  I still continue to use it. I was made aware of another Meteor Decoder that had previously run only under LINUX or with a virtual machine. Recently after discussions with the author of MeteorDemod he ported his software to run in a Windows environment.

I took up the challenge to evaluate and test the software.  Like many other tools, this one runs with a command line argument that specifies what the software should do, and where to find the files it needs.

After installing MeteorDemod, go into the folder you have the executable in and look for the ‘resources’ folder, open it up, and edit the settings.ini file, Usually all that is needed to get started is your correct location.

Using a wav file from a baseband recording:

meteordemod -m oqpsk -int 1 -diff 1 -s 80e3 -sat METEOR-M-2-3 -i input_baseband.wav -t weather.tle -o ./


Using an .s file generated by Meteor Demodulator in SDR#:

meteordemod -m oqpsk -int 1 -diff 1 -s 80e3 -sat METEOR-M-2-3 -i 2023_07_23_LRPT_23-20-46.s -t weather.tle -o ./

 Now, typing that out for every pass could be cumbersome, so you could write up a simple batch (.bat) and with one or two changes make the string work in windows, such as:

"C:\Program Files (x86)\meteordemod\meteordemod.exe" -m oqpsk -int 1 -d 23-07-203 -f jpg -diff 1 -s 80e3 -sat METEOR-M-2-3 -i “C:\pathtoyourfiles\2023_07_23_LRPT_23-20-46.s " -t " C:\pathtoyourtle \M2.3_tle.txt"  -o “C:\pathtoyouroutput\ Meteor_M2-3"

Save it as a batch file and before running update the date and the name of the .wav and/or .s file. 
Run the program and it will generate the images based on the command line, and what you have edited in the settings.ini file of MeterDemod executable folder.

That works, but still does not run automatically after a pass of the Meteor satellite. So what to do? Write a bigger Batch File!

This Batch file, is designed to be located in the directory C:/MeteorDemod/, after editing with your specific folder locations does the following:

  1. Sets the variable for your drive letter and location of SDR DDE Tracking Client location of .s files (or baseband files).
  2. Uses Windows Powershell Invoke Webrequest Command to download the most current Meteor 2-3 TLE and save it in the appropriate directory.
  3. Calculate the needed time Variable in UTC Date and Hours as variables
  4. Calculate the latest .s file in the recordings folder and pass that to a variable
  5. Check the latest file AND if it is under 1kb, skip all processing and exit the batch file.
  6. Run the MeterDemod executable to generate imagery. Note: It will run first under 80K, and if the recorded file is not 80K it will then attempt processing at 72K.
  7. Open the file directory where images are stored for review.
echo off
:: Set Drive letter below
	Set drive=C
:: Set folder location of .s files 
	Set Sfileloc=:\Meteor\RecordedFiles\
:: Get Current TLE
	powershell -Command Invoke-WebRequest -OutFile %drive%:\MeteorDemod\M2.3_tle.txt
::Get UTC times:
	for /f %%a in ('wmic Path Win32_UTCTime get Year^,Month^,Day^,Hour^,Minute^,Second /Format:List ^| findstr "="') do (set %%a)
	Set Second=0%Second%
	Set Second=%Second:~-2%
	Set Minute=0%Minute%
	Set Minute=%Minute:~-2%
	Set Hour=0%Hour%
	Set Hour=%Hour:~-2%
	Set Day=0%Day%
	Set Day=%Day:~-2%
	Set Month=0%Month%
	Set Month=%Month:~-2%
	set UTCTIME=%Hour%%Minute%%Second%
	set UTCTIME:=%Hour%:%Minute%:%Second%
	set UTCDATE=%Year%%Month%%Day%
	echo %Day%
	echo %Month%
	echo %Year%
	echo Drive is %drive%
	echo S file location is %Sfileloc%
:: Apply VARIABLE to  Most Current .s file from Meteor 2-3
cd "%drive%:\Meteor\RecordedFiles\"
for /f %%i in ('dir /b/a-d/od/t:c') do set meteor=%%i

echo The most recently created file is %meteor%

cd "%drive%:\MeteorDemod\"

:: Check file size before processing
for %%F in ("%drive%%Sfileloc%%meteor%") do (
    if %%~zF LSS 1024 (
        echo Skipping file: %%~nxF
        goto SkipProcessing

::Process with MeteorDemod

"C:\Program Files (x86)\meteordemod\meteordemod.exe" -m oqpsk -int 1 -d %Day%-%Month%-%Year% -f jpg -diff 1 -s 80e3 -sat METEOR-M-2-3 -i "%drive%%Sfileloc%%meteor%" -t "%drive%:\MeteorDemod\M2.3_tle.txt"  -o "%drive%:\MeteorDemod\Meteor_M2-3"

"C:\Program Files (x86)\meteordemod\meteordemod.exe" -m oqpsk -d %Day%-%Month%-%Year% -f jpg -diff 1 -sat METEOR-M-2-3 -i "%drive%%Sfileloc%%meteor%" -t "%drive%:\MeteorDemod\M2.3_tle.txt"  -o "%drive%:\MeteorDemod\Meteor_M2-3"

explorer.exe /root,%drive%:\MeteorDemod\Meteor_M2-3\
ECHO Exiting Program, file size under 1KB
REM Add a time delay of 5 seconds
timeout /T 5 /NOBREAK

Now how to run it automatically? Well, that is the simple part. Going into SDR# and the DDETracker Settings and adding the command to the LOS section of your Meteor2-3 Section


You need to add it to the LOS as the software needs a complete . s file or baseband to process.

Meteor Satellite No. 2-4

The Meteor Satellite No. 2-4, is scheduled to launch December 01 of this year. Meteor No. 2-5 and No. 2-6 are already in production. In the future, they will also replace in-orbit satellites that are approaching the end of their active life. 

Scheduled Meteor Launches

YearUTC Date (Format: DDD:HH:MM:SS:MS)Satellite(s)DesignationAdditional VehiclesRocket/Upper stagePayload FairingCosmodrome (Site/Pad)Remarks
2023June 27 (178:11:34:09.010)MeteorM №2-342 Multiple small s atsSoyuz 2-1B/FregatM (B15000003/14202)Vostochniy, 1SOn Orbit LRPT and HRPT
Cube-SX-HSE-3, StratoSat TK-1, UmKA-1, Nanozond-1, UTMN-2, KuzGTU-1, ReshUCube-2, Akhmat-1, Vizard-meteo, Svyatobor-1), Polytech Universe 3, SPbPU ultra-small artificial satellite for space exploration, Bureau 1440 technology demonstrator, ArcCube-01, Don-01.
2023December 01 ( №2-4multiple small satsSoyuz 2-1B/FregatM (x15000xxx/14203)Vostochniy, 1SLRPT and HRPT
2024NET Q1 ( №2-5multiple small satsSoyuz 2-1B/FregatM (x15000xxx/14205Vostochniy, 1SLRPT?
2025NET Q1 ( №2-6multiple small satsSoyuz 2-1B/FregatM (x15000xxx/xxxxxxVostochniy, 1SLRPT?
2030TBD ( №1unkSoyuz 2-1B/FregatM (x15000xxx/xxxxxxVostochniy, 1SX-Band
2030TBD ( №2unkSoyuz 2-1B/FregatM (x15000xxx/xxxxxxVostochniy, 1SX-Band
2030TBD ( №3unkSoyuz 2-1B/FregatM (x15000xxx/xxxxxxVostochniy, 1SX-Band
2030TBD ( №4unkSoyuz 2-1B/FregatM (x15000xxx/xxxxxxVostochniy, 1SX-Band
2030TBD ( №5unkSoyuz 2-1B/FregatM (x15000xxx/xxxxxxVostochniy, 1SX-Band
TBD ( №3 (Ocean)unkSoyuz 2-1B/FregatM (x/x)Vostochniy, 1SX-Band