The Distributed Ground Station Network

tracking CubeSats faster, anywhere and anytime for everybody!

Similar projects worth following
The Distributed Ground Station Network (DGSN) is a novel network concept of small ground-stations and connected via the internet for performing automatic scans for cubesats and other beacon signals. By correlating the received signal with the precise, GNSS synchronized reception times of at least 5 ground stations, it enables the positioning of the signal's origin. Thus a global tracking of small satellites becomes possible in this "reverse GPS" mode. It allows mission operators to position and track their small satellites faster after piggy-back commissioning, when the final orbit is yet undefined and could differ from the specified orbit. Furthermore it allows permanent communication in "data-dump" mode. In this mode, DGSN ground-stations relay the received data to the servers and thus to the operator.
Let's track everything, together!
PS: We're currently ground testing the prototype in Stuttgart "tracking" the TV-Tower

May we give you a quick overview?

Anything goes!

The "Anything Goes" hackaday prize challenge has a fitting slogan. It matches our effort to build a Distributed Ground Station Network for tracking satellites and especially tiny CubeSats. Providing CubeSat operators with information where their CubeSats are is really important, because in right after launch, they sometimes need to wait and "scan" for their CubeSats' signals. In this crucial phase, the satellite is on their own and can be to hot or too cold or running out of battery power. This happened before and resulted in loss of CubeSats making them literally space debris.

To support those missions, we sarted DGSN several years ago and constantly worked on the concept and first prototypes. We are now at a stage, where hardware needs to be built and deployed for first field tests. We now know, that DGSN will work. We still need to know, how good it will work under real conditions. Thus "Anythings goes" is a nice statement, but we want to know how good DGSN will "go". Let's find out and build it!

Update: Graph above
During the International Astronautical Congress 2016 (IAC) the PocketQube team by TU Delft showed a nice graph how long it usually takes for NORAD to release the Two-Line Elements (orbit data) of different small satellites with respect to their radar cross section. The essence is that it takes longer when they are smaller. It can be up to 14 days and that could already be too crucial for some missions. So it was great for us to have been presented the current status of DGSN at IAC to be in close contact with small sat operators. We will look forward to help and assist them during their various missions! (for the full IAC2016 paper, click here)

Citizen Science supports Space Operations!

Space for everyone! You can help space operations within a collaborative team. Telling where the satelite signal came from is only possible when 5 or more people's ground stations received it. So here is where the citizen science comes into play in several ways.:

The basic principle of tracking can only be achieved in a global team of "sat spotters". The more people setting up ground stations there are, the more often, the more precise and the longer the cube sat can be tracked. Community satelite spotting will provide additiona data to the space operator.

The product of it will be stored in an open data base and provided to the satelite operator as well as the community. We believe, that the community can use the data in creative ways and find results in the measurement data beyond the intended goal of tracking cubesats. We forsee that the community will use it for locating thunderstrikes, correlating the atmospheric conditions and and air mixtures by measuring the dampening of the signal on its way from the satellite to the ground station, using the GRAVES radar station in France for passive radar or something yet out of our imagination. People will do whatever they can and what is fun! We support this with DGSN.

We are starting it small, with only 5 of our own ground station and tracking everything that's flying ober Stuttgart. This is our challenge to show you how to do it. You can already be part building it. For the next stations, the community will take over and make it awesome!

Summarizing: YOU are important, because the more people are setting up nodes, the better we can track signals! See, the TW-tower tries to hide, but we all will find it! Be a node!

[Fig: first test with 8 stations]


Of course DGSN can do more than just track satellites and help small sat operators to find their sats earlier. With Software Defined Radio it is easy to track other signals. So tracking airplanes and provide thier tracks and ADSB signals (DGSN can track it and ADSB has the track in it anyway, so it is a redudancy check) to everyone. And also small a neighborhood help" can be done. We now have Freifunk (a free wifi-internet connaction initiative) attached to our Antenna Forrest, as...

Read more »

  • 1 × rtl-sdr dongle (modified)
  • 1 × antennas (currently for 2m and 70cm)
  • 1 × GPS device
  • 1 × PC or Micro-PC (Raspberry PI)

  • How to calibrate your SDR aka what’s my frequency?

    hornig01/04/2021 at 12:42 0 comments

    How to calibrate your SDR aka what’s my frequency?

    Note: Merry Christmas 2020, everyone! This is a mini how-to that will evolve during the holiday season. Have fun, come back, leave me a comment or tweet.

    The calibrated SDRs…


    If you have an RTLSDR dongle with a frequency drift (they all have! and that is not usefull), then...

    • have DAB+ digital radio services on air in your area (EU, Australia, a few more places)
    • get this tool
    • determine your frequency offset in PPM with it.
    • put this ppm number in your SDR software to correct the frequency offset
    • have the frequencies where they should belong!

    What is my SDR’s frequency?

    For a current experiment I am doing with the NOAA satellites, I need precise knowledge of the received center frequency of their APT transmission mode (that one mode, that gives you weather maps for free, yeah!) at my SDR receiver. All of my SDRs oscillators drift and so does do their converters and thus the tuned frequency. Some more (RTL-SDR Black and Blue) and some less (RTLSDR Blog, LIMESDR MINI). This is usually stated as PPM (parts per million) as how precise the oscillator will clock the ADC that is sampling the antenna input. To just give you examples of how much this can matter with 10 PPM:

    NOAA satellite (~137,5 MHz): 10 / 1000000 * 137500000 Hz = 1.375 KHz
    Your WIFI (~2 GHz): 10 / 1000000 * 2000000000 Hz = 20.000 KHz

    So it can be way off-tuned for some purposes and calibration of your SDR receiver can be required.

    What to use to calibrate?

    There are quite a few ways to calibrate your SDR. Most of them resolve around measuring a signal on a frequency that you precisely know. So you compare the signal on the received frequency with the actually transmitted frequency and with his offset you can correct your SDR. That’s it.

    For my NOAA experiment, I initially used Kalibrate-RTL by Steve Markgraf. That uses cellphone tower frequencies (GSM) to calibrate. That programme really works well. You can get it here (Linux:, Windows: from The only two things I missed were these. I wanted to have this as a native Python code to use it with my other Python stuff. Okay, minor thing. And then unluckily, one of my ground stations is so remote in the beautiful Lower-Saxony region that there is hardly andy GSM coverage that Kalibrate-RTL simply did not work. So that is big hurdle.

    So I needed to get another source for my calibration that all of our ground stations could use and I understand well enough.

    The power of DAB+Step!

    If you live in Europe (like me) or a few other places, you could find DAB+ that you could use (check the map on wikipedia). DAB+ is Digital Audio Broadcasting and will hopefully some day really really really replace classical UHF radio (before everything will be migrating to the internet…). DAB towers are quite powerful and transmit several 10 kilometers. The net of dab towers is dense enough here in Germany. So both is a good start to consider taking it. But the main point is that even though I don’t understand the transmission details at all (after spending long 10 minutes looking into the European Standard: Radio Broadcasting Systems; Digital Audio Broadcasting (DAB) to mobile, portable and fixed receivers [ETSI EN 300 401 V2.1.1 (2017-01)]), there is ONE aspect I understand on a basic level and that I am going to use for my very own calibration tool: The synchronization channel symbols that comprise the null symbol and the phase reference symbol

    Figure 1: the phase reference (orange) is the „needle“ we use later for finding it in the signal (haystack). The null symbol is the segment with the lower amplitude.

    The null symbol and the phase reference symbol are at each data-blocks start. They are transmitted every 96ms and the samplerate...

    Read more »

  • Call for Google Summer of Code 2019

    hornig04/04/2019 at 17:52 1 comment

    Dear Hackaday Friend,

    Do you want to code open-source space with us during Google Summer of Code 2019?
    Be our Summer Student and code your open-source space projects. You get stipends of up to $6600. The Call for GSOC 2019 is now open!

    Together, we as, Ksat-Stuttgart (University of Stuttgart) and EP2Lab (Carlos III University of Madrid) are proud to be selected as official mentoring organizations for the Summer of Code 2019 (GSOC) program run by Google.
    And we are now looking for students to spend their summers coding on great open-source space software, getting paid by Google, releasing scientific papers about their projects and supporting the open-source space community by useful programmes.
    Are you a student? You have time until April 9, 2019, to apply for various coding ideas to work on, or you can bring your own!

    Google Summer of Code (GSoC) is a global program that matches students up with open source, free software and technology-related organizations to write code and get paid to do it! The organizations provide mentors who act as guides through the entire process, from learning about the community to contributing code. The idea is to get students involved in and familiar with the open source community and help them to put their summer break to good use.
    Accepted students gain exposure to real-world open-source software development and employment opportunities in areas related to their academic pursuits. This program has brought together thousands of students and mentors from over 118 countries worldwide. As of December 2018, 651 open source projects, from areas as diverse as operating systems and community services, have participated as mentoring organizations for the program. Successful students have widely reported that their participation in GSoC made them more attractive to potential employers and that the program has helped greatly when embarking on their technical careers.

    More information and registration here:

    Contact and chat with us:

  • You have exactly one week left (27.March) to apply for #GSOC2018 & code other open-source #space software w/ us and @KSat_Stuttgart!

    hornig03/21/2018 at 18:39 1 comment

    In 2014, a student like you from coded this 

    for during Summer of Code. You have exactly one week left (27.March) to apply for & code other open-source software w/ us and

    More infos here ...

  • Call for Google Summer of Code 2018! Student stipends of up to 6600 USD for open-source space coding (please forward)

    hornig02/25/2018 at 14:25 0 comments

    Again for the 4th time,[0] is proud to be selected as an official mentoring organization for the Summer of Code 2018 (GSOC) program run by Google[1]. And we are now looking for students to spend their summers coding on great open-source space software, getting paid up to 6600 USD by Google, releasing scientific papers about their projects and supporting the open-source space community.

    Until 27. March 2018, students can apply for an hands on experience with applied space programs. As an umbrella organisation, and KSat-Stuttgart e.V. are offering you various coding ideas[2] to work on:

    • The Distributed Ground Station Network - global tracking and communication with small-satellites[2][4]
    • KSat-Stuttgart - the small satellite society at the Institute of Space Systems / University of Stuttgart[2]
    • or your very own proposal![2]

    If you are a student, take your giant leap into the space community, realizing your very own space software, and the chance to be recognized by Google headhunters. If you are professor, feel free to propose this great opportunity to your students or even have your projects being coded and realized!

    During the last years, we mentored more than 21 students during Summer of Code campaigns[6] and now, we achieved several great things together. We have released several papers. We spent computing power worth 60,000 PCs to those students projects, even helping their bachelor theses, and indirectly supporting the IMEX program[5] by the European Space Agency(ESA). And as a surprise and an honor for us, we had been on plenary stage with Canadian astronaut Chris Hadfield to promote those projects during the International Astronautical Congress 2014 in Toronto.

    We want to repeat that success, and now it's your turn to be active in open-source space!

    Apply today, find all projects on the GSOC webpage![1] We are waiting for you,

    Andreas Hornig, Head of Platform

    [0] [1] [2] [3] [4] [5] [6]

    Feel free to forward this email to whomever you think it may concern!

    ### More Information ###

    # About Google Summer of Code (GSOC)[1]: Google Summer of Code is a global program focused on introducing students to open source software development. Students work on a 3 month programming project with an open source organization during their break from university.

    Read more »

  • If you are on the International Astronautical Congress 2017 in Adelaide, meet us

    hornig09/14/2017 at 20:25 0 comments

    I always wanted to impact a into something :). Proof of concept for .

    After the IAC2017, we will upload the paper for you to read it also...

    More to come later.

  • How to decode Bell202 modem signal? APRS signals from the ISS at 4 stations

    hornig08/15/2017 at 17:24 0 comments

    Now, 4 DGSN stations receiving APRS from orbit by the ! Stations are now in Settrup (a lovely small village in Lower Saxony!), in Stuttgart, near Lake Constance and in Jena. Where should we put one next? If you have a suggestion, please tell me here >>

    My task is now that I still want to know the content of APRS the sent here! Would anyone please help me decode? :) I uploaded a Python Numpy NPY file here. It incuded the Signal Peak you see in the graph above from those 4 stations

    What I know is that APRS uses Bell202 coding with two frequencies of 1200 Hz and of 2200 Hz. Each represent either a 1 or 0. I just started to play with an FFT Kernel of 8K samples and I already found phases of those frequencies but so far I couldn't find the starting flag of the AX.25 frae 01111110.

    As far as I know, Bell202 was also used in old internet modems. So I guess that there are people on Hackaday who play around with old modems and solve those problems while sleeping. If so, please comment below.

    Until then, I will keep on playing with the 4 stations and trying to decode APRS signals.... :)

  • DGSN timing-board goes earth quakes: Tunnel-God-Detector for NASA Space Apps Challenge 2017

    hornig05/07/2017 at 11:06 0 comments

    Last weekend, I (Andreas) was part of the NASA Space Apps Challange 2017. It is the biggest global hackathon with more than 180 locations and more than 20,000 participants.

    The theme was "Earth Observation" and the participants worked to combine space data from NASA with their very own solution to create something incredible helping solve global problems. I was part of the Team "Tunnel God Detector" to detect and locate tremors to support emergency respond teams and thus saving people in danger.

    Why I write this is easy: I provided the time synchronization method of my Distributed Ground Station Network and we improved it for the Tunnel-God-Sensors a lot by just discussing it in crazy ways that are just possible during hackathons like these.

    I had so much fun and met awesome people! I want to say thank you to all of you. And I want to invite everyone to keep on working on the project even after SpaceApps. For that, it is on hackaday now >>

  • Space … the final frontier … for our spaceballoon

    hornig03/22/2017 at 16:47 0 comments

    Have you ever dreamt of going to space?! At least as a child you did.

    Unfortunately we didn’t quite make it to space ~100km quite yet – but at >22km we (our balloon that is) have been higher than at least 99.99% of you out there. Commercial airplanes fly at 8.5km to 10.7km to give you something graspable to compare it to.

    Ever since we saw the first footage of a camera attached to a weather balloon we became fascinated by the idea to take our own images. The visible curvature of our small sphere (speak: earth) floating through space captured was ever so inspiring. You don’t even need to spend a lot of money doing so.

    The project dubbed “spaceballoon” was accomplished by the team (andreashornig, exco, makefu) collaborating at our local hackerspace – the shack. On Saturday, 4.3.2017 we successfully launched it from the nearby Grillplatz Rotenberg on top of the Württemberg mountain.

    The launch was exciting – even more so because we had more than 10 people waiting for us on the hill we chose for takeoff.

    Here is a visualization attempt of the logged data: >>

    Nadka made an awesome video with the onboard footage and with some material that was taken by someone at the launch site.

    This is the flight path from one of the onboard android phones:

    The „hunt“ for the balloon was thrilling as we lost contact with our transmitter multiple times.
    Through interpolation and some luck picking up the signal again we were able to pickup the payload – even though the commercial tracker and the android phone didn’t tell us their location – or anything for that matter.

    We are also really happy that the last minute efforts of team Bremen bore fruits.

    As people are already telling us they also have plans (for a long time) to start a weather balloon of their own – here you can show your hands if you want to be the / a part of the next balloon project. You find a lot of needful things on our Github Repository.

    A big and unorganized spaceballoon photo album can be found here.

    Special thanks to Andreas ( for taking the initiative thus causing the project to finally happen and to exco ( for sourcing the necessary parts and hacking together the whole thing into the final product.
    For the lessons learned we wrote you the weather balloon guide.

    Reminder: writing it down makes it science – so document your projects.

    Find more on our twitter account for the spaceballoon.

  • Weltenraum is go! Shackspace plenum approves new radio/medialab room

    hornig10/20/2016 at 23:14 0 comments

    Finally, Stuttgart hackerspace shackspace will get a new room, den Weltenraum. It is a German play on words for "Worlds and Room" and also an old fashioned word for "Space". It fits perfectly because it is a room shared by different interest groups in shack that are interested in media (editing, videos, podcasting, music) as well as the ham radio operators and sdr fans. And the latter means us, the satellite space guys. Today was our weekly plenum and we finally have the go-ahead to put our ground station radio equipment there and connect the AntennaForest to the Weltenraum.

    The slides you can hardly see on the above photo are on GitHub.

    So we have a base of operations for all things radio now. The net weeks we will realize all the moebles you see on the image below and the network infrastructure to the AntennenWald. With this, we can connect our DGSN ground station antennas and also the FreiFunk-Stuttgart hardware. It will take some hard work setting everything up, but we put our crowdfunded money (and also a big chunk of our hackaday prize 2016 money) to very good use.

    Our plan is to have a comfortable "hacking" environment until december and then we don't need to sit on the rooftop net to the antennas, we will do that from Weltenraum and with company of other creative people around us. This fruitful cohacking will be of benefit for everybody. And this project will attract more people and grow. If you are around, we will give you a tour!

  • This is why we do it! Helping operators, helping missions, helping everyone!

    hornig10/09/2016 at 23:16 0 comments

    I (Andreas) had been the chance to attend the International Astronautical Congress 2016 (IAC) In Guadalajara, Mexico this September. It is the biggest space congress on Earth and I teased about it in the previous logs already. I am back home now and here is the promised longer version.

    Actually I attended two space congresses. I had been on the waiting list for the Space Generation Congress 2016 and was lucky enough to received a last minute slot. It is a youth congress in conjunction with the IAC to have "a voice from the youth perspective" in the space community that is meeting during the year and mainly during IAC. More then 150 people from mor than 60 countries gathered and discussed various topics in working groups. The result of these working group are presented as recommendations during the United Nations meeting of COPOUS (United Nations Committee on the Peaceful Uses of Outer Space). So what everyone is doing there is pretty amazing and I try to take part every year since I stumbled across thme by accident in 2011. So it was great to work with other space enthusiasts in our Telecommunications Working Group about how to make it easier for small sat operators to allocate needed frequencies from the ITU. I don't want to spoil too many details already while the reports of our and the other working groups are currently written. So I recommendto you to check their webpage in 1-2 months because they will openly publish it. But summarizing we had a consensus that the speed of development for a current cubesat is way shorter than than the typical frequency allocation process and all parties should be aware of this right from the begining.

    Of course I met old friends of mine and found new friends. This is why I like space. Everyone is working together for the betterment of everyone in one way.

    And then after SGC2016, the IAC2016 started. Guadalajara and Mexio as the host city and country did a marvelous job! It was a realy pleasure being there. I will directly jump to my personal highlight of the IAC, Elon Musk's plenary talk about his/SpaceX's Mars Mission. I won't go into details, because I linked to the full video here and you can see why I was so impressed. I really hope that he achieves everything he proposed there. Unfortunately I needed to leave his talk early because my own technical session and my paper presentation started right after his talk. I presented the current status of DGSN and what implications a highly distributed, internet connect grid can have. I don't really like the word Internet of Things, but I needed to give the talk a title and you can already find my slides (linked in github) in the previous log. I got great and honest feedback from Mr. Mattas (ITU) about why using Open-Source and also from other cubesat operators. This is why we decided to go for the Small Sat Operations technical session, because DGSN can have an impact with small sat operations. And we also learned, that we transmit with DGSN or any other ground station network on behalf of other missions is complicated and ITU emphasized to respect the rules. For us/DGSN it is okay, because in the current phase, we don't hink about doing that (yet).

    Related, the PocketQube team by TU Delft showed a nice graph how long it usually takes for NORAD to release the Two-Line Elements (orbit data) of different small satellites with respect to their radar cross section. The essence is that it takes longer when they are smaller. It can be up to 14 days and that could already be too crucial for some missions. So it was great for us to have been presented the current status of DGSN at IAC to be in close contact with small sat operators. We will look forward to help and assist them during their various missions! (for the full IAC2016 paper, click here).

    All in all we know, why we're working on DGSN, because we can help others and all benefit!

    This log will be updated....

View all 22 project logs

Enjoy this project?



sm3ulc wrote 09/27/2016 at 14:09 point

Why not start with basic recording of the raw IQ signals for sharing? Demanding special built receivers reduces number of possible participants by 99.99%. SatNOGS have been around for a while but haven't even reached that basic thing.

  Are you sure? yes | no

hornig wrote 09/27/2016 at 16:39 point

Ahoi, so is ThumbNet, FunCube, GENSO (not really), KIWISDR, you name it. We're not building an own receiver. RTLSDR serves pretty well right now and it's pretty affordable.

The part of IQ data sharing you need to explain to me, because I could think of so many things now. So instead of guessing, I ask back :).

  Are you sure? yes | no

Polard Jean Marie wrote 09/10/2016 at 13:56 point

Why do you listen Graves in NFM ? I use USB, set my rig at 143.049 anf have nice pings and doppler curves. I try to use also VOR to get pings but this is more difficult. Anyway a nice project . I follow you !

  Are you sure? yes | no

hornig wrote 09/25/2016 at 22:16 point

Hi Polard,

thanks for the nice words. I just needed to find out "better" settings for my own programme. I wasn't aware that the signal has such a small bandwidth, My fft windows was just 2^13 bits long and in the resulting fft I couldn't even see anything happen on that frequency. That I why I checked with sdr# and finally found it :).

This is what I wanted to share with you. It was waaayy to easy for me, so I didn't think of it as the first reason.

  Are you sure? yes | no

xof wrote 06/26/2016 at 06:17 point

Have a look at too.  They have a network of >500 stations worldwide, synchronized to the micro-second by GPS.  They localize lightning strikes using the time of arrival of VLF signals.  There is an extensive 'Projektbeschreibung' in (System Red)

  Are you sure? yes | no

hornig wrote 10/13/2016 at 18:17 point

Hi xof, yes, I have one of their kits. As far as I know they use a combination of direction (with their two segments antenna) and gps time correlation. The cool thing is that they can tune to lower frequencies then the rtlsdr can (below 30MHz) where the effects of the wideband pulse produced by the lightning is better detectable.
However "knacks" can be also heared on amateur radio bands when between you and the transmitter are lightnings. I didn't find a good "pattern" how such a rf signature looks like.

If you have such a signature, please tell me. That would be awesome to include :).

  Are you sure? yes | no

Nikos Roussos wrote 05/06/2016 at 10:36 point

You should definitely checkout SatNOGS. We won the Hackaday prize 2 years ago. It would be great to expand the scope of the ground stations to include "reverse GPS" functionality.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates