Your browser does not support JavaScript!

Europe from space

Ground Station RTL-SDR with QFH antenna

Back to main page

Admission word

This is not a guide or tutorial on how to receive images from NOAA and Meteor meteorological satellites. This page presents a general idea for the implementation of a fully automatic receiving station with it's own http server. For everything to work without human supervision, many mechanisms have been implemented, the description of which relates to this particular solution. I will not present all script listings because they are built for a non-transferable platform. Everything described here is the answer to the question "How works".
If there are any questions, something needs to be clarified, I can help by mail.

Chapter 1: Antenna

It all starts with the antenna. QFH made of H155 coaxial cable. Very good antenna gain, lightweight construction with sewer pipes and hot glue. Such an antenna is cheap and good.

QFH Antenna

It's good because it's cheap.

Chapter 2: Mast

The next element is the mast. At first, it was 4 meter above the level of the roof gangway.

4 meter antenna mast 4 meter antenna mast

Mast is inside steel pipe, which is attached to chimney by steel profiles.

Chimney mounting Steel pipe

Unfortunately, due to the surrounding buildings and trees, such height turned out to be too small. A three-meter extension was attached to the four-meter mast by attaching it over a meter length.

6 meter antenna mast 6 meter antenna mast

That was enough to see what was going on from Africa to Svalbard. In addition, TV antennas were attached to the mast.

Chapter 3: RTL-SDR and amplifier

To receive NOAA and Meteor-M satellites simultaneously, you need two rtl-sdr and a signal splitter. When the splitter was used the signal got worse. It was not bad enough to not receive anything, but so weak that long flights were not recorded. A VHF / UHF amplifier with a built-in splitter was used. The use of an amplifier significantly improved the reception and allowed to reduce the gain in rtl-sdr.

RTL-SDR ams AWS-1036

Chapter 4: PC

RTL-SDRs are connected to HP 800 G1 USDT computer. Little machine with big posibilities. Intel(R) Core(TM) i5-4590S CPU @ 3.00GHz, 16GB of RAM, mSATA SSD 240GB for operating system and 1TB HDD for images and other stuff. The PC and amplifier are connected to the UPS to ensure uninterrupted operation. The internet connection is made by GPON, so it is resistant to mains power outages. The software makes sure that in the absence of internet send all photos later. This site's http server is located in a different location than the receiving station. The internet connection between the SDR computer and the http server and an additional management computer is shown in the diagram:

http server pc connection via vpn and vnc management

Chapter 5: Software

PC is running under Debian 10. Xwxtoimg is used for NOAA satellites. The website index page is sent via the built-in xwxtoimg mechanism to http server, the modified and adapted template6 is used. Program mlrpt is used for Meteor-M N2 satellite. To decode Meteor-M N2-2 a Windows in virtual machine is used with SDRSharp and LRPT Decoder.

Software 1: Radio start and stop. Scheduler

The next parts will be descriptions of how to implement websites. Each subpage: NOAA, Meteor-M N2 and Meteor-M N2-2 is implemented differently.

A common element is the script that runs daily at 00:10, which sets up jobs for the "at" linux scheduler. Fisrt of all, it's checked how many jobs are set. If none, the process begins. While there are zero jobs, curl downloads new Keplers, and fires scripts for each satellite. On the end there are lines that checked if everything was OK and number of jobs is greater than zero. If so, I received an email with list of passes for that day. The same list as you can see on main page.

part of script to schedule recording NOAA and Meteors

As you can see, this script only fires scripts to really add jobs to "at" scheduler. Script "" use predict software to check when the passen will be. If pass have max elevation over 10° - the pass will be recorded. Time of start radio is 2 minutes before satellite reach horizon, because xwxtoimg starts recording less then 2 minutes before 0° elevation. A 120 seconds is added to total timeout of radio beeing turned on. It is really important that the timer is set correctly, otherwise the radio will turn on too late or turn off at the wrong time. Real work is done in the script that the scheduler calls.

Software 2: for NOAA satellites

See the NOAA page

For NOAA satellites this script fires simple command that starts the radio and play it to device hw:0,0, an alsa-loop:
timeout $time rtl_fm -f x.xM -d 1 -g x.x -p -2 -s 48000 -F 9 -A fast -E deemp - | sox -t raw -e signed -c 1 -b 16 -r 48000 - -t raw - rate 11025 | aplay -r 11025 -f S16_LE -D hw:0,0
on the other side of alsa-loop is hw:0,1, from which xwxtoimg reads data. Radio start shown in the picture:

commands for noaa radio start and stop

Often, several satellites are simultaneously in the sky. The time to get out of the horizon decides which one will be recorded. The next ones have to wait. And it is the "while [` pidof rtl_fm`] "loop that checks whether rtl_fm is working is responsible for the delay of the next recording. It sometimes happens that after recording xwxtoimg closes, so there is a condition to check if xwxtoim works. If not, it is run with the appropriate command.

Received data is processed by xwxtoimg and xwxtoimg prepares index page for NOAA and uploads images over FTP to http server. Xwxtoimg has it's own mechanism to starting and stopping recording, so all you need to upload images to a website is scheduled jobs, and working xwxtoimg on one of Debian's desktops.

Software 3: for Meteor-M N2 satellite

See the Meteor-M N2 page

Because Linux has dedicated software for receiving images from Meteor-M N2, this part is simple and uncomplicated. The only difficulty is changing the name of the final image file to be easily sortable by date.

commands for meteor mlrpt start and stop

Script is used to make index page for meteor and archive meteor subpages. The script reads the local images directory and creates a separate entry for each file in the index file. If there are more than 24 files, each subsequent file is placed in the archive index file. With each call, the script writes the first, newest, 24 photos to the index file for meteor-m2 and each subsequent, older, writes to the index archive file. Than index files are sent to the http server.

Software 4: for Meteor-M N2-2 satellite

See the Meteor-M N2-2 page

This satellite is decoded in virtual machine with Windows 10. SDRSharp with the "Meteor Demodulator" plugin and LRPT Analizer software is responsible for receiving and decoding the signal. It is controlled by Orbitron. The configuration does not differ from other configurations, the description of which can be found on the network. SDRSharp is feeded by RTL-SDR via rtl_tcp. It's hard to automatically connect and disconnect USB device to and from virtual machine. Simplest way is to have RTL-SDR connected to host machine and send baseband via tcp to virtual machine. So linux script looks like this:

commands for meteor rtl_tcp start and stop
When the LRPT Analizer finishes its operation and saves the resulting image, a Windows script enters, which task is to change the file name, rotate the image by 180° if the flight was from south to north (i.e. after 11:00 am), launch LrptImageProcessor.exe to correct image geometry and send the processed image to a shared directory on the Debian host machine. One short script, but many jobs to do.

Windows Meteor-M N2-2 script

On Debian, incrontab watches over the shared directory and runs a script to build an index file for the website when the image is in the observed directory. This linux script also uploads images to http server.


It was a general description of the automatic receiving station with auto upload images to website. If there are any questions, please email me. If you have any suggestions or ideas on how to improve the website, write me too!

Back to main page

Questions, suggestions? Write me: or visit Privacy Policy
Europe from space 302 visits