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.
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.
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 . More NEC calculations will follow and we expect more fixes as we go.
The time we’ve all been waiting for, has come. We are proud to release v2 of SatNOGS Ground Station (Tracking Box) with many upgrades and fixes from the previous version. Notably:
- Redesigned Axis Gear Assemblies. They are now smaller, more robust and reliable based around a much more powerful NEMA 17 Stepper Motor. The two assemblies are now structurally connected, making the whole assembly much more rigid. Also we redesigned the Worm Gear for improved printability on 3D printers.
- Integrated electronics. We designed and built a new PCB to house all electronics (Arduino, and Stepper Drivers) along with an additional PCB as a PSU for voltage regulation and neater cable management. (see previous post)
- Reworked stepper driving code, featuring a much cleaner code, acceleration and deceleration in movement, stop functions and early opto-homing support. (see previous post)
Tripod and On-board computer (TP-Link) stayed the same, with developments on them coming down the road.
A detailed Bill of Materials is available here.
We have also compiled a detailed construction guide, with step by step instructions on how to assemble the Ground Station Tracking box for both Mechanical and Electronics components.
All Designs and 3D printable files can be found here and all PCB files for our electronics shields can be found here.
Development does not stop with v2, and we are already working on the homing/zeroing code that will enable the homing parts we included in v2 to function. Moreover based on more testing we are applying to v2 and feedback from the community, we expect minor fixes to be released soon.
We can’t wait to see v2 out there, built by others, so get started and/or provide feedback!
Using the first version of satNOGS hardware we figured out that some times due to various reasons (software, mechanical or power malfunctions) the rotator might end up in an unknown position.
At that point, the only way to resolve that situation was to manually reset the rotator to home position (pointing at the north with zero altitude). Therefore, since we wanted the rotator to operate without human supervision, we decided that an automatic homing system was crucial.
At first thought we tried an IMU, which turned out to be too noisy and affected by the rest of the systems so we ended up with a pair of opto-swithes which are manually set at the first run.
The mounts and activators of the switches are designed in a way that they remain modular and independent of the rest of the tracking hardware so that they can be fitted in previous or future versions.
Our intention is to write two homing functions in the arduino code
The first one, which is already written, is called when the arduino boots for the first time or after power loss. In this function, the rotator scans around the current location until it finds home position. Below you can see a video in action:
The second one runs after every tracking job or on demand through the serial interface and just moves the tracker to the home position. This way, whenever a new traking job begins the user knows that the job starts from zero position.
You can check the code in our repo, and the designs for the hardware too.
It was always our intention to have SatNOGS ground station as unattended as possible in terms of operation. We are now much closer to it!
Stepper motor and axis movement should be accelerated, decelerated and smooth. This is important for a variety of reasons including less strain on the axis and the gears, plus inertia compensation.
Agis with Manthos spend some time looking into some options and finally agreed to implement acceleration resulting to smooth tracking using an Arduino Library and amending it a bit. The results is pure awesomeness for our tracker:
This code and implementation goes straight in our v2 design. Code can be found in our repository.
Yesterday in Berlin Hackaday announced SatNOGS as the Grand prize winner of the Hackaday Prize 2014.
We are excited to see SatNOGS winning the recognition of the Hackaday Prize judges, the Hackaday staff and last but not least it’s awesome community. We believe that the Hackaday Prize contest is a great showcase of open source hardware and software projects
As for SatNOGS this is not the end, but a huge milestone of inspiration into continuing working on the SatNOGS project and it’s subprojects together with it’s awesome community.
During our quest for reliable Satellite transponder data we came into a sad realization. There is nowhere out there such a thing as a complete transponder database for operational satellites.
Having this information is crucial for SatNOGS operations on multiple levels. Observation scheduling, observation job details and mainly ground station operations.
It was obvious that we needed to build a DB of all transponders of operational satellites, and in a true community and open data fashion it needed to be open, crowd-sourced and not necessarily SatNOGS specific
What we ended up with as a solution is SatNOGS DB . A separate crowd-sourced suggestions app build around transponder data for satellites. The source of truth about transponder data still lives under SatNOGS network (our main observation and scheduling website)(see previous posts) and SatNOGS DB would expose all these data and enable users around the world to provide suggestions about transponders for satellites.
Technically, the stack we are using is really interesting, thanks to our hipster-friendly software expert Nemo. In an effort to make this app as abstract, white-labeled and not SatNOGS specific as possible, no relational specific-schema database is used on the backend. We are using CouchDB  as our backend (with the appropriate hooks to SatNOGS Network) and a combination of PouchDB  and AngularJS  as our client-side front-end. This provides the ultimate flexible and responsive platform for best UX and re-usability. All suggestions are stored in blobs and once they land (moderated and approved) back to SatNOGS Network they become part of our SatNOGS Network database.
We will be pushing the site live this week (after re-factoring the code) and kickstarting the data with sources we could find around the net. (A post will follow)
Furthermore, by solving our data issue, we are providing the world (and especially ham and amateur satellite communities) with an open, accessible, crowd-sourced database for Satellite Transponder data. (yeah open data!)
It was time for us to test out the designs for our PCB that would take care of the motor control.
In a true hackerspace fashion instead of ordering the PCB we decided to built the capacity to produce our own (much needed moving forward). We could not settle for a simple single-side capability with no solder mask, so we shot for a typical side-project extravaganza 🙂 What we ended up with was a double side capable UV exposer controlled for timing and after many tests the expertise to apply solder mask for uber cool finishing for our diy PCBs.
Back to SatNOGS specific PCBs the design was slightly changed from v1. We changed the capacitor, rerouted for optimal setup the board and thanks to [n0p] comments we added breakouts for unused Arduino pins (you never know what you will need!).
Production went smoothly and the PCB test showed that everything was in place correctly!
Having the finished v1.1 motor control PCB ready we thought that we could tidy up our power circuits too. That called for a PSU PCB tailored to our needs. Agis, our team electronics expert, quickly designed a PSU PCB based around a Voltage Regulator capable of having an input of 12V DC and an output of again 12V DC plus 5V DC stable through USB Type A too.
Production once again was smooth and we ended up with our PSU PCB. Pics below are from a slightly modified version with a cap (both designs can be found in our repo).
Detailed designs and Gerber files can be found in our Github repo
Next steps for our electronics will be to focus on the auto-homing circuits (using the handy breakouts!). A separate log on that will follow!
As outlined in project description and previous logs, a central part of our projects is what we call “SatNOGS Network”. SatNOGS Network is a web application running on a server that takes care of discovery of ground stations, registering of users, scheduling and job-detailing of observation as well as data collection and analysis once an observation is done.
After 3 straight weeks of python/django hacking and almost 100 commits, we are proud to have a working prototype of the SatNOGS Network.
The model of the application is now polished and able to handle all basic operations for Stations, Users, Observations, Satellites, Transponders, Antennas and Data.
Next in line in terms of functionality implementation is the ability to plan observations based on user provided info (satellite, transponder etc) using SGP4 in python, and also a detailed view of Observation (with data and timeline).
The main page features a map with all ground stations, details about a featured ground station and latest completed and scheduled observations.
The code can be found (follow and contribute too!) here: https://github.com/satnogs/satnogs-network
A live development version of the website with demo data [WARNING ;)] can be found here: https://dev.satnogs.org/
Working towards v2 of the Ground Station Gear Assembly, the SatNOGS hardware team has experimented with various gear designs. All of them where designed and 3D printed from scratch focusing on ease of reproduction and excellent mechanical operation and properties.
The new gear assembly (which is almost identical for both Azimuth and Altitude) sports a much thinner and compact design, driven by a much more powerful NEMA 17 Stepper motor.
Failing was part of the process. As you can see in the pics above, 3D printing a worm gear can be a monster of its own. After careful calibration and fine-tuning (layer heights, cooling, leveling, infill settings etc) on our 3D printer we were able to consistently reproduce worm and matching gears. We even experimented with acetone abs curing, which (based on the results we are seeing) we believe should be the default for our gears moving forward.
v2 of Ground Station is around the corner, and we will be posting later this week with full documentation, designs and instructions on how to build. Till then, back to gear-craze!