LulzBot TAZ4 donated to the SatNOGS project

Since the beginning of the SatNOGS project we used 3D printed parts for our gears. To do so we mostly used a LulzBot Ao-100 3D printed donated by AlephObjects to a physical space in Athens Greece that most of the core SatNOGS teams are meeting and the home of our first permanently installed ground station.

To cover our needs we communicated with AlephObject in order to purchase a LulzBot TAZ4 3D printer. LulzBot didn’t only provided us with a superb open hardware 3D printer as usual but also they donated it to the SatNOGS project!

We are really excited by their offer, and stay true to the spirit of sharing that characterizes our project from the very beginning we decided to share our new 3D printer with the awesome community of the local hackerspace of Athens Greece a physical space dedicated to open hardware and software hacking.

Two generations of LulzBot 3D printers
Two generations of LulzBot

To celebrate the occasion members of our team and the local hackerspace gave a welcoming event, and our 3D printing expert showcased TAZ4 and it’s awesome capabilities. He gave a hands-on introduction in 3D printing in general, TAZ4 and PrintRun (the free -as in freedom- software controlling LulzBot). Members and visitors of the hackerspace had the chance to print their own stuff (from Rocktopus figures to OpenBCI electrodes).

We already printed lot’s of 3D printed parts for the ground station we’ve send in Brussels for FOSDEM and we are looking forward into printing even more and sharing our resources with the local community.





This weekend members from our core team of developers attended FOSDEM in Brussels Belgium for a scheduled lightning talk about the project.

At Saturday theΒ  showcase the mobility features of the SatNOGS Ground Station they assembled one on the spot in under one hour.

For more than six hours the members of the team had the chance to showcase the SatNOGS hardware and get the invaluable input from fellow open source developers from across the word.

Next day the team had the chance to give a lightning talk in a packed amphitheater again assembling SatNOGS on the spot.


The “slides” of the presentation are available in github and powered by reveal.js, feel free to check them out and don’t hesitate to localize them πŸ™‚

As soon as FOSDEM releases a video of the talk we will share it with a new update. Stay tuned.


SatNOGS #1 in Athens, Greece

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!

SatNOGS #1

(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 our post on community forum for details) which we hotfixed.

Congratulations to the whole SatNOGS team for the first deployment!

Observation Scheduler on Network

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

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

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.

Extreme conditions considerations – Radome

In order to achieve global coverage, a network of Ground Stations would have to have nodes in places that are not entirely friendly environments. Desert hot, ice cold, gusty, monsoon rainy, mountain dry and forest humid could be some descriptions of possible locations SatNOGS would have to survive in.

Apart from the obvious networking considerations (internet connection and power) which are not in the scope of our project (and are dealt with existing solutions), SatNOGS has some physical constrains, especially around wind and water.

The relatively compact design, our current antennas and the targeted IP55 protection marking are indeed a slight advantage on moderate wind and rainy situations, but we had to do more to ensure reliable operations on rainy and windy hilltops and locations.

The way to protect antenna tracking mechanisms (especially dish antennas but not only) has been long known in the industry and in military. The name of it Radome (Radar-Dome). Radomes provide weather protection (ice, heat, rain, wind) especially combined with an environmental control system, and ensure uninterrupted operation for moving tracking mechanisms.

After extensive search on the webz we could not find any DIY and/or Open project for a Radome, so we decided to design, build and document one for SatNOGS.

We started with the desired shape and size. A geodesic dome (3V frequency) provides a good approximation of a sphere (less air drag) while not requiring large amounts of material. For the size, we modeled SatNOGS with a typical antenna setup (Helical and Yagi) and calculated the extremes. We ended up with a sphere of 1.5m radius, 1.2m from the ground.8103441414183780536


The material selected for construction is PVC tubes for struts (cheap and light-weigth) and ABS connectors (3D printable and durable). The Base is an aluminum (L channel) pentagon that can be bolted on the ground. It is important to emphasize that all materials (except the base pentagon) are non-conductive and dielectric. If Aluminum (or any other metal) was to be used, Quasi-Random patterns would have to mandate the design to avoid interference with the RF signals. For the outer surface many materials were considered, and Shrink Wrap seems to be the most cost-effective, easily applied and durable solution (check here for examples).

Gathering all materials is not hard, especially when you have access to a 3D printer. The overall cost is just below 130 USD.2728161414186279380


Construction is pretty straightforward. You start with the pentagon and work your way to the middle. Then you start from the top working your way down, until you are left with two hemispheres. Once those are connected in place you lay out the shrink wrap and using a heat gun you apply it in place.


Depending on the materials you would choose, some bonding might be needed between connectors and struts. (epoxy glue would do just fine). Shrink Wrap would take care of the final rigidity of the structure.

Unfortunately shipping times for shrink wrap as not as fast as we expected so we only finished the skeleton of the radome and we are waiting for the final layer to apply it by next week. (an new log will be posted for this!)

The end result is really impressive taking into account resources used. The structure is really light-weight so 2 people can fit it on SatNOGS by lifting it and lowering it on top of it. Then you would secure the pentagon on the ground and you are ready to go!1304161414187677993


Designs (CAD and STLs) are available in our repo, and once the shrink wrap arrives we will be posting a detailed how-to guide.



Portability for SatNOGS ground station

Most of the times you would want your ground station to be stable. Secured on a metal beam on top of a building, protected, homed and zeroed where no-one and nothing could disturb it. That is the ideal situation.

For those of us though that like adventures and want to carry a ground station with us on a field trip (DXing, Iridium flare hunts or even mountaineering) having SatNOGS be portable would be a huge advantage.

Luckily (actually… by design) the main gear mechanical assembly is a lightweight box with 3 beams sticking out. Easily carried even as a backpack. Antennas can be detached and especially the yagi ones, disassembled and carried as a long beam. But where would you put your ground station on? That called for a tripod!

We did have a tripod design (v1) early on (check designs here) but it was not really easily constructed and not easily deployable. So we focused on a new design.4056311414017834614

Version 2 is much more easily constructed, considerably more stable and totally portable as it collapses in a single beam. We tested it dozens of times on the field over the past couple of weeks and it is stable enough to allow reliable operations for a typical SatNOGS setup (UHF and VHF antennas mounted too). The cost of it? Aprox 15 USD πŸ™‚

Designs and models can be found in our github repo here.

Bill of materials here. And guess what? We love documentation πŸ™‚ So here are some step by step instructions to build it yourself!




Observation page with data

Continuing the development of SatNOGS Network, we focused on enhancing the observation results page. Check out how it looks overall:


What is new?


The new timeline view gives a quick overview on the data that each ground station collected within the observation timeframe. On the left you can see the list of the Ground Stations that participated in the observation and on the right you can check the timeblocks each ground station got data. We used the nice d3-timeline js plugin for it.


Data View

Each data that is associated with an observation is displayed in a new panel-based section. The data we collect can be either text (decoded messages) or sound (available for further processing). We dealt with the hardest one first. We used Wavesurfer.js to visualize the waveform (HTML5, WebAudio and Canvas FTW!) and added the ability for playback directly in the browser. A download link is also available.


The code for the implementation of the new views is already pushed in our repos. Soon we will be updating the dev instance with mock data so that you can check out the new functionality yourself.


SatNOGS going Helix

An important part of the instrumentation of our ground station is the Antennas. Early on the SatNOGS team designed and constructed 2 Yagis for UHF and VHF bands. The UHF Yagi design was essentially a cross Yagi design trying to address the circular polarization issue. Based on the experimental operation of the ground station we were sure we can do something better.

Satellites are tumbling and turning, thus if the transmission of the transponder is done in a single dimension polarization you better match this polarity to get the optimum gain. (if not you will loose 30dB) (check here for details). We decided that a Helical antenna would give SatNOGS a better chance for an optimal reception, so we needed to design, document and build one.


There are a couple of theoretical models for Axial-mode Helical Antennas. Most notable are the Emerson one and the Kraus. We decided to go for Emerson, given our wavelengths, construction constrains and overall size. As we were going for UHF band 437Mhz seemed like a popular frequency for satellite communications and we centered around it. As for the circular polarization we designed a Left-Hand one (as we already had a Right-hand cross-Yagi design).

Dimitris worked on a modular and extensible design that can be used on other bands too. 3D printed parts and off the self items is the classical recipe that we followed. The result is a sturdy and easy to construct antenna. Initial tests are showing improvements compared to our cross-yagi UHF which is a win!


The design can be found here, bill of materials here and a detailed documentation on how to build here.


Optimization of the antenna is crucial. We invested considerable amount of time towards that and there is always room for improvement in matching, constructions and details [1]. More NEC calculations will follow and we expect more fixes as we go.