Close

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.

This project was created on 06/04/2014 and last updated a month ago.

Description
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.
Details

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:

Components
  • 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 https://github.com/satnogs

Project logs
  • Observation Scheduler on Network

    a month ago • 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

    a month ago • 4 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.

    LPF

    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.

    HPF

    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

    a month ago • 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 18 project logs

Build instructions

See all instructions

Discussions

Tyler Anderson wrote 14 days ago null point

Awesome job and congratulations! Now are you going to try tracking satellites from sub-orbit?

Are you sure? [yes] / [no]

Kojote wrote 14 days ago null point

Congratulations, well earned - rock on!

Are you sure? [yes] / [no]

nGoline wrote 14 days ago null point

Congrats!

Are you sure? [yes] / [no]

Guzzi wrote 14 days ago null point

Congratulations to the winning team. Let's build a lot of base stations.

Are you sure? [yes] / [no]

e wrote 14 days ago null point

Congratulations!

Are you sure? [yes] / [no]

NIKOS GIANNAKOPOULOS wrote 16 days ago null point

Awesome !

Are you sure? [yes] / [no]

KR0SIV wrote a month ago null point

Any update on the Satellite database sub-project site?

Are you sure? [yes] / [no]

Pierros Papadeas wrote a month ago null point

You can check the dev site here (with real data)
http://db.satnogs.org/

We are still working on the suggestions functionality.

Are you sure? [yes] / [no]

n0p wrote 3 months ago null 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 3 months ago null 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 3 months ago null 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,
Fotis

[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
[2] http://www.nasa.gov/multimedia/3d_resources/scan.html

Are you sure? [yes] / [no]

ganzuul wrote 13 days ago null point

Avoiding premature optimization is essential to hacking.

Are you sure? [yes] / [no]

Jasmine wrote 3 months ago null 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 3 months ago null 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 4 months ago null point

A great project from ardent developers!

Are you sure? [yes] / [no]

Fotis Georgatos wrote 4 months ago null 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.

Ref.
[1] http://scholar.google.gr/scholar?q=SPIKE+Intelligent+Scheduling
[2] The Deep Space Network Scheduling Problem
http://www.aaai.org/Papers/AAAI/2005/IAAI05-009.pdf
[3] http://aspen.jpl.nasa.gov/
[4] http://scholar.google.gr/scholar?q=htn+telescope+scheduling
[5] https://www.google.gr/search?q=System+aspects+of+the+EUDOXOS+observatories+network

Are you sure? [yes] / [no]

Glenn Powers wrote 4 months ago null 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:

http://net127.com/

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.

http://www.bittorrent.com/sync

Are you sure? [yes] / [no]

Dan Royer wrote 4 months ago null point

I've been designing 3d printable slew bearings. Would they help?
http://www.thingiverse.com/thing:321679
I use them in my project: http://hackaday.io/project/945-6DOF-Robot-Arm

Are you sure? [yes] / [no]

Manthos Papamathaiou wrote 4 months ago null 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 4 months ago null 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 4 months ago null 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 4 months ago null 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 4 months ago null 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]

hpux735 wrote 6 months ago null point

What are you using for the mechanics of the Az/El mount? Are those custom-machined or off-the-shelf?

Are you sure? [yes] / [no]

Manthos Papamathaiou wrote 5 months ago null point

Hello! We are actually using only 3D printed parts and some nuts and bolts.

Are you sure? [yes] / [no]

Adam Fabio wrote 6 months ago null point

Pierros, SatNOGS looks great! Thanks for sending it in to The Hackaday Prize. Can you upload a few more pictures of the prototype? Cad drawings are great, but nothing beats seeing those stepper worm drives in real life. I'd like to see more on the connected protocols as well - Can we use SatNOGS to create an open source Deep Space Network similar to the one NASA has?

Are you sure? [yes] / [no]

Pierros Papadeas wrote 5 months ago null point

Connectivity is a key aspect of our project. Indeed the concept is to create a global distributed network for satellite tracking and communications (similar to DSN, but for LEO MEO orbits :) )

Are you sure? [yes] / [no]

Fotis Georgatos wrote 4 months ago null point

> Can we use SatNOGS to create an open source Deep Space Network similar to the one NASA has?

Totally, YES!

I am able to tell so, since I saw the prototype in action couple of days ago, and it simply does what you would like it to do. The design is quite open and extendible. An area of possible improvements is to use more expensive materials as a matter of hardening it (eg. for harsh weather) yet its design is sound and, reusable to the max!

Are you sure? [yes] / [no]

Fotis Georgatos wrote 4 months ago null point

btw.
if you are on Apple or Wintel devices, check out this game (set aside 20mins):
http://www.nasa.gov/multimedia/3d_resources/scan.html # read objectives!
It will take you to the i-am-looking-forward-to-DSN mode quickly ;-)
Very useful and edutaining time-killer for long hours in airport/airplanes.
IMHO, it should be declared the official game of SatNOGs followers!

btw.
keep dreaming of possibilties, you never know what may happen with newer ideas!
http://www.technologyreview.com/article/403435/space-tracker/

Are you sure? [yes] / [no]

Mike Szczys wrote 6 months ago null point

Thanks for submitting this as an entry for The Hackaday Prize. You should add "TheHackadayPrize" as a tag.

As you get further along with your documentation make sure to look over the requirements and judging preferences. For instance, more documentation on your communications protocol would help satisfy the "connected" requirement and improve on the "open" preference.

Are you sure? [yes] / [no]

Pierros Papadeas wrote 6 months ago null point

Thanks for the suggestions Mike! We will make sure to publish the documentation with the requirements and judging preferences in mind.

Are you sure? [yes] / [no]

Similar projects