Does this project spark your interest?

Become a member to follow this project and don't miss any updates


SatNOGS - Global Network of Ground Stations

SatNOGS is an open source ground station and network, optimized for modularity, built using affordable tools and resources.

Similar projects worth following
SatNOGS project is a complete platform of an Open Source Networked Ground Station. The scope of the project is to create a full stack of open technologies based on open standards , and the construction of a full ground station as a showcase of the stack.
SatNOGS provides the basis for:

Bulk manufacturing and deployment of affordable Satellite Ground Stations
Modular design for integration with existing and future technologies
A platform for a variety of instrumentation around Satellite Ground Station operations
A firm platform for a Ground Station collaborative network (one to one, one to many, many to many)
A community based approach on Ground Station development
A solution for massive automation of operator-less Ground Stations based on open standards

Check out our documentation on the website for detailed info.

SatNOGS is a modular and scalable stack for Satellite Ground Station implementation. Fully based on open source technologies and open standards, it provides interoperability with existing or future subsystems.

A Global Management Network is the key part of our stack, connecting multiple observers with multiple ground stations enabling tracking and monitoring of satellites from multiple locations around the world. The data gathered will be publicly accessible through the network website.

SatNOGS project is implementing the above general stack design using 4 different sub-projects.

SatNOGS Network - Our observations, scheduling and discovery server

SatNOGS DB - Our crowd-sourced suggestions transponder info website

SatNOGS Client - An embedded system that receives the scheduled operation from Network, records an observation and sends it back

SatNOGS Ground Station - The actual ground station instrumentation with tracker, antennas, LNAs and connected to Client.

You can choose the configuration you want, re-using existing hardware:

The following System Design visualization depicts all subsystems of a reference implementation of a SatNOGS Ground Station.

A rendering of the finalized ground station (with front cover open) can be seen here:

  • 2 × Stepper Motor NEMA 14 or NEMA 17
  • 2 × 3D printed Gear Assembly Check our repo for designs
  • 1 × Arduino Micro For Alt/Az commands translation and commanding the stepper drivers
  • 1 × TP-Link wr703n For WiFi connectivity and routing
  • 2 × Signal Receiver DVB-T receiver based on RTL2832U
  • 2 × Yagi antenna For 2m and 70cm bands. Check repo for designs
  • 2 × A4988 Stepper Driver Pololu compatible
  • 1 × Odroid U3 For management interface, jobs queue, decoding and receiving
  • 1 × Full list of components can be found in individual BOMs in our repos

  • SatNOGS DB, the open satellite transmitter database opens for contributions

    elkos07/23/2015 at 00:55 0 comments

    Early on, while developing SatNOGS, the SatNOGS team encountered the lack of a central and editable database for active satellite transmitters. Such information would be vital not only for SatNOGS operations but also for amateur radio operators interested in satellite telecommunications.

    Over the past many years, lots of radio amateurs undertook the challenge by creating personal pages that would keep track of transmitter data, and although there are really fine examples of such efforts (props to PE0SAT, JE9PEL, OZ9AEC, AMSAT-UK and others) those are unfortunately not scalable approaches, that could easily become deprecated and are not easily exported for further usage.

    Our solution was to create SatNOGS DB an open satellite transmitter database, that allows everyone to suggest transmitter information of active satellites and collaborate in keeping the database up-to date. SatNOGS DB information is freely and openly (CC-BY-SA) accessible via an API and a web application, to facilitate the needs of satellite radio operators across the globe.


    Technically our current implementation is based on the Django Python framework. The code can be found here and we are looking for code contributors as always! Do you have any suggestions on how we can make SatNOGS DB better? File away issues here, so we can make DB better for everyone.

    If you are a satellite operator, or an amateur radio enthusiast and would like to make suggestions on populating SatNOGS DB don’t hesitate to check out our FAQ on how to do so.

    satnogs db

    The more transmitter information we have, the easier it is to communicate with many more satellites. So get those contributions started, and together let’s create the holistic, open and crowd-sourced satellite transmitter database once and for all!

    (cross posted in the SatNOGS blog)

  • Introducing the Summer Of Code In Space 2015 student working on SatNOGS

    elkos06/03/2015 at 01:52 0 comments

    42_digital_logo_dark_blue_sign_AAs posted a few months ago SatNOGS is participating as a mentor organization in European Space Agency's Summer Of Code In Space 2015, during the call for proposals we received numerous interesting proposals to work on SatNOGS during summer as part of the Summer Of Code In Space initiative, from these proposals and with the consultation of the ESA SOCIS managers we choose Emilio Martínez's proposal working on "a pre-amplifier with an integrated antenna polarization switch for cross YAGI-UDA UHF band antenna, and a U/V diplexer module for the SatNOGS ground station". Emilio provided a highly detailed proposal for his work in SatNOGS and we are really excited to work with him during summer and beyond to the development of SatNOGS.

    EmilioEmilio Martínez is a Spanish Telecommunication Engineering (MSc) student at
    University of Granada. He defines himself as an enthusiast of space-related technology and he would like to focus his professional career on the space industry when he finishes his studies.

    He is enrolled in an aerospace developing group at University of Granada called GranaSAT. This group isformed by students and professors with the goal of designing and developing a Cubesat mission. Currently, Emilio is developing his master's thesis about the Communications System of the Granasat Cubesat and the satellite-earth link: designing the Cubesat communication hardware, defining the link budget and improving their ground station capabilities in order to reach a reliable communication.

    The SatNOGS team is looking forward for the expertise and know-how Emilio brings to our project.

    We welcome all contributors that would like to be involved in the SatNOGS project and we would like to encourage all parties interested in satellite communications to join our community of developers.

  • SatNOGS rotator tracking a high attitude balloon

    elkos05/13/2015 at 02:07 0 comments

    Since the conception of the SatNOGS one of our design mantras was modularity, not only we believe that the SatNOGS stack should be able use a wide variety of components but also that components should be able to used in a wide variety of applications.

    This Sunday May 1oth 2015 the SatNOGS team had the chance to test how versatile our SatNOGS rotator and control software was by tracking the Aeolus-2way High Attitude Balloon.

    Tracking was made possible by receiving APRS data from the Aeolus-2way High Attitude Balloon and converting them using a specialized script as azimuth and elevation coordinates.

    The Aeolus-2way is a high attitude balloon build by an awesome team of radio amateur high attitude balloon enthusiasts from Greece, and the help of several groups and organizations.

    IMG_0078Aeolus team preparing the Aeolus-2way payload

    The balloon launched from the center of the Peloponisos peninsula of Greece in the city of Megalopolis at Plaka airstrip at around 11:10.

    IMG_0107Aeolus-2 way launch

    The SatNOGS team was positioned 35 km (~21.7 miles) West – NorthWest of the launch site on the Antenna park near the Ano Dolianna village of Mt Parnon. An inverter was used to power two laptops sever ham radio transceivers and our SatNOGS rotator and provide sufficient power for the team's needs

    IMG_0115SatNOGS rotator tracking Aeolus-2way IMG_0114SatNOGS running on power provided by automotive inverter

    The balloon began it's descent at 34.660 meters and it's payload was successfully retrieved.

    We would like to congratulate and thank all parties involved in this high attitude balloon launch for the great team work and cooperation and especially the Aeolus team for their commitment.

    copied from the original post in SatNOGS website.

  • SatNOGS selected to participate in European Space Agency’s 2015 Summer of Code In Space

    Pierros Papadeas03/10/2015 at 16:59 0 comments

    SatNOGS is proud to participate in ESA's Summer Of Code In Space 2015 as a mentoring organization.

    ESA's Summer Of Code In Space (also known as SOCIS) is an open source development program specifically for students run by the European Space Agency Under this program. ESA funds students to write space-related code for open source projects during the northern hemisphere's summer.

    If you are eligible to participate in SOCIS and interested in contributing code to the SatNOGS project, you may start by visiting our SOCIS project ideas page witch contains a list of suggested projects. Students are welcome to provide their own ideas for projects in collaboration with the SatNOGS developer community. The major communication and coordination systems of the SatNOGS project are its community forum and its github repositories.

    We encourage every party interested to visit the SOCIS website, and follow read the list of frequently asked questions.

  • SatNOGS in FOSDEM 2015 lightning talk video

    Pierros Papadeas03/10/2015 at 16:59 0 comments

    As promised in a previous post about our project in FOSDEM 2o15, videos from presentations and talks during FOSDEM 2015 are now available and we are happy to share the video of our lightning talk.

    So, if you are interested for an introduction of the SatNOGS project don't hesitate to check out the video from our lightning talk in FOSDEM 2015.

  • New lab equipment

    Pierros Papadeas03/10/2015 at 16:57 0 comments

    Having access to an awesome 3D printer is certainly crucial for the SatNOGS project but the SatNOGS hardware is much more than 3D printed parts. To push the development of the ground station forward the core development team decided to acquire an oscilloscope, a programmable power supply and a Vector Network Analyzer

    Following our ideal of sharing resources with the community, sharing it with the local hackerspace, we decided to install our instruments to it's lab and share them with anyone interested.


    In the future we plan to include to our instruments among other things a frequency generator and a signal analyzer.

    We consider having access to a complete electromechanical lab/workspace is crucial not only for SatNOGS but for any community driven open hardware initiative.

  • SatNOGS #1 in Athens, Greece

    Pierros Papadeas01/05/2015 at 15:47 0 comments

    10 days ago we deployed a SatNOGS v2 on top of in Athens, Greece. This is the first SatNOGS deployed on the field and we couldn't help but thinking that this is a huge milestone and brings great pride to the team!

    (obviously the front cap is closed at the finished deployment)

    The deployment was pretty straightforward, with one UHF helical antenna (our VHF is still up for matching) and no SatNOGS client controlling it (still under development for connection to Network). We simply controlled it with gPredict and Gqrx. POE for powering it up and minimal weather shielding (just some silicone on and around the bolts of the box)

    We were able to track and record many different satellite passes and we encountered some software issues with our arduino homing code (see for details) which we hotfixed.

    Congratulations to the whole SatNOGS team for the first deployment!

  • Observation Scheduler on Network

    Pierros Papadeas10/27/2014 at 21:57 0 comments

    After a nice code push, scheduling observation functionality is now complete in SatNOGS Network website. The website is now able to dynamically calculate and schedule observation windows given a satellite for all available Ground Stations. The functionality works like this:

    The observer enters the New Observation page. After selecting a Satellite and associated Transponder desired, the observer selects the timeframe for the observation. The timeframe selection is constrained in the future with maximum width being 8 hours (this could change as we scale the Network). After hitting 'Calculate Observation' the system returns a proposed Timeline of the observation, that includes the Ground Stations to be used and their individual observational windows. For this calculation we use PyEphem library and input the Ground Station locations, Satellite TLE, and timeframe desired.

    Once the proposed timeline is reviewed and/or modified the observer can schedule the observation by hitting 'Schedule Observation'. This creates the Observation in our database as planned, together with its associated individual observations for the Stations.

    The Stations, through the Client, query the Network API frequently for scheduled individual observations.They then execute them on time, and push back the recorded data to Network, for further analysis by the Observers (making them also publicly available!)

    Optimization of the Scheduling functionality will be further pursued. Ideas like deduplication of overlapping (more than 50%) individual observations, and accounting for horizon constrains are already in the works, and will be evaluated (in terms of their efficiency) as the Network scales up.

    Check our code here and a live dev website here.
    (requires registration for testing the New Observation functionality. Feel free to abuse!)

    You can check a sceencast of the workflow in SatNOGS Network below:

  • SatNOGS now equipped with Diplexer

    Pierros Papadeas10/27/2014 at 00:16 3 comments

    We've been thinking for some time that there is no need to install two separate RTL-SDR dongles to cover both VHF and UHF. It increases power consumption on WR703N without actually having any benefit, as using two dongles simultaneously is limited by the CPU power and network bandwidth.

    A diplexer would allow the connection of a single dongle on both antennas. After studying the theory behind filters, we decided to implement a pair of Chebyshev filters. This type of filter has very steep roll-off and the maximum ripple can be a design parameter.

    The two filters, a high-pass to attenuate the VHF band and a low-pass to attenuate the UHF band, should be crossing at exactly 288MHz@-3dB. Attenuation on each band should be at least 50dB. We calculated that a 9-pole Chabyshev filter would match these requirements and started designing a prototype on Qucs. Qucs is an open source circuit simulator which helped us verify that our calculations are correct.


    The LPF has a maximum insertion loss of 0.4dB in VHF. The attenuation in UHF is more that 60dB. Some ripple can be observed on the chart, but it should not affect reception of narrow band signals.


    The HPF has a maximum insertion loss of 0.2 dB in UHF. The attenuation in VHF is more that 80dB.

    Special care has been taken to ensure minimal cross-talk between the two filters. The bottom layer of the PCB is a complete ground plane and two copper shieldings have been solder on top of each filter.

    Please note, that this diplexer can be used only for receiving. For transmission, a higher grade of components (high voltage caps, high current inductors) should be used.

    All source files can be found in our github repo here.

    More pics from the diplexer can be found here.

  • API on SatNOGS Network

    Pierros Papadeas10/25/2014 at 21:22 0 comments

    The SatNOGS Network website has had the focus in terms of development from our software team in the past week. While the major functionality (observation calculation and scheduling) is coming along nicely (thanks to libraries like python-ephem) we are also delivering other needed functionality. This time it was a public, well documented, open API.

    Based on Django REST Framework, we deployed an API that matches our current DB model and enables other applications or services to query SatNOGS Network for information about Ground Stations, Observations, Data, Transponders or even Satellites.

    You can check the code in our repo , or play around with it in our dev instance.

    For now authenticated users of the website are the only ones with POST (write) access, anyone else can view only (GET). We are planning API-key based access so that Stations can submit recorded Data once they are done with their scheduled part of the observation.

View all 25 project logs

View all instructions

Enjoy this project?



redaramadan123123 wrote 04/18/2016 at 11:16 point

The Video is linked (actually we made a second one too) and we will be
publishing the rest of the logs by 20th of Aug. Also links to code repos
are on the side.

  Are you sure? yes | no

Merkourios Katsimpris wrote 04/12/2016 at 07:15 point

Awesome project!!

  Are you sure? yes | no

ve7cer wrote 02/03/2015 at 02:16 point

Very nice antenna system,,am a HAM and have worked all the Russian Ham Sats when they were up,,2 meter up 10 meter down,,had a bay of 4 x 10 element 2 meter antennas trying to get in moments before and after the foot print was gone,,lots of work tracking,,LOL

Charlie ve7cer

  Are you sure? yes | no

ninerDelta wrote 12/31/2014 at 00:32 point

Has anybody in this community built a SatNOG system?

  Are you sure? yes | no

Adam Fabio wrote 02/13/2015 at 04:33 point

Not yet that I know of, but you can bet that there are a few in progress - I'll be building one of my soon !

  Are you sure? yes | no

Tyler Anderson wrote 11/13/2014 at 21:54 point
Awesome job and congratulations! Now are you going to try tracking satellites from sub-orbit?

  Are you sure? yes | no

Kojote wrote 11/13/2014 at 21:24 point
Congratulations, well earned - rock on!

  Are you sure? yes | no

nGoline wrote 11/13/2014 at 21:21 point

  Are you sure? yes | no

Guzzi wrote 11/13/2014 at 21:21 point
Congratulations to the winning team. Let's build a lot of base stations.

  Are you sure? yes | no

erenemre wrote 11/13/2014 at 20:06 point

  Are you sure? yes | no

NIKOS GIANNAKOPOULOS wrote 11/11/2014 at 22:47 point
Awesome !

  Are you sure? yes | no

KR0SIV wrote 10/17/2014 at 18:52 point
Any update on the Satellite database sub-project site?

  Are you sure? yes | no

Pierros Papadeas wrote 10/17/2014 at 19:00 point
You can check the dev site here (with real data)

We are still working on the suggestions functionality.

  Are you sure? yes | no

n0p wrote 09/09/2014 at 06:41 point
For the new electronics shield, I think it would be a nice addition to break out the unused arduino pins. For future upgrades and prototyping of other features.

  Are you sure? yes | no

Pierros Papadeas wrote 09/09/2014 at 15:01 point
Hey n0p. Indeed a breakout for the unused arduino pins could be useful in the future. We will make sure to add this on v2. If you want you can take a pass on a v2 too :)

  Are you sure? yes | no

Fotis Georgatos wrote 08/18/2014 at 19:29 point
Hi Pierros et al,

I would like to point out, that if we are to implement a many-to-many configuration, this requires scheduling on at least two levels: A) global (=task submission) B) local (=execution site).

This is for example how the LCG (LHC Computing Grid) system has been implemented, crunching tons of data coming out of CERN, for some years already. Iff a FIFO queue at local (B) level is considered sufficient, then this has already been described how it's done in paper [1]; it is relatively trivial implementation for people experienced with the gLite middleware stack. Truth be told, that solution does not take into account celestial and orbital mechanics natively, at least not in a way that would yield near-optimal scheduling. Optimality here is a far more complex problem, which should rather be solved by the groups of users and resource owners. To do that, the concept of Virtual Organizations that grid systems provide, would become handy.

In short, there can be *some* initial solution, but for optimal utilization let's all honestly expect that this is a problem that will take some man-years of effort and tuning! If you are not sure why this would take time, try to play NetworKing [2] and you will understand ;-)

keep up,

[1] Solomos, N. H. and Georgatos, F. (2006), System aspects of the EUDOXOS observatories network. Astronomische Nachrichten, 327: 796–799. doi: 10.1002/asna.200610673

  Are you sure? yes | no

ganzuul wrote 11/14/2014 at 06:25 point
Avoiding premature optimization is essential to hacking.

  Are you sure? yes | no

Jasmine Brackett wrote 08/15/2014 at 18:59 point
Hello Pierros & SatNOGS team, I hope you received your Astronaut or Not t-shirts!

Just looking at your project and wanted to remind you that by August 20th you must have the following documentation on Hackaday Projects to be considered for the next round:
- A video less than 2 minutes long describing your project.
- At least 4 Project Logs (you need at least 3 more)
- A system design document (give us a visual overview of how it all works. Highlight the design doc in the details section)
- Links to code repositories, and remember to mention any licenses or permissions needed for your project. For example, if you are using software libraries you need to document that information.

You should also try to highlight how your project is 'Connected' and 'Open' in the details and video.

Good luck!

  Are you sure? yes | no

Pierros Papadeas wrote 08/17/2014 at 13:34 point
Hey Jasmine,

The Video is linked (actually we made a second one too) and we will be publishing the rest of the logs by 20th of Aug. Also links to code repos are on the side.

Does the uploaded Design Document viz meet the requirements?

  Are you sure? yes | no

Marios Papachristou wrote 08/12/2014 at 22:04 point
A great project from ardent developers!

  Are you sure? yes | no

Fotis Georgatos wrote 08/02/2014 at 11:30 point
Hello folks,

The idea of using 100s of SatNOGS together for tracking "whatever" has been buzzing in my mind, after the recent "astroexormisi" event in Mt. Elikonas, Greece, of last week!

There are a zillion of approaches to take about how to run such a setup and I'm growingly convinced that the best way may be to allow a bouquet of technologies to co-exist together.

I started looking at SPIKE and found out it's already 25 years old technology and many more things have sprung up in the meantime, see [1] [2] [3]. Windows of Opportunity (WoP) are an objective to highlight and calculating celestial and orbital mechanics may be the holy grail of this business. Subgroups of SatNOGs may be homogeneous or heterogenous, which affects scheduling dearly [4]. Finally, efforts to integrate observations with data reductions and network transfers should be overlooked and may become relevant [5].

Let me explain:
* This is by far and large a Multi-Objective-Optimization problem
* There are multiple scheduling platforms (SPIKE, ASPEN, Raptor/TALON)
* There are plenty of planning languages that could be of interest (ANML, PDDL, NDDL, AML)
* It is not clear if a push or pull scheduling (ref. "Condor") mechanism is optimal in efficiency
So, neither would ever any single approach be optimal for everybody at the same time!

In short, let's keep the current open API (congrats for that) and, build upon it multiple implementations, perhaps even allowing different coordinated groups to tackle this!

Thanks for reading the long email, F.

[2] The Deep Space Network Scheduling Problem

  Are you sure? yes | no

Glenn Powers wrote 08/02/2014 at 03:31 point
Since "Connectivity is a key aspect of our project," have you considered using BitTorrent Sync to share the data collected by the network? I'm using it to distribute my DokuWiki:

BitTorrent Sync and DokuWiki work well together, since DokuWiki uses plain text files and media files.

BitTorrent Sync is also excellent for synchronizing sites with intermittent network access.

  Are you sure? yes | no

Dan Royer wrote 07/21/2014 at 04:55 point
I've been designing 3d printable slew bearings. Would they help?
I use them in my project:

  Are you sure? yes | no

Manthos Papamathaiou wrote 07/22/2014 at 06:52 point
Very interesting piece of hardware Dan. We will definitely think about to use them. Nice robot arm to!

  Are you sure? yes | no

Fotis Georgatos wrote 07/30/2014 at 16:30 point
Geia hara Dan, (=hello)

I'm an engineer of the non-mechanical flavor, yet I'm inclined to infer that using such bearings would allow to increase the load envelope that the design can sustain, without pumping the costs too high. If so, that's very interesting. In fact, it might permit to add on SatNOGS heavier loads such as cameras, parabolic antennas and... well, maybe just maybe, small scale telescopes (to be sure: weight-balanced).

  Are you sure? yes | no

Fotis Georgatos wrote 07/30/2014 at 16:36 point
and an extra crazy thought: a mechanical robot arm such as yours, placed near the cargo area, could even service some of the equipment (switch receivers & lenses, monitor devices with a webcam, provide load support under heavy weather etc).

  Are you sure? yes | no

Gary wrote 07/19/2014 at 13:36 point
would like to see more. Really interested in how well those 3d gear will work with that larger array.

  Are you sure? yes | no

Manthos Papamathaiou wrote 07/22/2014 at 06:55 point
we will come up with more photos and videos very soon Gary. We are making some changes to the design to make it more compact and more easy to maintain. I think that the v0.2 will be ready very soon.

  Are you sure? yes | no

Similar Projects