<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.satnogs.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kerel%2Bsatnogs</id>
	<title>SatNOGS Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.satnogs.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kerel%2Bsatnogs"/>
	<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/Special:Contributions/Kerel%2Bsatnogs"/>
	<updated>2026-05-30T18:40:16Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.32.0</generator>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Troubleshooting&amp;diff=4035</id>
		<title>Troubleshooting</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Troubleshooting&amp;diff=4035"/>
		<updated>2025-11-20T02:21:48Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: Update log level table: add description column and reduce rows to sensible defaults&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Client troubleshooting==&lt;br /&gt;
&lt;br /&gt;
If the hints for common issues below don't help solve your issue, you are welcome to post in the [https://community.libre.space/c/satnogs/6 SatNOGS section] of the [https://community.libre.space/ Community forum]. When doing so, please include any error from the logs and the output of the support report to give the necessary context:&lt;br /&gt;
&lt;br /&gt;
{{Message|&lt;br /&gt;
Check the whole error log with &amp;lt;code&amp;gt;sudo docker logs satnogs_satnogs-client&amp;lt;/code&amp;gt;&lt;br /&gt;
Check live the error log with &amp;lt;code&amp;gt;sudo docker logs -f satnogs_satnogs-client&amp;lt;/code&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{Message|Generate support report by the menu item &amp;lt;code&amp;gt;Advanced -&amp;gt; Support&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;sudo satnogs-setup&amp;lt;/code&amp;gt;}}&lt;br /&gt;
===Raise or Set the debug level===&lt;br /&gt;
&lt;br /&gt;
*Run &amp;lt;code&amp;gt;sudo satnogs-setup&amp;lt;/code&amp;gt;&lt;br /&gt;
*Go to '''Advanced Configuration''' and  set the '''Debug level''' to one of the Values below&lt;br /&gt;
*'''Apply''' the change&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Level&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|WARNING&lt;br /&gt;
|'''Default.''' Show only indications that something unexpected happened, or that a problem might occur in the near future (e.g. ‘disk space low’).&lt;br /&gt;
|-&lt;br /&gt;
|INFO&lt;br /&gt;
| Show confirmations that things are working as expected.&lt;br /&gt;
|-&lt;br /&gt;
|DEBUG&lt;br /&gt;
| Show very detailed information, typically only of interest to a developer trying to diagnose a problem.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
When done debugging, don't forget to reset the log level, or the files will fill up your disk space.&lt;br /&gt;
&lt;br /&gt;
===Client not showing up on the network?===&lt;br /&gt;
&lt;br /&gt;
*Check that you have ticked the &amp;quot;Is it operational?&amp;quot; checkbox on the groundstation page.&lt;br /&gt;
*Check your settings and ensure that the API token and station ID are correct.  You can get these from your profile page on the SatNOGS network site.  If you have accounts in both dev and prod, make sure you're using the token and station ID from the right environment.&lt;br /&gt;
*Check your SATNOGS_NETWORK_API_URL.  It should point to https://network.satnogs.org/api/ (prod) or https://network-dev.satnogs.org/api/ (dev).&lt;br /&gt;
*Check your network connectivity.  Can you ping network.satnogs.org or network-dev.satnogs.org?  Try running &amp;lt;code&amp;gt;curl https://network.satnogs.org&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;curl https://network-dev.satnogs.org&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===RuntimeError: RTL-SDR device not found.===&lt;br /&gt;
Seems that the device is not there. Try rebooting and check if Soapy can identify it using:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo docker exec -ti satnogs_satnogs-client SoapySDRUtil --find=&amp;quot;driver=rtlsdr&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;satnogsclient - ERROR - Cannot connect to socket 127.0.0.1:4533&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
The client is trying to connect to rotctld but is unable to.&lt;br /&gt;
&lt;br /&gt;
*If you have a no-rotator setup, ensure that satnogs-client is configured as such; see the [[Raspberry Pi]] page for info on how to do this.&lt;br /&gt;
**These errors may continue to be reported until [https://gitlab.com/librespacefoundation/satnogs/satnogs-client/issues/340 issue #340] is resolved.&lt;br /&gt;
&lt;br /&gt;
*If you do have a rotator, ensure that rotctld is running.&lt;br /&gt;
&lt;br /&gt;
===Some uploads missing &amp;amp; Doppler-correction not working properly===&lt;br /&gt;
The station/client might have a clock offset. This causes a Doppler shift on the waterfall and some observations don't start because of a conflict between the time on the PC of the station and the time of the SatNOGS Network.&lt;br /&gt;
&lt;br /&gt;
===Uploads (waterfall or audio) are missing for a past observation===&lt;br /&gt;
When using &amp;lt;code&amp;gt;satnogs-setup&amp;lt;/code&amp;gt; for editing/updating the configuration of the station,  the satnogs-client gets restarted. When this happens during an observation the observation will be aborted and no waterfall/audio/data files will be uploaded. Such observations should be voted as ''failed''.&lt;br /&gt;
&lt;br /&gt;
The partial data from such observations is stored in &amp;lt;code&amp;gt;/tmp/.satnogs/data/&amp;lt;/code&amp;gt;, look for files like &amp;lt;code&amp;gt;receiving_{satnogs|waterfall}_123456_2019-01-01T12-23-42.{out|dat}&amp;lt;/code&amp;gt;. They can be manually removed.&lt;br /&gt;
&lt;br /&gt;
===ERROR - Observer job lock acquiring timed out.===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Mar 03 20:05:53 satnogs satnogs-client[257]: satnogsclient.scheduler.tasks - ERROR - Observer job lock acquiring timed out.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This message is shown when a previous Observation failed (due to a hardware issue or some bug) and didn't properly terminate. To fix this issue, first check the logs for the observation that failed to understand the root cause. Then, restart satnogs-client.&lt;br /&gt;
&lt;br /&gt;
==Signal troubleshooting==&lt;br /&gt;
&lt;br /&gt;
===Blank or solid purple waterfall?===&lt;br /&gt;
{{Warning|Some information in this section seems outdated or wrong. Please take it with care.&lt;br /&gt;
Once reviewed this banner can be removed.}}&lt;br /&gt;
At the first sign of trouble, put your station into testing mode.&lt;br /&gt;
&lt;br /&gt;
*Make sure the RTLSDR gain is set correctly. Follow the guide at [[Omnidirectional_Station_How_To#Setting_the_gain]] to find a proper gain setting.&amp;lt;br /&amp;gt;Check your gain value is valid. Wrong values can result in blank waterfalls. For example '7.7.' will result in errors (and a blank waterfall - there is an extra '.' at the end).   &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;sudo docker logs satnogs_satnogs-client&amp;lt;/code&amp;gt; It might be a big file, but work through it and look for errors.  &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;df -h&amp;lt;/code&amp;gt; Ensure there is sufficient hard drive space. If temp files can not be created, the waterfall might be blank. &amp;lt;br /&amp;gt;Run &amp;lt;code&amp;gt;sudo docker exec -ti satnogs_satnogs-client rtl_test&amp;lt;/code&amp;gt; for about 30 seconds and make sure you can connect with the dongle and that there are no errors.&lt;br /&gt;
&lt;br /&gt;
===Not receiving anything?===&lt;br /&gt;
&lt;br /&gt;
*Make sure the satellite you are testing observations against is active and recently received by others on [https://network.satnogs.org our production network site].  If you click on a satellite name, a popup will appear and give you the option to click on &amp;quot;Past Observations&amp;quot;. If everything in the past shows red, then the problem is likely with that satellite.&lt;br /&gt;
&lt;br /&gt;
*SO-50 is a good satellite to use for testing as it is a strong FM voice signal assuming you have UHF capabilities. Schedule using &amp;quot;PE0SAT - Mode V/U FM Voice - 436.794 MHz&amp;quot;.  Here is an example to compare against: https://network.satnogs.org/observations/3334/&lt;br /&gt;
&lt;br /&gt;
*ISS is a good test for VHF as the APRS digipeater is alive again (as of this writing; check [https://www.issfanclub.com/ issfanclub.com] for up-to-date information). When you schedule it, be sure to select the APRS downlink.&lt;br /&gt;
&lt;br /&gt;
*If you're using an rtlsdr, check that it can be seen and is operating correctly by running rtl_test.  Let it run for 30 seconds or so, then hit Ctrl-c to kill it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pi@raspberrypi:~ $ sudo docker exec -ti satnogs_satnogs-client rtl_test&lt;br /&gt;
Found 1 device(s):&lt;br /&gt;
  0:  Realtek, RTL2838UHIDIR, SN: 00000001&lt;br /&gt;
&lt;br /&gt;
Using device 0: Generic RTL2832U OEM&lt;br /&gt;
Found Rafael Micro R820T tuner&lt;br /&gt;
Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6 &lt;br /&gt;
[R82XX] PLL not locked!&lt;br /&gt;
Sampling at 2048000 S/s.&lt;br /&gt;
&lt;br /&gt;
Info: This tool will continuously read from the device, and report if&lt;br /&gt;
samples get lost. If you observe no further output, everything is fine.&lt;br /&gt;
&lt;br /&gt;
Reading samples in async mode...&lt;br /&gt;
^CSignal caught, exiting!&lt;br /&gt;
&lt;br /&gt;
User cancel, exiting...&lt;br /&gt;
Samples per million lost (minimum): 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*You can also try a manual run of satnogs_afsk1200_ax25.py to make sure that works:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo docker exec -ti satnogs_satnogs-client timeout -s INT 20s satnogs_afsk1200_ax25.py --soapy-rx-device=&amp;quot;driver=rtlsdr&amp;quot; --antenna=RX --samp-rate-rx=2.048e6 --rx-freq=444000000 --rigctl-host=rigctld --file-path=/tmp/audio-out.ogg --waterfall-file-path=/tmp/waterfall.dat&lt;br /&gt;
$ sudo docker exec -ti satnogs_satnogs-client ls -lah /tmp/audio-out.ogg /tmp/waterfall.dat&lt;br /&gt;
$ sudo docker exec -ti satnogs_satnogs-client rm /tmp/audio-out.ogg /tmp/waterfall.dat&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If everything is working, this should create an .ogg file and a .dat file of non-zero size (probably a few MB each).&lt;br /&gt;
&lt;br /&gt;
===Observations seem off-frequency?===&lt;br /&gt;
[[File:Waterfall_3519_2017-04-24T04-48-48_resized.png|frame|Check your location!]]&lt;br /&gt;
&lt;br /&gt;
*'''PPM drift''' While newer SDR devices are very good and stable, there still may be some PPM drift to compensate for if you notice that signals are consistently off center. The SATNOGS_PPM_ERROR setting in /etc/supervisord.d/satnogs.ini can be used to correct for this.&lt;br /&gt;
*'''Clock sync''' Make sure your clock is synced. Ensure ntp is configured and running (especially with the Raspberry Pi which lacks a real time clock)&lt;br /&gt;
*'''Wrong location''' If your signal seems to be on but drifts at the apex like in this image, check to make sure your Latitude, Longitude, and Elevation coordinates are set properly and in the right format.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===USB===&lt;br /&gt;
You can reset USB without having to reboot the system by running these commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ usbreset&lt;br /&gt;
Usage:&lt;br /&gt;
  usbreset PPPP:VVVV - reset by product and vendor id&lt;br /&gt;
  usbreset BBB/DDD   - reset by bus and device number&lt;br /&gt;
  usbreset &amp;quot;Product&amp;quot; - reset by product name&lt;br /&gt;
&lt;br /&gt;
Devices:&lt;br /&gt;
  Number 001/003  ID 0424:ec00  &lt;br /&gt;
  Number 001/002  ID 0424:9514  &lt;br /&gt;
  Number 001/004  ID 0bda:2838  RTL2838UHIDIR&lt;br /&gt;
$ usbreset 001/004&lt;br /&gt;
Resetting RTL2838UHIDIR ... ok&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===RF Noise===&lt;br /&gt;
If you notice a noise in the waterfall every time motors are spinning, you will need to:&lt;br /&gt;
&lt;br /&gt;
*Twist each pair or the motor wire&lt;br /&gt;
*Add proper grounding&lt;br /&gt;
*Add capacitor to the DC input of drivers&lt;br /&gt;
*Wrap the motors wire with adhesive aluminum and then connect it to GND on driver side&lt;br /&gt;
*Add ferrites to motors wires&lt;br /&gt;
&lt;br /&gt;
[[File:Rf noise.png|alt=RF Noise|left|thumb|400x400px|Too much RF Noise]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Operate]]&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=SatNOGS_Operations_Manual&amp;diff=4034</id>
		<title>SatNOGS Operations Manual</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=SatNOGS_Operations_Manual&amp;diff=4034"/>
		<updated>2025-11-19T16:04:40Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Requirements===&lt;br /&gt;
This manual assumes you have SatNOGS moderator access on Network and DB. If you don't please reach out to our channels for gaining access and helping with SatNOGS Operations!&lt;br /&gt;
&lt;br /&gt;
===Adding a new Satellite===&lt;br /&gt;
{{Warning|This manual is intended for SatNOGS Moderators. For a guide on how to add your mission to SatNOGS see [[Satellite Operator Guide]]}}&lt;br /&gt;
&lt;br /&gt;
====0. Should we add it?====&lt;br /&gt;
In principle SatNOGS DB aims to capture all information about satellites regardless of their origin, ownership or purpose. So the simple answer is &amp;quot;Yes you should add it&amp;quot;. That said we do prioritize the satellites that can be (and will be) tracked by the SatNOGS Network and especially the ones that have been pro-active in reaching out and sharing as much information as possible.&lt;br /&gt;
&lt;br /&gt;
====1. Find new satellites====&lt;br /&gt;
Besides the missions that will actively reach out to us by filling issues in [https://gitlab.com/librespacefoundation/satnogs-ops satnogs-ops repo], we need to track launch activity to ensure we are adding new satellites in our DB. Some resources for tracking launches:&lt;br /&gt;
&lt;br /&gt;
*https://space.skyrocket.de/doc_chr/lau2020.htm&lt;br /&gt;
*https://spaceflightnow.com/launch-schedule/&lt;br /&gt;
*https://www.space.com/32286-space-calendar.html&lt;br /&gt;
&lt;br /&gt;
Tip: As of 2020 we are not adding any swarm satellite entries (e.g. Starlink, OneWeb etc)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====2. File the issues in satnogs-ops====&lt;br /&gt;
Once you have the information it is needed then navigate to [https://gitlab.com/librespacefoundation/satnogs-ops satnogs-ops repo] and open new issues containing all the information needed.&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs-ops/-/issues/new New issue on satnogs-ops]&lt;br /&gt;
&lt;br /&gt;
Some websites and online resources for digging up information (if not already provided by the mission teams):&lt;br /&gt;
&lt;br /&gt;
*http://nanosats.eu/&lt;br /&gt;
*http://www.amsatuk.me.uk/iaru/index.php&lt;br /&gt;
*https://fcc.report/&lt;br /&gt;
*https://apps.fcc.gov/oetcf/els/index.cfm&lt;br /&gt;
*Search Google and Twitter for mission posted information!&lt;br /&gt;
&lt;br /&gt;
====3. Add satellite in DB====&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====4. Add and approve transmitters in DB====&lt;br /&gt;
&lt;br /&gt;
==== 5. Sync SatNOGS Network ====&lt;br /&gt;
Go to [https://network.satnogs.org/settings_site/ Network Site Settings] and click on &amp;quot;Sync&amp;quot;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
====6. Update provisional TLEs (~12 hours before launch)====&lt;br /&gt;
{{Warning|This manual is intended for SatNOGS Moderators. If you are not a SatNOGS Moderator, please share TLEs in the '''Launch Thread''', so that one of the moderators can add it. Follow [[Satellite Operator Guide#3._Operations]] for more information. }}&lt;br /&gt;
&lt;br /&gt;
* Acquire provisional TLEs (either constructed from the community or shared by the launch provider)&lt;br /&gt;
** You can verify the integrity of the TLE [https://www.vcalc.com/wiki/MichaelBartmess/TLE+Checksum here] and [https://oraas.orekit.space/oraas-tools-tletranslator.html here]&lt;br /&gt;
* Go to &amp;quot;[https://network.satnogs.org/admin/base/tle/add/ Add new TLE]&amp;quot; on network.satnogs.org&lt;br /&gt;
** Fill out the TLE (don't forget the TLE 0 line too)&lt;br /&gt;
** Enter &amp;quot;manual&amp;quot; as source&lt;br /&gt;
** Save the TLE&lt;br /&gt;
* Go to &amp;quot;[https://network.satnogs.org/admin/base/satellite/ Satellites]&amp;quot; in Admin of network.satnogs.org&lt;br /&gt;
** Find and Edit your satellite&lt;br /&gt;
** Check &amp;quot;Manual TLE&amp;quot; field&lt;br /&gt;
** Save the Satellite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
====7. Schedule LEOP====&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====8. Review results====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=SatNOGS_Operations_Manual&amp;diff=4033</id>
		<title>SatNOGS Operations Manual</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=SatNOGS_Operations_Manual&amp;diff=4033"/>
		<updated>2025-11-19T16:04:19Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Requirements===&lt;br /&gt;
This manual assumes you have SatNOGS moderator access on Network and DB. If you don't please reach out to our channels for gaining access and helping with SatNOGS Operations!&lt;br /&gt;
&lt;br /&gt;
===Adding a new Satellite===&lt;br /&gt;
{{Warning|This manual is intended for SatNOGS Moderators. For a guide on how to add your mission to SatNOGS see [[Satellite Operator Guide]]}}&lt;br /&gt;
&lt;br /&gt;
====0. Should we add it?====&lt;br /&gt;
In principle SatNOGS DB aims to capture all information about satellites regardless of their origin, ownership or purpose. So the simple answer is &amp;quot;Yes you should add it&amp;quot;. That said we do prioritize the satellites that can be (and will be) tracked by the SatNOGS Network and especially the ones that have been pro-active in reaching out and sharing as much information as possible.&lt;br /&gt;
&lt;br /&gt;
====1. Find new satellites====&lt;br /&gt;
Besides the missions that will actively reach out to us by filling issues in [https://gitlab.com/librespacefoundation/satnogs-ops satnogs-ops repo], we need to track launch activity to ensure we are adding new satellites in our DB. Some resources for tracking launches:&lt;br /&gt;
&lt;br /&gt;
*https://space.skyrocket.de/doc_chr/lau2020.htm&lt;br /&gt;
*https://spaceflightnow.com/launch-schedule/&lt;br /&gt;
*https://www.space.com/32286-space-calendar.html&lt;br /&gt;
&lt;br /&gt;
Tip: As of 2020 we are not adding any swarm satellite entries (e.g. Starlink, OneWeb etc)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====2. File the issues in satnogs-ops====&lt;br /&gt;
Once you have the information it is needed then navigate to [https://gitlab.com/librespacefoundation/satnogs-ops satnogs-ops repo] and open new issues containing all the information needed.&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs-ops/-/issues/new New issue on satnogs-ops]&lt;br /&gt;
&lt;br /&gt;
Some websites and online resources for digging up information (if not already provided by the mission teams):&lt;br /&gt;
&lt;br /&gt;
*http://nanosats.eu/&lt;br /&gt;
*http://www.amsatuk.me.uk/iaru/index.php&lt;br /&gt;
*https://fcc.report/&lt;br /&gt;
*https://apps.fcc.gov/oetcf/els/index.cfm&lt;br /&gt;
*Search Google and Twitter for mission posted information!&lt;br /&gt;
&lt;br /&gt;
====3. Add satellite in DB====&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====4. Add and approve transmitters in DB====&lt;br /&gt;
&lt;br /&gt;
==== 5. Sync SatNOGS Network ====&lt;br /&gt;
Go to [https://network.satnogs.org/settings_site/ Network Site Settings] and click on &amp;quot;Sync&amp;quot;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
====6. Update provisional TLEs (~12 hours before launch)====&lt;br /&gt;
{{Warning|This manual is intended for SatNOGS Moderators. If you are not a SatNOGS Moderator, please share TLEs in the '''Launch Thread''', so that one of the moderators can add it. Follow the [[Satellite Operator Guide#3._Operations]] for more information. }}&lt;br /&gt;
&lt;br /&gt;
* Acquire provisional TLEs (either constructed from the community or shared by the launch provider)&lt;br /&gt;
** You can verify the integrity of the TLE [https://www.vcalc.com/wiki/MichaelBartmess/TLE+Checksum here] and [https://oraas.orekit.space/oraas-tools-tletranslator.html here]&lt;br /&gt;
* Go to &amp;quot;[https://network.satnogs.org/admin/base/tle/add/ Add new TLE]&amp;quot; on network.satnogs.org&lt;br /&gt;
** Fill out the TLE (don't forget the TLE 0 line too)&lt;br /&gt;
** Enter &amp;quot;manual&amp;quot; as source&lt;br /&gt;
** Save the TLE&lt;br /&gt;
* Go to &amp;quot;[https://network.satnogs.org/admin/base/satellite/ Satellites]&amp;quot; in Admin of network.satnogs.org&lt;br /&gt;
** Find and Edit your satellite&lt;br /&gt;
** Check &amp;quot;Manual TLE&amp;quot; field&lt;br /&gt;
** Save the Satellite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
====7. Schedule LEOP====&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====8. Review results====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=SatNOGS_Operations_Manual&amp;diff=4032</id>
		<title>SatNOGS Operations Manual</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=SatNOGS_Operations_Manual&amp;diff=4032"/>
		<updated>2025-11-19T16:02:40Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: Add note for Satellite Operators to share TLE via launch thread&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Requirements===&lt;br /&gt;
This manual assumes you have SatNOGS moderator access on Network and DB. If you don't please reach out to our channels for gaining access and helping with SatNOGS Operations!&lt;br /&gt;
&lt;br /&gt;
===Adding a new Satellite===&lt;br /&gt;
{{Warning|This manual is intended for SatNOGS Moderators. For a guide on how to add your mission to SatNOGS see [[Satellite Operator Guide]]}}&lt;br /&gt;
&lt;br /&gt;
====0. Should we add it?====&lt;br /&gt;
In principle SatNOGS DB aims to capture all information about satellites regardless of their origin, ownership or purpose. So the simple answer is &amp;quot;Yes you should add it&amp;quot;. That said we do prioritize the satellites that can be (and will be) tracked by the SatNOGS Network and especially the ones that have been pro-active in reaching out and sharing as much information as possible.&lt;br /&gt;
&lt;br /&gt;
====1. Find new satellites====&lt;br /&gt;
Besides the missions that will actively reach out to us by filling issues in [https://gitlab.com/librespacefoundation/satnogs-ops satnogs-ops repo], we need to track launch activity to ensure we are adding new satellites in our DB. Some resources for tracking launches:&lt;br /&gt;
&lt;br /&gt;
*https://space.skyrocket.de/doc_chr/lau2020.htm&lt;br /&gt;
*https://spaceflightnow.com/launch-schedule/&lt;br /&gt;
*https://www.space.com/32286-space-calendar.html&lt;br /&gt;
&lt;br /&gt;
Tip: As of 2020 we are not adding any swarm satellite entries (e.g. Starlink, OneWeb etc)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====2. File the issues in satnogs-ops====&lt;br /&gt;
Once you have the information it is needed then navigate to [https://gitlab.com/librespacefoundation/satnogs-ops satnogs-ops repo] and open new issues containing all the information needed.&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs-ops/-/issues/new New issue on satnogs-ops]&lt;br /&gt;
&lt;br /&gt;
Some websites and online resources for digging up information (if not already provided by the mission teams):&lt;br /&gt;
&lt;br /&gt;
*http://nanosats.eu/&lt;br /&gt;
*http://www.amsatuk.me.uk/iaru/index.php&lt;br /&gt;
*https://fcc.report/&lt;br /&gt;
*https://apps.fcc.gov/oetcf/els/index.cfm&lt;br /&gt;
*Search Google and Twitter for mission posted information!&lt;br /&gt;
&lt;br /&gt;
====3. Add satellite in DB====&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====4. Add and approve transmitters in DB====&lt;br /&gt;
&lt;br /&gt;
==== 5. Sync SatNOGS Network ====&lt;br /&gt;
Go to [https://network.satnogs.org/settings_site/ Network Site Settings] and click on &amp;quot;Sync&amp;quot;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
====6. Update provisional TLEs (~12 hours before launch)====&lt;br /&gt;
{{Warning|This manual is intended for SatNOGS Moderators. If you are not a SatNOGS Moderator, please share TLEs in the '''Launch Thread''', so that one of the moderators can add it. Follow the [[Satellite Operator Guide]] for more information. }}&lt;br /&gt;
&lt;br /&gt;
* Acquire provisional TLEs (either constructed from the community or shared by the launch provider)&lt;br /&gt;
** You can verify the integrity of the TLE [https://www.vcalc.com/wiki/MichaelBartmess/TLE+Checksum here] and [https://oraas.orekit.space/oraas-tools-tletranslator.html here]&lt;br /&gt;
* Go to &amp;quot;[https://network.satnogs.org/admin/base/tle/add/ Add new TLE]&amp;quot; on network.satnogs.org&lt;br /&gt;
** Fill out the TLE (don't forget the TLE 0 line too)&lt;br /&gt;
** Enter &amp;quot;manual&amp;quot; as source&lt;br /&gt;
** Save the TLE&lt;br /&gt;
* Go to &amp;quot;[https://network.satnogs.org/admin/base/satellite/ Satellites]&amp;quot; in Admin of network.satnogs.org&lt;br /&gt;
** Find and Edit your satellite&lt;br /&gt;
** Check &amp;quot;Manual TLE&amp;quot; field&lt;br /&gt;
** Save the Satellite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
====7. Schedule LEOP====&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====8. Review results====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Linux_Desktop&amp;diff=3997</id>
		<title>Linux Desktop</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Linux_Desktop&amp;diff=3997"/>
		<updated>2025-05-13T09:02:45Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: Remove old guide from 2018, add link to new guide&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Warning|Manual installation of the SatNOGS Station Software is a tedious &amp;amp; brittle process, not recommended for SatNOGS Stations. Please consider running your SatNOGS Station on Debian or Raspbian and follow the [[SatNOGS Client Ansible]] guide for installing the SatNOGS Client }}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Here you will find instructions on installing SatNOGS manually on a generic Linux distribution. It is highly recommended to run SatNOGS stations on a Debian or Raspbian host system so that [[SatNOGS_Client_Ansible]] can be used for setup. All other Linux distributions require the manual installation of all needed programs.&lt;br /&gt;
&lt;br /&gt;
==Packages needed==&lt;br /&gt;
&lt;br /&gt;
Please check the README of each of those projects for their dependencies and installation procedure.&lt;br /&gt;
&lt;br /&gt;
*[https://gitlab.com/librespacefoundation/satnogs/satnogs-client satnogs-client]&lt;br /&gt;
**libhamlib&lt;br /&gt;
*[https://gitlab.com/librespacefoundation/satnogs/satnogs-flowgraphs satnogs-flowgraphs]&lt;br /&gt;
**[https://gitlab.com/librespacefoundation/satnogs/gr-satnogs gr-satnogs]&lt;br /&gt;
**gnuradio&lt;br /&gt;
**soapysdr&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
Guide: [https://gitlab.com/librespacefoundation/satnogs/satnogs-docs/-/snippets/4842563 Manual Installation of SatNOGS station stack (latest development versions, no docker, May 2025)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Build]]&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=PE1CKK_Az-El_rotator&amp;diff=3947</id>
		<title>PE1CKK Az-El rotator</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=PE1CKK_Az-El_rotator&amp;diff=3947"/>
		<updated>2025-02-04T11:48:16Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: specification table: fix style&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Rotator&lt;br /&gt;
|Rotator-Name=PE1CKK Az-El rotator&lt;br /&gt;
|image=&lt;br /&gt;
|type= Az/El&lt;br /&gt;
|cost=&lt;br /&gt;
|status=&lt;br /&gt;
|latest-release= &lt;br /&gt;
|latest-release-name= &lt;br /&gt;
|source-repo= &lt;br /&gt;
|documentation=[http://www.hybridpretender.nl/az-el.html Az-El rotator]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Introduction===&lt;br /&gt;
A fully 3D printed Az-El system, designed by PE1CKK.&lt;br /&gt;
&lt;br /&gt;
* Link: http://www.hybridpretender.nl/az-el.html&lt;br /&gt;
* [https://community.libre.space/t/az-el-printed-rotor-from-pa3axa-and-pe1ckk/12827/5 Forum thread]&lt;br /&gt;
&lt;br /&gt;
===Specification===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot; |'''PE1CKK Az-El rotator'''&lt;br /&gt;
|-&lt;br /&gt;
|Plastic Parts||20&lt;br /&gt;
|-&lt;br /&gt;
|Non Printed Parts||&lt;br /&gt;
|-&lt;br /&gt;
|Cost||&lt;br /&gt;
|-&lt;br /&gt;
|Controller Electronics||&lt;br /&gt;
|-&lt;br /&gt;
|Type||AZ/EL&lt;br /&gt;
|-&lt;br /&gt;
|Motors||2x DC Motors&lt;br /&gt;
|-&lt;br /&gt;
|Speed (deg/sec)||&lt;br /&gt;
|-&lt;br /&gt;
|Torque (Nm)||&lt;br /&gt;
|-&lt;br /&gt;
|Brake Torque (Nm)||&lt;br /&gt;
|-&lt;br /&gt;
|Dimensions (mm)||&lt;br /&gt;
|-&lt;br /&gt;
|Weight (kg)||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sourcing &amp;amp; parts===&lt;br /&gt;
[https://pad.tchncs.de/sheet/#/2/sheet/view/AfIfw2d1qwsnxny3PwVpOHarpkMlnl2fUeAyfzKnC3A/ Bill-of-materials (collaborative sheet)]&amp;lt;!-- editable link: https://pad.tchncs.de/sheet/#/2/sheet/edit/f9IAOteizSAx2Q5gZtsA5vyh/ --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====3D-printed Parts====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Part'''&lt;br /&gt;
|'''Model Filename'''&lt;br /&gt;
|'''Quantity'''&lt;br /&gt;
|-&lt;br /&gt;
|Bottom baseplate&lt;br /&gt;
|baseplate_2&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|Vertical base&lt;br /&gt;
|vertical base&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|Big gear half&lt;br /&gt;
|tandwiel_groot&lt;br /&gt;
|4&lt;br /&gt;
|-&lt;br /&gt;
|Motor gear&lt;br /&gt;
|tandwiel_motor&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|Resistor gear&lt;br /&gt;
|tandwiel_potmeter&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|Gear clamp&lt;br /&gt;
|lagerklem&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|Standoff ring&lt;br /&gt;
|bus&lt;br /&gt;
|8&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Other Parts====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Part'''&lt;br /&gt;
|'''Quantity'''&lt;br /&gt;
|'''Distributor'''&lt;br /&gt;
|'''Price (each)'''&lt;br /&gt;
|'''Remarks'''&lt;br /&gt;
|-&lt;br /&gt;
|Ball bearing: 35x44x5mm 6707-2R&lt;br /&gt;
|4&lt;br /&gt;
|aliexpress&lt;br /&gt;
|3.00 €&lt;br /&gt;
| - Fixed typo in bearing trade number&lt;br /&gt;
|-&lt;br /&gt;
|Motor: Bringsmart JGY-370 12V 10rpm&lt;br /&gt;
|2&lt;br /&gt;
|aliexpress&lt;br /&gt;
|5.00 €&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|L298N bridge motor controller&lt;br /&gt;
|1&lt;br /&gt;
|aliexpress&lt;br /&gt;
|4.00 €&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=PE1CKK_Az-El_rotator&amp;diff=3946</id>
		<title>PE1CKK Az-El rotator</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=PE1CKK_Az-El_rotator&amp;diff=3946"/>
		<updated>2025-02-04T11:46:50Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Rotator&lt;br /&gt;
|Rotator-Name=PE1CKK Az-El rotator&lt;br /&gt;
|image=&lt;br /&gt;
|type= Az/El&lt;br /&gt;
|cost=&lt;br /&gt;
|status=&lt;br /&gt;
|latest-release= &lt;br /&gt;
|latest-release-name= &lt;br /&gt;
|source-repo= &lt;br /&gt;
|documentation=[http://www.hybridpretender.nl/az-el.html Az-El rotator]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Introduction===&lt;br /&gt;
A fully 3D printed Az-El system, designed by PE1CKK.&lt;br /&gt;
&lt;br /&gt;
* Link: http://www.hybridpretender.nl/az-el.html&lt;br /&gt;
* [https://community.libre.space/t/az-el-printed-rotor-from-pa3axa-and-pe1ckk/12827/5 Forum thread]&lt;br /&gt;
&lt;br /&gt;
===Specification===&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot; |'''PE1CKK Az-El rotator'''&lt;br /&gt;
|-&lt;br /&gt;
|Plastic Parts||20&lt;br /&gt;
|-&lt;br /&gt;
|Non Printed Parts||&lt;br /&gt;
|-&lt;br /&gt;
|Cost||&lt;br /&gt;
|-&lt;br /&gt;
|Controller Electronics||&lt;br /&gt;
|-&lt;br /&gt;
|Type||AZ/EL&lt;br /&gt;
|-&lt;br /&gt;
|Motors||2x DC Motors&lt;br /&gt;
|-&lt;br /&gt;
|Speed (deg/sec)||&lt;br /&gt;
|-&lt;br /&gt;
|Torque (Nm)||&lt;br /&gt;
|-&lt;br /&gt;
|Brake Torque (Nm)||&lt;br /&gt;
|-&lt;br /&gt;
|Dimensions (mm)||&lt;br /&gt;
|-&lt;br /&gt;
|Weight (kg)||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sourcing &amp;amp; parts===&lt;br /&gt;
[https://pad.tchncs.de/sheet/#/2/sheet/view/AfIfw2d1qwsnxny3PwVpOHarpkMlnl2fUeAyfzKnC3A/ Bill-of-materials (collaborative sheet)]&amp;lt;!-- editable link: https://pad.tchncs.de/sheet/#/2/sheet/edit/f9IAOteizSAx2Q5gZtsA5vyh/ --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====3D-printed Parts====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Part'''&lt;br /&gt;
|'''Model Filename'''&lt;br /&gt;
|'''Quantity'''&lt;br /&gt;
|-&lt;br /&gt;
|Bottom baseplate&lt;br /&gt;
|baseplate_2&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|Vertical base&lt;br /&gt;
|vertical base&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|Big gear half&lt;br /&gt;
|tandwiel_groot&lt;br /&gt;
|4&lt;br /&gt;
|-&lt;br /&gt;
|Motor gear&lt;br /&gt;
|tandwiel_motor&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|Resistor gear&lt;br /&gt;
|tandwiel_potmeter&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|Gear clamp&lt;br /&gt;
|lagerklem&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|Standoff ring&lt;br /&gt;
|bus&lt;br /&gt;
|8&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Other Parts====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Part'''&lt;br /&gt;
|'''Quantity'''&lt;br /&gt;
|'''Distributor'''&lt;br /&gt;
|'''Price (each)'''&lt;br /&gt;
|'''Remarks'''&lt;br /&gt;
|-&lt;br /&gt;
|Ball bearing: 35x44x5mm 6707-2R&lt;br /&gt;
|4&lt;br /&gt;
|aliexpress&lt;br /&gt;
|3.00 €&lt;br /&gt;
| - Fixed typo in bearing trade number&lt;br /&gt;
|-&lt;br /&gt;
|Motor: Bringsmart JGY-370 12V 10rpm&lt;br /&gt;
|2&lt;br /&gt;
|aliexpress&lt;br /&gt;
|5.00 €&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|L298N bridge motor controller&lt;br /&gt;
|1&lt;br /&gt;
|aliexpress&lt;br /&gt;
|4.00 €&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=PE1CKK_Az-El_rotator&amp;diff=3945</id>
		<title>PE1CKK Az-El rotator</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=PE1CKK_Az-El_rotator&amp;diff=3945"/>
		<updated>2025-02-04T11:45:35Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: Add link to original documentation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Rotator&lt;br /&gt;
|Rotator-Name=PE1CKK Az-El rotator&lt;br /&gt;
|image=&lt;br /&gt;
|type= Az/El&lt;br /&gt;
|cost=&lt;br /&gt;
|status=&lt;br /&gt;
|latest-release= &lt;br /&gt;
|latest-release-name= &lt;br /&gt;
|source-repo= &lt;br /&gt;
|documentation=[http://www.hybridpretender.nl/az-el.html Az-El rotator]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Introduction===&lt;br /&gt;
A fully 3D printed Az-El system, designed by PE1CKK.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Link: http://www.hybridpretender.nl/az-el.html&lt;br /&gt;
&lt;br /&gt;
===Specification===&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot; |'''PE1CKK Az-El rotator'''&lt;br /&gt;
|-&lt;br /&gt;
|Plastic Parts||20&lt;br /&gt;
|-&lt;br /&gt;
|Non Printed Parts||&lt;br /&gt;
|-&lt;br /&gt;
|Cost||&lt;br /&gt;
|-&lt;br /&gt;
|Controller Electronics||&lt;br /&gt;
|-&lt;br /&gt;
|Type||AZ/EL&lt;br /&gt;
|-&lt;br /&gt;
|Motors||2x DC Motors&lt;br /&gt;
|-&lt;br /&gt;
|Speed (deg/sec)||&lt;br /&gt;
|-&lt;br /&gt;
|Torque (Nm)||&lt;br /&gt;
|-&lt;br /&gt;
|Brake Torque (Nm)||&lt;br /&gt;
|-&lt;br /&gt;
|Dimensions (mm)||&lt;br /&gt;
|-&lt;br /&gt;
|Weight (kg)||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sourcing &amp;amp; parts===&lt;br /&gt;
[https://pad.tchncs.de/sheet/#/2/sheet/view/AfIfw2d1qwsnxny3PwVpOHarpkMlnl2fUeAyfzKnC3A/ Bill-of-materials (collaborative sheet)]&amp;lt;!-- editable link: https://pad.tchncs.de/sheet/#/2/sheet/edit/f9IAOteizSAx2Q5gZtsA5vyh/ --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====3D-printed Parts====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Part'''&lt;br /&gt;
|'''Model Filename'''&lt;br /&gt;
|'''Quantity'''&lt;br /&gt;
|-&lt;br /&gt;
|Bottom baseplate&lt;br /&gt;
|baseplate_2&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|Vertical base&lt;br /&gt;
|vertical base&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|Big gear half&lt;br /&gt;
|tandwiel_groot&lt;br /&gt;
|4&lt;br /&gt;
|-&lt;br /&gt;
|Motor gear&lt;br /&gt;
|tandwiel_motor&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|Resistor gear&lt;br /&gt;
|tandwiel_potmeter&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|Gear clamp&lt;br /&gt;
|lagerklem&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|Standoff ring&lt;br /&gt;
|bus&lt;br /&gt;
|8&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Other Parts====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Part'''&lt;br /&gt;
|'''Quantity'''&lt;br /&gt;
|'''Distributor'''&lt;br /&gt;
|'''Price (each)'''&lt;br /&gt;
|'''Remarks'''&lt;br /&gt;
|-&lt;br /&gt;
|Ball bearing: 35x44x5mm 6707-2R&lt;br /&gt;
|4&lt;br /&gt;
|aliexpress&lt;br /&gt;
|3.00 €&lt;br /&gt;
| - Fixed typo in bearing trade number&lt;br /&gt;
|-&lt;br /&gt;
|Motor: Bringsmart JGY-370 12V 10rpm&lt;br /&gt;
|2&lt;br /&gt;
|aliexpress&lt;br /&gt;
|5.00 €&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|L298N bridge motor controller&lt;br /&gt;
|1&lt;br /&gt;
|aliexpress&lt;br /&gt;
|4.00 €&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=PE1CKK_Az-El_rotator&amp;diff=3944</id>
		<title>PE1CKK Az-El rotator</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=PE1CKK_Az-El_rotator&amp;diff=3944"/>
		<updated>2025-02-04T11:44:02Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: /* Sourcing &amp;amp; parts */ add table &amp;quot;3D-printed parts&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Rotator&lt;br /&gt;
|Rotator-Name=PE1CKK Az-El rotator&lt;br /&gt;
|image=&lt;br /&gt;
|type= Az/El&lt;br /&gt;
|cost=&lt;br /&gt;
|status=&lt;br /&gt;
|latest-release= &lt;br /&gt;
|latest-release-name= &lt;br /&gt;
|source-repo= &lt;br /&gt;
|documentation=[http://www.hybridpretender.nl/az-el.html Az-El rotator]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Introduction===&lt;br /&gt;
A fully 3D printed Az-El system, designed by PE1CKK.&lt;br /&gt;
&lt;br /&gt;
===Specification===&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot; |'''PE1CKK Az-El rotator'''&lt;br /&gt;
|-&lt;br /&gt;
|Plastic Parts||20&lt;br /&gt;
|-&lt;br /&gt;
|Non Printed Parts||&lt;br /&gt;
|-&lt;br /&gt;
|Cost||&lt;br /&gt;
|-&lt;br /&gt;
|Controller Electronics||&lt;br /&gt;
|-&lt;br /&gt;
|Type||AZ/EL&lt;br /&gt;
|-&lt;br /&gt;
|Motors||2x DC Motors&lt;br /&gt;
|-&lt;br /&gt;
|Speed (deg/sec)||&lt;br /&gt;
|-&lt;br /&gt;
|Torque (Nm)||&lt;br /&gt;
|-&lt;br /&gt;
|Brake Torque (Nm)||&lt;br /&gt;
|-&lt;br /&gt;
|Dimensions (mm)||&lt;br /&gt;
|-&lt;br /&gt;
|Weight (kg)||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sourcing &amp;amp; parts===&lt;br /&gt;
[https://pad.tchncs.de/sheet/#/2/sheet/view/AfIfw2d1qwsnxny3PwVpOHarpkMlnl2fUeAyfzKnC3A/ Bill-of-materials (collaborative sheet)]&amp;lt;!-- editable link: https://pad.tchncs.de/sheet/#/2/sheet/edit/f9IAOteizSAx2Q5gZtsA5vyh/ --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 3D-printed Parts ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Part'''&lt;br /&gt;
|'''Model Filename'''&lt;br /&gt;
|'''Quantity'''&lt;br /&gt;
|-&lt;br /&gt;
|Bottom baseplate&lt;br /&gt;
|baseplate_2&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|Vertical base&lt;br /&gt;
|vertical base&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|Big gear half&lt;br /&gt;
|tandwiel_groot&lt;br /&gt;
|4&lt;br /&gt;
|-&lt;br /&gt;
|Motor gear&lt;br /&gt;
|tandwiel_motor&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|Resistor gear&lt;br /&gt;
|tandwiel_potmeter&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|Gear clamp&lt;br /&gt;
|lagerklem&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|Standoff ring&lt;br /&gt;
|bus&lt;br /&gt;
|8&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Other Parts ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Part'''&lt;br /&gt;
|'''Quantity'''&lt;br /&gt;
|'''Distributor'''&lt;br /&gt;
|'''Price (each)'''&lt;br /&gt;
|'''Remarks'''&lt;br /&gt;
|-&lt;br /&gt;
|Ball bearing: 35x44x5mm 6707-2R&lt;br /&gt;
|4&lt;br /&gt;
|aliexpress&lt;br /&gt;
|3.00 €&lt;br /&gt;
| - Fixed typo in bearing trade number&lt;br /&gt;
|-&lt;br /&gt;
|Motor: Bringsmart JGY-370 12V 10rpm&lt;br /&gt;
|2&lt;br /&gt;
|aliexpress&lt;br /&gt;
|5.00 €&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|L298N bridge motor controller&lt;br /&gt;
|1&lt;br /&gt;
|aliexpress&lt;br /&gt;
|4.00 €&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=PE1CKK_Az-El_rotator&amp;diff=3943</id>
		<title>PE1CKK Az-El rotator</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=PE1CKK_Az-El_rotator&amp;diff=3943"/>
		<updated>2025-02-04T11:38:26Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: added BOM&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Rotator&lt;br /&gt;
|Rotator-Name=PE1CKK Az-El rotator&lt;br /&gt;
|image=&lt;br /&gt;
|type= Az/El&lt;br /&gt;
|cost=&lt;br /&gt;
|status=&lt;br /&gt;
|latest-release= &lt;br /&gt;
|latest-release-name= &lt;br /&gt;
|source-repo= &lt;br /&gt;
|documentation=[http://www.hybridpretender.nl/az-el.html Az-El rotator]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Introduction===&lt;br /&gt;
A fully 3D printed Az-El system, designed by PE1CKK.&lt;br /&gt;
&lt;br /&gt;
===Specification===&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot; |'''PE1CKK Az-El rotator'''&lt;br /&gt;
|-&lt;br /&gt;
|Plastic Parts||20&lt;br /&gt;
|-&lt;br /&gt;
|Non Printed Parts||&lt;br /&gt;
|-&lt;br /&gt;
|Cost||&lt;br /&gt;
|-&lt;br /&gt;
|Controller Electronics||&lt;br /&gt;
|-&lt;br /&gt;
|Type||AZ/EL&lt;br /&gt;
|-&lt;br /&gt;
|Motors||2x DC Motors&lt;br /&gt;
|-&lt;br /&gt;
|Speed (deg/sec)||&lt;br /&gt;
|-&lt;br /&gt;
|Torque (Nm)||&lt;br /&gt;
|-&lt;br /&gt;
|Brake Torque (Nm)||&lt;br /&gt;
|-&lt;br /&gt;
|Dimensions (mm)||&lt;br /&gt;
|-&lt;br /&gt;
|Weight (kg)||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sourcing &amp;amp; parts===&lt;br /&gt;
[https://pad.tchncs.de/sheet/#/2/sheet/view/AfIfw2d1qwsnxny3PwVpOHarpkMlnl2fUeAyfzKnC3A/ Bill-of-materials (collaborative sheet)]&amp;lt;!-- editable link: https://pad.tchncs.de/sheet/#/2/sheet/edit/f9IAOteizSAx2Q5gZtsA5vyh/ --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|Part&lt;br /&gt;
|Quantity&lt;br /&gt;
|Distributor&lt;br /&gt;
|Price (each)&lt;br /&gt;
|Remarks&lt;br /&gt;
|-&lt;br /&gt;
|Ball bearing: 35x44x5mm 6707-2R&lt;br /&gt;
|4&lt;br /&gt;
|aliexpress&lt;br /&gt;
|3.00 €&lt;br /&gt;
| - Fixed typo in bearing trade number&lt;br /&gt;
|-&lt;br /&gt;
|Motor: Bringsmart JGY-370 12V 10rpm&lt;br /&gt;
|2&lt;br /&gt;
|aliexpress&lt;br /&gt;
|5.00 €&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|L298N bridge motor controller&lt;br /&gt;
|1&lt;br /&gt;
|aliexpress&lt;br /&gt;
|4.00 €&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=PE1CKK_Az-El_rotator&amp;diff=3942</id>
		<title>PE1CKK Az-El rotator</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=PE1CKK_Az-El_rotator&amp;diff=3942"/>
		<updated>2025-02-04T11:36:36Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: Add section &amp;quot;sourcing &amp;amp; parts&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Rotator&lt;br /&gt;
|Rotator-Name=PE1CKK Az-El rotator&lt;br /&gt;
|image=&lt;br /&gt;
|type= Az/El&lt;br /&gt;
|cost=&lt;br /&gt;
|status=&lt;br /&gt;
|latest-release= &lt;br /&gt;
|latest-release-name= &lt;br /&gt;
|source-repo= &lt;br /&gt;
|documentation=[http://www.hybridpretender.nl/az-el.html Az-El rotator]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Introduction ===&lt;br /&gt;
A fully 3D printed Az-El system, designed by PE1CKK.&lt;br /&gt;
&lt;br /&gt;
=== Specification ===&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot; |'''PE1CKK Az-El rotator'''&lt;br /&gt;
|-&lt;br /&gt;
|Plastic Parts||20&lt;br /&gt;
|-&lt;br /&gt;
|Non Printed Parts||&lt;br /&gt;
|-&lt;br /&gt;
|Cost||&lt;br /&gt;
|-&lt;br /&gt;
|Controller Electronics||&lt;br /&gt;
|-&lt;br /&gt;
|Type||AZ/EL&lt;br /&gt;
|-&lt;br /&gt;
|Motors||2x DC Motors&lt;br /&gt;
|-&lt;br /&gt;
|Speed (deg/sec)||&lt;br /&gt;
|-&lt;br /&gt;
|Torque (Nm)||&lt;br /&gt;
|-&lt;br /&gt;
|Brake Torque (Nm)||&lt;br /&gt;
|-&lt;br /&gt;
|Dimensions (mm)||&lt;br /&gt;
|-&lt;br /&gt;
|Weight (kg)||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sourcing &amp;amp; parts ===&lt;br /&gt;
[https://pad.tchncs.de/sheet/#/2/sheet/view/AfIfw2d1qwsnxny3PwVpOHarpkMlnl2fUeAyfzKnC3A/ Bill-of-materials (collaborative sheet)]&amp;lt;!-- editable link: https://pad.tchncs.de/sheet/#/2/sheet/edit/f9IAOteizSAx2Q5gZtsA5vyh/ --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Template:Rotator&amp;diff=3941</id>
		<title>Template:Rotator</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Template:Rotator&amp;diff=3941"/>
		<updated>2025-02-04T10:59:49Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: Reverted edits by Kerel+satnogs (talk) to last revision by Ppapadeas&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| cellpadding=&amp;quot;3&amp;quot; style=&amp;quot;float:right; border-spacing:0px; background-color:#e27afff; font-size:95%; margin:0 0 0.5em 1em; width:28em; border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;color: black; background-color: #f6f6f6; font-weight: bold; text-align:center; font-size: larger; -moz-border-radius-topright: 8px; -moz-border-radius-topleft: 8px; border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot;  | {{{Rotator-Name}}}&lt;br /&gt;
|- class{{{image}}}=&amp;quot;hiddenStructure&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | [[Image:{{{image}}}|thumb|center|{{{Rotator-Name}}}]]&lt;br /&gt;
|- &lt;br /&gt;
!  colspan=&amp;quot;2&amp;quot; style=&amp;quot;color: black; background-color: #f6f6f6; font-weight: bold; text-align:center; border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | Rotator Information&lt;br /&gt;
|- class{{{type|}}}=&amp;quot;hiddenStructure&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Type:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | {{{type}}}&lt;br /&gt;
|- class{{{type|}}}=&amp;quot;hiddenStructure&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Cost:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | {{{cost}}}&lt;br /&gt;
|- &lt;br /&gt;
!  colspan=&amp;quot;2&amp;quot; style=&amp;quot;color: black; background-color: #f6f6f6; font-weight: bold; text-align:center; border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px; &amp;quot; | Release Information&lt;br /&gt;
|- background-color=&amp;quot;#fbfbff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Status:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | {{{status}}}&lt;br /&gt;
|- background-color=&amp;quot;#fbfbff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Latest Release:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | [{{{latest-release}}} {{{latest-release-name}}}]&lt;br /&gt;
|- background-color=&amp;quot;#fbfbff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Repository:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | [{{{source-repo}}}]&lt;br /&gt;
|- background-color=&amp;quot;#fbfbff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Documentation:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | [{{{documentation}}}]&lt;br /&gt;
|- background-color=&amp;quot;#fbfbff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;color: #3074c2; background-color: #f6f6f6; font-weight: bold; text-align:center; -moz-border-radius-bottomright: 8px; -moz-border-radius-bottomleft: 8px; border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
== [[Syntax]] ==&lt;br /&gt;
Copy this into your article and leave those sections blank, that you don't need!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{Template:Rotator&lt;br /&gt;
|Rotator-Name=&lt;br /&gt;
|image=&lt;br /&gt;
|type=&lt;br /&gt;
|status=&lt;br /&gt;
|latest-release=&lt;br /&gt;
|latest-release-name=&lt;br /&gt;
|source-repo=&lt;br /&gt;
|documentation=&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Template:Rotator&amp;diff=3940</id>
		<title>Template:Rotator</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Template:Rotator&amp;diff=3940"/>
		<updated>2025-02-04T10:58:20Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| cellpadding=&amp;quot;3&amp;quot; style=&amp;quot;float:right; border-spacing:0px; background-color:#e27afff; font-size:95%; margin:0 0 0.5em 1em; width:28em; border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;color: black; background-color: #f6f6f6; font-weight: bold; text-align:center; font-size: larger; -moz-border-radius-topright: 8px; -moz-border-radius-topleft: 8px; border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot;  | {{{Rotator-Name}}}&lt;br /&gt;
|-&lt;br /&gt;
{{#if:{{{image|}}}|IMAGE| NO IMAGE}}&lt;br /&gt;
|- &lt;br /&gt;
!  colspan=&amp;quot;2&amp;quot; style=&amp;quot;color: black; background-color: #f6f6f6; font-weight: bold; text-align:center; border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | Rotator Information&lt;br /&gt;
|- class{{{type|}}}=&amp;quot;hiddenStructure&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Type:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | {{{type}}}&lt;br /&gt;
|- class{{{type|}}}=&amp;quot;hiddenStructure&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Cost:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | {{{cost}}}&lt;br /&gt;
|- &lt;br /&gt;
!  colspan=&amp;quot;2&amp;quot; style=&amp;quot;color: black; background-color: #f6f6f6; font-weight: bold; text-align:center; border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px; &amp;quot; | Release Information&lt;br /&gt;
|- background-color=&amp;quot;#fbfbff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Status:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | {{{status}}}&lt;br /&gt;
|- background-color=&amp;quot;#fbfbff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Latest Release:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | [{{{latest-release}}} {{{latest-release-name}}}]&lt;br /&gt;
|- background-color=&amp;quot;#fbfbff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Repository:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | [{{{source-repo}}}]&lt;br /&gt;
|- background-color=&amp;quot;#fbfbff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Documentation:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | [{{{documentation}}}]&lt;br /&gt;
|- background-color=&amp;quot;#fbfbff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;color: #3074c2; background-color: #f6f6f6; font-weight: bold; text-align:center; -moz-border-radius-bottomright: 8px; -moz-border-radius-bottomleft: 8px; border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
== [[Syntax]] ==&lt;br /&gt;
Copy this into your article and leave those sections blank, that you don't need!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{Template:Rotator&lt;br /&gt;
|Rotator-Name=&lt;br /&gt;
|image=&lt;br /&gt;
|type=&lt;br /&gt;
|status=&lt;br /&gt;
|latest-release=&lt;br /&gt;
|latest-release-name=&lt;br /&gt;
|source-repo=&lt;br /&gt;
|documentation=&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Template:Rotator&amp;diff=3939</id>
		<title>Template:Rotator</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Template:Rotator&amp;diff=3939"/>
		<updated>2025-02-04T10:52:02Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: fix previous change&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| cellpadding=&amp;quot;3&amp;quot; style=&amp;quot;float:right; border-spacing:0px; background-color:#e27afff; font-size:95%; margin:0 0 0.5em 1em; width:28em; border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;color: black; background-color: #f6f6f6; font-weight: bold; text-align:center; font-size: larger; -moz-border-radius-topright: 8px; -moz-border-radius-topleft: 8px; border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot;  | {{{Rotator-Name}}}&lt;br /&gt;
{{#if:{{{image|}}}|&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | [[Image:{{{image}}}|thumb|center|{{{Rotator-Name}}}]]&lt;br /&gt;
}}&lt;br /&gt;
|- &lt;br /&gt;
!  colspan=&amp;quot;2&amp;quot; style=&amp;quot;color: black; background-color: #f6f6f6; font-weight: bold; text-align:center; border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | Rotator Information&lt;br /&gt;
|- class{{{type|}}}=&amp;quot;hiddenStructure&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Type:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | {{{type}}}&lt;br /&gt;
|- class{{{type|}}}=&amp;quot;hiddenStructure&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Cost:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | {{{cost}}}&lt;br /&gt;
|- &lt;br /&gt;
!  colspan=&amp;quot;2&amp;quot; style=&amp;quot;color: black; background-color: #f6f6f6; font-weight: bold; text-align:center; border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px; &amp;quot; | Release Information&lt;br /&gt;
|- background-color=&amp;quot;#fbfbff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Status:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | {{{status}}}&lt;br /&gt;
|- background-color=&amp;quot;#fbfbff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Latest Release:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | [{{{latest-release}}} {{{latest-release-name}}}]&lt;br /&gt;
|- background-color=&amp;quot;#fbfbff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Repository:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | [{{{source-repo}}}]&lt;br /&gt;
|- background-color=&amp;quot;#fbfbff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Documentation:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | [{{{documentation}}}]&lt;br /&gt;
|- background-color=&amp;quot;#fbfbff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;color: #3074c2; background-color: #f6f6f6; font-weight: bold; text-align:center; -moz-border-radius-bottomright: 8px; -moz-border-radius-bottomleft: 8px; border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
== [[Syntax]] ==&lt;br /&gt;
Copy this into your article and leave those sections blank, that you don't need!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{Template:Rotator&lt;br /&gt;
|Rotator-Name=&lt;br /&gt;
|image=&lt;br /&gt;
|type=&lt;br /&gt;
|status=&lt;br /&gt;
|latest-release=&lt;br /&gt;
|latest-release-name=&lt;br /&gt;
|source-repo=&lt;br /&gt;
|documentation=&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Template:Rotator&amp;diff=3938</id>
		<title>Template:Rotator</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Template:Rotator&amp;diff=3938"/>
		<updated>2025-02-04T10:49:58Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: Hide image row if template field &amp;quot;image&amp;quot; is empty, using if-syntax instead of missing CSS class &amp;quot;hiddenStructure&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| cellpadding=&amp;quot;3&amp;quot; style=&amp;quot;float:right; border-spacing:0px; background-color:#e27afff; font-size:95%; margin:0 0 0.5em 1em; width:28em; border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;color: black; background-color: #f6f6f6; font-weight: bold; text-align:center; font-size: larger; -moz-border-radius-topright: 8px; -moz-border-radius-topleft: 8px; border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot;  | {{{Rotator-Name}}}&lt;br /&gt;
{{#if:{{{image|}}}|&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | [[Image:{{{image}}}|thumb|center|{{{Rotator-Name}}}]]&lt;br /&gt;
}}&lt;br /&gt;
|- &lt;br /&gt;
!  colspan=&amp;quot;2&amp;quot; style=&amp;quot;color: black; background-color: #f6f6f6; font-weight: bold; text-align:center; border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | Rotator Information&lt;br /&gt;
|- class{{{type|}}}=&amp;quot;hiddenStructure&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Type:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | {{{type}}}&lt;br /&gt;
|- class{{{type|}}}=&amp;quot;hiddenStructure&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Cost:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | {{{cost}}}&lt;br /&gt;
|- &lt;br /&gt;
!  colspan=&amp;quot;2&amp;quot; style=&amp;quot;color: black; background-color: #f6f6f6; font-weight: bold; text-align:center; border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px; &amp;quot; | Release Information&lt;br /&gt;
|- background-color=&amp;quot;#fbfbff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Status:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | {{{status}}}&lt;br /&gt;
|- background-color=&amp;quot;#fbfbff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Latest Release:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | [{{{latest-release}}} {{{latest-release-name}}}]&lt;br /&gt;
|- background-color=&amp;quot;#fbfbff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Repository:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | [{{{source-repo}}}]&lt;br /&gt;
|- background-color=&amp;quot;#fbfbff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Documentation:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | [{{{documentation}}}]&lt;br /&gt;
|- background-color=&amp;quot;#fbfbff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;color: #3074c2; background-color: #f6f6f6; font-weight: bold; text-align:center; -moz-border-radius-bottomright: 8px; -moz-border-radius-bottomleft: 8px; border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
== [[Syntax]] ==&lt;br /&gt;
Copy this into your article and leave those sections blank, that you don't need!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{Template:Rotator&lt;br /&gt;
|Rotator-Name=&lt;br /&gt;
|image=&lt;br /&gt;
|type=&lt;br /&gt;
|status=&lt;br /&gt;
|latest-release=&lt;br /&gt;
|latest-release-name=&lt;br /&gt;
|source-repo=&lt;br /&gt;
|documentation=&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=PE1CKK_Az-El_rotator&amp;diff=3937</id>
		<title>PE1CKK Az-El rotator</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=PE1CKK_Az-El_rotator&amp;diff=3937"/>
		<updated>2025-02-04T10:46:09Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: Add initial &amp;quot;PE1CKK Az-El rotator&amp;quot; page using rotator template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Rotator&lt;br /&gt;
|Rotator-Name=PE1CKK Az-El rotator&lt;br /&gt;
|image=&lt;br /&gt;
|type= Az/El&lt;br /&gt;
|cost=&lt;br /&gt;
|status=&lt;br /&gt;
|latest-release= &lt;br /&gt;
|latest-release-name= &lt;br /&gt;
|source-repo= &lt;br /&gt;
|documentation=[http://www.hybridpretender.nl/az-el.html Az-El rotator]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Template:Rotator&amp;diff=3936</id>
		<title>Template:Rotator</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Template:Rotator&amp;diff=3936"/>
		<updated>2025-02-04T10:44:43Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: Hide image row if image is empty&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| cellpadding=&amp;quot;3&amp;quot; style=&amp;quot;float:right; border-spacing:0px; background-color:#e27afff; font-size:95%; margin:0 0 0.5em 1em; width:28em; border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;color: black; background-color: #f6f6f6; font-weight: bold; text-align:center; font-size: larger; -moz-border-radius-topright: 8px; -moz-border-radius-topleft: 8px; border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot;  | {{{Rotator-Name}}}&lt;br /&gt;
|- class{{{image|}}}=&amp;quot;hiddenStructure&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | [[Image:{{{image}}}|thumb|center|{{{Rotator-Name}}}]]&lt;br /&gt;
|- &lt;br /&gt;
!  colspan=&amp;quot;2&amp;quot; style=&amp;quot;color: black; background-color: #f6f6f6; font-weight: bold; text-align:center; border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | Rotator Information&lt;br /&gt;
|- class{{{type|}}}=&amp;quot;hiddenStructure&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Type:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | {{{type}}}&lt;br /&gt;
|- class{{{type|}}}=&amp;quot;hiddenStructure&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Cost:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | {{{cost}}}&lt;br /&gt;
|- &lt;br /&gt;
!  colspan=&amp;quot;2&amp;quot; style=&amp;quot;color: black; background-color: #f6f6f6; font-weight: bold; text-align:center; border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px; &amp;quot; | Release Information&lt;br /&gt;
|- background-color=&amp;quot;#fbfbff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Status:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | {{{status}}}&lt;br /&gt;
|- background-color=&amp;quot;#fbfbff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Latest Release:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | [{{{latest-release}}} {{{latest-release-name}}}]&lt;br /&gt;
|- background-color=&amp;quot;#fbfbff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Repository:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | [{{{source-repo}}}]&lt;br /&gt;
|- background-color=&amp;quot;#fbfbff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Documentation:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | [{{{documentation}}}]&lt;br /&gt;
|- background-color=&amp;quot;#fbfbff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;color: #3074c2; background-color: #f6f6f6; font-weight: bold; text-align:center; -moz-border-radius-bottomright: 8px; -moz-border-radius-bottomleft: 8px; border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
== [[Syntax]] ==&lt;br /&gt;
Copy this into your article and leave those sections blank, that you don't need!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{Template:Rotator&lt;br /&gt;
|Rotator-Name=&lt;br /&gt;
|image=&lt;br /&gt;
|type=&lt;br /&gt;
|status=&lt;br /&gt;
|latest-release=&lt;br /&gt;
|latest-release-name=&lt;br /&gt;
|source-repo=&lt;br /&gt;
|documentation=&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Template:Rotator&amp;diff=3935</id>
		<title>Template:Rotator</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Template:Rotator&amp;diff=3935"/>
		<updated>2025-02-04T10:36:00Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: Reverted edits by Kerel+satnogs (talk) to last revision by Ppapadeas&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| cellpadding=&amp;quot;3&amp;quot; style=&amp;quot;float:right; border-spacing:0px; background-color:#e27afff; font-size:95%; margin:0 0 0.5em 1em; width:28em; border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;color: black; background-color: #f6f6f6; font-weight: bold; text-align:center; font-size: larger; -moz-border-radius-topright: 8px; -moz-border-radius-topleft: 8px; border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot;  | {{{Rotator-Name}}}&lt;br /&gt;
|- class{{{image}}}=&amp;quot;hiddenStructure&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | [[Image:{{{image}}}|thumb|center|{{{Rotator-Name}}}]]&lt;br /&gt;
|- &lt;br /&gt;
!  colspan=&amp;quot;2&amp;quot; style=&amp;quot;color: black; background-color: #f6f6f6; font-weight: bold; text-align:center; border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | Rotator Information&lt;br /&gt;
|- class{{{type|}}}=&amp;quot;hiddenStructure&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Type:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | {{{type}}}&lt;br /&gt;
|- class{{{type|}}}=&amp;quot;hiddenStructure&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Cost:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | {{{cost}}}&lt;br /&gt;
|- &lt;br /&gt;
!  colspan=&amp;quot;2&amp;quot; style=&amp;quot;color: black; background-color: #f6f6f6; font-weight: bold; text-align:center; border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px; &amp;quot; | Release Information&lt;br /&gt;
|- background-color=&amp;quot;#fbfbff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Status:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | {{{status}}}&lt;br /&gt;
|- background-color=&amp;quot;#fbfbff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Latest Release:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | [{{{latest-release}}} {{{latest-release-name}}}]&lt;br /&gt;
|- background-color=&amp;quot;#fbfbff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Repository:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | [{{{source-repo}}}]&lt;br /&gt;
|- background-color=&amp;quot;#fbfbff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Documentation:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | [{{{documentation}}}]&lt;br /&gt;
|- background-color=&amp;quot;#fbfbff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;color: #3074c2; background-color: #f6f6f6; font-weight: bold; text-align:center; -moz-border-radius-bottomright: 8px; -moz-border-radius-bottomleft: 8px; border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
== [[Syntax]] ==&lt;br /&gt;
Copy this into your article and leave those sections blank, that you don't need!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{Template:Rotator&lt;br /&gt;
|Rotator-Name=&lt;br /&gt;
|image=&lt;br /&gt;
|type=&lt;br /&gt;
|status=&lt;br /&gt;
|latest-release=&lt;br /&gt;
|latest-release-name=&lt;br /&gt;
|source-repo=&lt;br /&gt;
|documentation=&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Template:Rotator&amp;diff=3934</id>
		<title>Template:Rotator</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Template:Rotator&amp;diff=3934"/>
		<updated>2025-02-04T10:33:36Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: Show image only iff the image field is non-empty&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| cellpadding=&amp;quot;3&amp;quot; style=&amp;quot;float:right; border-spacing:0px; background-color:#e27afff; font-size:95%; margin:0 0 0.5em 1em; width:28em; border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;color: black; background-color: #f6f6f6; font-weight: bold; text-align:center; font-size: larger; -moz-border-radius-topright: 8px; -moz-border-radius-topleft: 8px; border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot;  | {{{Rotator-Name}}}&lt;br /&gt;
{{#if: {{{image|}}} |&lt;br /&gt;
|- class{{{image}}}=&amp;quot;hiddenStructure&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | [[Image:{{{image}}}|thumb|center|{{{Rotator-Name}}}]]&lt;br /&gt;
|- &lt;br /&gt;
}}&lt;br /&gt;
!  colspan=&amp;quot;2&amp;quot; style=&amp;quot;color: black; background-color: #f6f6f6; font-weight: bold; text-align:center; border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | Rotator Information&lt;br /&gt;
|- class{{{type|}}}=&amp;quot;hiddenStructure&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Type:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | {{{type}}}&lt;br /&gt;
|- class{{{type|}}}=&amp;quot;hiddenStructure&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Cost:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | {{{cost}}}&lt;br /&gt;
|- &lt;br /&gt;
!  colspan=&amp;quot;2&amp;quot; style=&amp;quot;color: black; background-color: #f6f6f6; font-weight: bold; text-align:center; border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px; &amp;quot; | Release Information&lt;br /&gt;
|- background-color=&amp;quot;#fbfbff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Status:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | {{{status}}}&lt;br /&gt;
|- background-color=&amp;quot;#fbfbff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Latest Release:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | [{{{latest-release}}} {{{latest-release-name}}}]&lt;br /&gt;
|- background-color=&amp;quot;#fbfbff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Repository:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | [{{{source-repo}}}]&lt;br /&gt;
|- background-color=&amp;quot;#fbfbff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | '''Documentation:''' || style=&amp;quot;border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | [{{{documentation}}}]&lt;br /&gt;
|- background-color=&amp;quot;#fbfbff&amp;quot; valign=&amp;quot;top&amp;quot; border-left=&amp;quot;0px&amp;quot; border-right=&amp;quot;0px&amp;quot; border-bottom=&amp;quot;0px&amp;quot; border-top=&amp;quot;0px&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;color: #3074c2; background-color: #f6f6f6; font-weight: bold; text-align:center; -moz-border-radius-bottomright: 8px; -moz-border-radius-bottomleft: 8px; border-left: 0px; border-right: 0px; border-bottom: 0px; border-top: 0px;&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
== [[Syntax]] ==&lt;br /&gt;
Copy this into your article and leave those sections blank, that you don't need!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{Template:Rotator&lt;br /&gt;
|Rotator-Name=&lt;br /&gt;
|image=&lt;br /&gt;
|type=&lt;br /&gt;
|status=&lt;br /&gt;
|latest-release=&lt;br /&gt;
|latest-release-name=&lt;br /&gt;
|source-repo=&lt;br /&gt;
|documentation=&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=SatNOGS_DB&amp;diff=3907</id>
		<title>SatNOGS DB</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=SatNOGS_DB&amp;diff=3907"/>
		<updated>2025-01-08T23:17:12Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
[[File:SatNOGS DB front page.png|alt=|400x400px|thumb|SatNOGS DB front page]][https://db.satnogs.org/ SatNOGS DB] is an effort to create a holistic, unified, global transmitter database for all satellite information. You can export the data or even connect your application using our API. It's part of the SatNOGS project.&lt;br /&gt;
==Data==&lt;br /&gt;
The DB is open to everyone. Anyone is able to submit suggestions or use the existing Transmitters. All data are public and freely under the [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 license] (CC-BY-SA-4.0).&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Contribute==&lt;br /&gt;
&lt;br /&gt;
===Suggesting new Satellites===&lt;br /&gt;
Feel free to suggest satellites for upcoming or previous launches.&lt;br /&gt;
&lt;br /&gt;
#Login to SatNOGS DB&lt;br /&gt;
#Go to &amp;quot;All Satellites&amp;quot; section in the left menu&lt;br /&gt;
#At the top right click on &amp;quot;Edit&amp;quot; button and choose &amp;quot;Suggest New Satellite&amp;quot;&lt;br /&gt;
#Leave blank NORAD ID if it isn’t known or satellite isn’t identified&lt;br /&gt;
&lt;br /&gt;
=== Suggesting edits for existing satellites ===&lt;br /&gt;
&lt;br /&gt;
# Login to SatNOGS DB&lt;br /&gt;
# Go to the page of the satellite you want to edit&lt;br /&gt;
# At the top right, click &amp;quot;Edit&amp;quot; and choose &amp;quot;Edit {satellite name}&amp;quot;&lt;br /&gt;
# Always make sure to include a citation that provides the primary source for your edit&lt;br /&gt;
&lt;br /&gt;
===Suggesting transmitters===&lt;br /&gt;
[[File:Create new transmitter.png|thumb|Menu item to add new transmitter suggestion (for logged in users)]]&lt;br /&gt;
[[File:Transmitter suggestion.png|alt=|thumb|New transmitter suggestion (any logged in user can do it!)]]&lt;br /&gt;
We rely on crowd-sourced information to keep our transmitter details up to date. Anyone with a SatNOGS login can submit transmitter details. Moderators are notified and approve submissions frequently.&lt;br /&gt;
&lt;br /&gt;
#Login in SatNOGS DB&lt;br /&gt;
#Navigate to the satellite page of the satellite you want to edit (if the satellite was recently added, you can access the last 5 from the home page, otherwise use the search)&lt;br /&gt;
#At the top right click on &amp;quot;Edit&amp;quot; button and choose &amp;quot;Submit New Transmitter&amp;quot;&lt;br /&gt;
#If modulation isn’t know please choose the FM one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Further Notes:&lt;br /&gt;
&lt;br /&gt;
*Description: This is the name that will appear for this transmitter across DB, Network, and API users. Please use the following notations&lt;br /&gt;
**Band, for instance VHF,  or for a transceiver, MODE U/V&lt;br /&gt;
**Baud (if applicable), in the format 9k6 for 9600&lt;br /&gt;
**Mode, for instance FSK&lt;br /&gt;
**Rough type description, ie TLM for &amp;quot;telemetry&amp;quot;, or &amp;quot;FM Transponder&amp;quot; for repeater&lt;br /&gt;
**Examples&lt;br /&gt;
***UHF 9k6 FSK TLM&lt;br /&gt;
***MODE U/V FM Transceiver&lt;br /&gt;
***VHF CW TLM&lt;br /&gt;
*Type&lt;br /&gt;
**Transmitter: one-way downlink (telemetry)&lt;br /&gt;
**Transceiver: repeats an uplinked signal intact&lt;br /&gt;
**Transponder: interacts with an uplinked signal or downlinks after signal modification&lt;br /&gt;
*Status&lt;br /&gt;
**Active: alive and well&lt;br /&gt;
**Inactive: not functional or powered down&lt;br /&gt;
**Invalid: this is a legacy or erroneous transmitter information that should be hidden from UI&lt;br /&gt;
*Downlink Freq: Published frequency, in Hz&lt;br /&gt;
*Downlink Drifted: Observed frequency, or what frequency should be used to properly tune (with doppler correction). In most cases this should be the same as the Downlink frequency. This field '''must be entered''' even if there is no drift.&lt;br /&gt;
*Downlink Mode: The modulation mode for this transmitter&lt;br /&gt;
*Baud rate: the baud rate, if applicable. If this is a CW beacon, use WPM&lt;br /&gt;
*Citation URL: a URL to link to in providing the details for your suggestion. Include observations from SatNOGS Network and/or frequency coordination documentation.&lt;br /&gt;
*Service: The ITU service that the transmitter can be categorized.&lt;br /&gt;
&lt;br /&gt;
===Approving transmitters===&lt;br /&gt;
[[File:Review transmitter suggestion.png|thumb|Review transmitter suggestion (for moderators only)]]&lt;br /&gt;
If you are a moderator you can approved suggestions for transmitters. For that follow the instructions:&lt;br /&gt;
&lt;br /&gt;
#Log in to db.satnogs.org&lt;br /&gt;
#Navigate to the satellite page that has pending suggestions for transmitters&lt;br /&gt;
#Review the suggestion&lt;br /&gt;
#Decide to accept or reject it by clicking on the transmitter menu top right.&lt;br /&gt;
&lt;br /&gt;
Note:  this process may change in the future; see [https://gitlab.com/librespacefoundation/satnogs/satnogs-db/issues?milestone_title=Improved+User+Experience the Gitlab issues list] for details.&lt;br /&gt;
&lt;br /&gt;
===Adding Satellites manually (deprecated)===&lt;br /&gt;
If you are a moderator you can add new satellite on the DB directly. For that follow the instructions:&lt;br /&gt;
&lt;br /&gt;
#Login in SatNOGS DB&lt;br /&gt;
#Navigate to https://db.satnogs.org/admin (if you are seeing a login screen, you are either not logged in or don't have moderator permissions)&lt;br /&gt;
#Click on Base::Satellite [https://db.satnogs.org/admin/base/satellite/add/ Add button]&lt;br /&gt;
#Complete the information to the best of your knowledge. NORAD ID and Name are mandatory. Add multiple names on the &amp;quot;Names&amp;quot; field.&lt;br /&gt;
#Click Save and you are done!&lt;br /&gt;
#You can now move on to the next steps: suggesting and approving transmitters for this satellite.&lt;br /&gt;
&lt;br /&gt;
Note:  this process may change in the future; see [https://gitlab.com/librespacefoundation/satnogs/satnogs-db/issues?milestone_title=Improved+User+Experience the Gitlab issues list] for details.&lt;br /&gt;
&lt;br /&gt;
===Coding===&lt;br /&gt;
Fluent in Python and/or JS? We need you to help with the satnogs-db web application! Take a look at our [https://gitlab.com/librespacefoundation/satnogs/satnogs-db source code], or visit our [https://gitlab.com/librespacefoundation/satnogs/satnogs-db/issues? issues tracker] to start filling bugs, feature requests or code fixes for existing ones.&lt;br /&gt;
&lt;br /&gt;
==API==&lt;br /&gt;
&lt;br /&gt;
More info can be found in [[SatNOGS DB/API|API wiki page]].&lt;br /&gt;
&lt;br /&gt;
==Documentation &amp;amp; Installation==&lt;br /&gt;
&lt;br /&gt;
You can find documentation and installation instructions about the project in our [https://docs.satnogs.org/projects/satnogs-db/en/stable/ Read the Docs instance].&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*[[SatNOGS Network]]&lt;br /&gt;
*[https://libre.space/2020/03/02/space-situational-awareness/ Space Situational Awareness – The story so far and an open way forward]&lt;br /&gt;
&lt;br /&gt;
[[Category:Infrastructure]]&lt;br /&gt;
[[Category:Operate]]&lt;br /&gt;
[[Category:Satellite]]&lt;br /&gt;
[[Category:RF Modes]]&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=SatNOGS_DB&amp;diff=3906</id>
		<title>SatNOGS DB</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=SatNOGS_DB&amp;diff=3906"/>
		<updated>2025-01-08T23:16:34Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
[[File:SatNOGS DB front page.png|alt=|400x400px|thumb|SatNOGS DB front page]][https://db.satnogs.org/ SatNOGS DB] is an effort to create a holistic, unified, global transmitter database for all satellite information. You can export the data or even connect your application using our API. It's part of the SatNOGS project.&lt;br /&gt;
==Data==&lt;br /&gt;
The DB is open to everyone. Anyone is able to submit suggestions or use the existing Transmitters. All data are public and freely under the [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 license] (CC-BY-SA-4.0).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Contribute==&lt;br /&gt;
&lt;br /&gt;
===Suggesting new Satellites===&lt;br /&gt;
Feel free to suggest satellites for upcoming or previous launches.&lt;br /&gt;
&lt;br /&gt;
#Login to SatNOGS DB&lt;br /&gt;
#Go to &amp;quot;All Satellites&amp;quot; section in the left menu&lt;br /&gt;
#At the top right click on &amp;quot;Edit&amp;quot; button and choose &amp;quot;Suggest New Satellite&amp;quot;&lt;br /&gt;
#Leave blank NORAD ID if it isn’t known or satellite isn’t identified&lt;br /&gt;
&lt;br /&gt;
=== Suggesting edits for existing satellites ===&lt;br /&gt;
&lt;br /&gt;
# Login to SatNOGS DB&lt;br /&gt;
# Go to the page of the satellite you want to edit&lt;br /&gt;
# At the top right, click &amp;quot;Edit&amp;quot; and choose &amp;quot;Edit {satellite name}&amp;quot;&lt;br /&gt;
# Always make sure to include a citation that provides the primary source for your edit&lt;br /&gt;
&lt;br /&gt;
===Suggesting transmitters===&lt;br /&gt;
[[File:Create new transmitter.png|thumb|Menu item to add new transmitter suggestion (for logged in users)]]&lt;br /&gt;
[[File:Transmitter suggestion.png|alt=|thumb|New transmitter suggestion (any logged in user can do it!)]]&lt;br /&gt;
We rely on crowd-sourced information to keep our transmitter details up to date. Anyone with a SatNOGS login can submit transmitter details. Moderators are notified and approve submissions frequently.&lt;br /&gt;
&lt;br /&gt;
#Login in SatNOGS DB&lt;br /&gt;
#Navigate to the satellite page of the satellite you want to edit (if the satellite was recently added, you can access the last 5 from the home page, otherwise use the search)&lt;br /&gt;
#At the top right click on &amp;quot;Edit&amp;quot; button and choose &amp;quot;Submit New Transmitter&amp;quot;&lt;br /&gt;
#If modulation isn’t know please choose the FM one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Further Notes:&lt;br /&gt;
&lt;br /&gt;
*Description: This is the name that will appear for this transmitter across DB, Network, and API users. Please use the following notations&lt;br /&gt;
**Band, for instance VHF,  or for a transceiver, MODE U/V&lt;br /&gt;
**Baud (if applicable), in the format 9k6 for 9600&lt;br /&gt;
**Mode, for instance FSK&lt;br /&gt;
**Rough type description, ie TLM for &amp;quot;telemetry&amp;quot;, or &amp;quot;FM Transponder&amp;quot; for repeater&lt;br /&gt;
**Examples&lt;br /&gt;
***UHF 9k6 FSK TLM&lt;br /&gt;
***MODE U/V FM Transceiver&lt;br /&gt;
***VHF CW TLM&lt;br /&gt;
*Type&lt;br /&gt;
**Transmitter: one-way downlink (telemetry)&lt;br /&gt;
**Transceiver: repeats an uplinked signal intact&lt;br /&gt;
**Transponder: interacts with an uplinked signal or downlinks after signal modification&lt;br /&gt;
*Status&lt;br /&gt;
**Active: alive and well&lt;br /&gt;
**Inactive: not functional or powered down&lt;br /&gt;
**Invalid: this is a legacy or erroneous transmitter information that should be hidden from UI&lt;br /&gt;
*Downlink Freq: Published frequency, in Hz&lt;br /&gt;
*Downlink Drifted: Observed frequency, or what frequency should be used to properly tune (with doppler correction). In most cases this should be the same as the Downlink frequency. This field '''must be entered''' even if there is no drift.&lt;br /&gt;
*Downlink Mode: The modulation mode for this transmitter&lt;br /&gt;
*Baud rate: the baud rate, if applicable. If this is a CW beacon, use WPM&lt;br /&gt;
*Citation URL: a URL to link to in providing the details for your suggestion. Include observations from SatNOGS Network and/or frequency coordination documentation.&lt;br /&gt;
*Service: The ITU service that the transmitter can be categorized.&lt;br /&gt;
&lt;br /&gt;
===Approving transmitters===&lt;br /&gt;
[[File:Review transmitter suggestion.png|thumb|Review transmitter suggestion (for moderators only)]]&lt;br /&gt;
If you are a moderator you can approved suggestions for transmitters. For that follow the instructions:&lt;br /&gt;
&lt;br /&gt;
#Log in to db.satnogs.org&lt;br /&gt;
#Navigate to the satellite page that has pending suggestions for transmitters&lt;br /&gt;
#Review the suggestion&lt;br /&gt;
#Decide to accept or reject it by clicking on the transmitter menu top right.&lt;br /&gt;
&lt;br /&gt;
Note:  this process may change in the future; see [https://gitlab.com/librespacefoundation/satnogs/satnogs-db/issues?milestone_title=Improved+User+Experience the Gitlab issues list] for details.&lt;br /&gt;
&lt;br /&gt;
===Adding Satellites manually (deprecated)===&lt;br /&gt;
If you are a moderator you can add new satellite on the DB directly. For that follow the instructions:&lt;br /&gt;
&lt;br /&gt;
#Login in SatNOGS DB&lt;br /&gt;
#Navigate to https://db.satnogs.org/admin (if you are seeing a login screen, you are either not logged in or don't have moderator permissions)&lt;br /&gt;
#Click on Base::Satellite [https://db.satnogs.org/admin/base/satellite/add/ Add button]&lt;br /&gt;
#Complete the information to the best of your knowledge. NORAD ID and Name are mandatory. Add multiple names on the &amp;quot;Names&amp;quot; field.&lt;br /&gt;
#Click Save and you are done!&lt;br /&gt;
#You can now move on to the next steps: suggesting and approving transmitters for this satellite.&lt;br /&gt;
&lt;br /&gt;
Note:  this process may change in the future; see [https://gitlab.com/librespacefoundation/satnogs/satnogs-db/issues?milestone_title=Improved+User+Experience the Gitlab issues list] for details.&lt;br /&gt;
&lt;br /&gt;
===Coding===&lt;br /&gt;
Fluent in Python and/or JS? We need you to help with the satnogs-db web application! Take a look at our [https://gitlab.com/librespacefoundation/satnogs/satnogs-db source code], or visit our [https://gitlab.com/librespacefoundation/satnogs/satnogs-db/issues? issues tracker] to start filling bugs, feature requests or code fixes for existing ones.&lt;br /&gt;
&lt;br /&gt;
==API==&lt;br /&gt;
&lt;br /&gt;
More info can be found in [[SatNOGS DB/API|API wiki page]].&lt;br /&gt;
&lt;br /&gt;
==Documentation &amp;amp; Installation==&lt;br /&gt;
&lt;br /&gt;
You can find documentation and installation instructions about the project in our [https://docs.satnogs.org/projects/satnogs-db/en/stable/ Read the Docs instance].&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*[[SatNOGS Network]]&lt;br /&gt;
*[https://libre.space/2020/03/02/space-situational-awareness/ Space Situational Awareness – The story so far and an open way forward]&lt;br /&gt;
&lt;br /&gt;
[[Category:Infrastructure]]&lt;br /&gt;
[[Category:Operate]]&lt;br /&gt;
[[Category:Satellite]]&lt;br /&gt;
[[Category:RF Modes]]&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=SatNOGS_DB&amp;diff=3905</id>
		<title>SatNOGS DB</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=SatNOGS_DB&amp;diff=3905"/>
		<updated>2025-01-08T23:13:42Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
[[File:SatNOGS DB front page.png|alt=|400x400px|thumb|SatNOGS DB front page]][https://db.satnogs.org/ SatNOGS DB] is an effort to create a holistic, unified, global transmitter database for all satellite information. You can export the data or even connect your application using our API. It's part of the SatNOGS project.&lt;br /&gt;
==Data==&lt;br /&gt;
The DB is open to everyone. Anyone is able to submit suggestions or use the existing Transmitters. All data are public and freely under the [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 license] (CC-BY-SA-4.0).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Contribute==&lt;br /&gt;
&lt;br /&gt;
===Suggesting new Satellites===&lt;br /&gt;
Feel free to suggest satellites for upcoming or previous launches.&lt;br /&gt;
&lt;br /&gt;
#Login to SatNOGS DB&lt;br /&gt;
#Go to &amp;quot;All Satellites&amp;quot; section in the left menu&lt;br /&gt;
#At the top right click on &amp;quot;Edit&amp;quot; button and choose &amp;quot;Suggest New Satellite&amp;quot;&lt;br /&gt;
#Leave blank NORAD ID if it isn’t known or satellite isn’t identified&lt;br /&gt;
&lt;br /&gt;
=== Suggesting edits for existing satellites ===&lt;br /&gt;
&lt;br /&gt;
# Login to SatNOGS DB&lt;br /&gt;
# Go to the page of the satellite you want to edit&lt;br /&gt;
# At the top right, click &amp;quot;Edit&amp;quot; and choose &amp;quot;Edit {satellite name}&amp;quot;&lt;br /&gt;
# Always make sure to include a citation that provides the primary source for your edit&lt;br /&gt;
&lt;br /&gt;
===Suggesting transmitters===&lt;br /&gt;
[[File:Create new transmitter.png|thumb|Menu item to add new transmitter suggestion (for logged in users)]]&lt;br /&gt;
[[File:Transmitter suggestion.png|alt=|thumb|New transmitter suggestion (any logged in user can do it!)]]&lt;br /&gt;
We rely on crowd-sourced information to keep our transmitter details up to date. Anyone with a SatNOGS login can submit transmitter details. Moderators are notified and approve submissions frequently.&lt;br /&gt;
&lt;br /&gt;
#Login in SatNOGS DB&lt;br /&gt;
#Navigate to the satellite page of the satellite you want to edit (if the satellite was recently added, you can access the last 5 from the home page, otherwise use the search)&lt;br /&gt;
#At the top right click on &amp;quot;Edit&amp;quot; button and choose &amp;quot;Submit New Transmitter&amp;quot;&lt;br /&gt;
#If modulation isn’t know please choose the FM one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Further Notes:&lt;br /&gt;
&lt;br /&gt;
*Description: This is the name that will appear for this transmitter across DB, Network, and API users. Please use the following notations&lt;br /&gt;
**Band, for instance VHF,  or for a transceiver, MODE U/V&lt;br /&gt;
**Baud (if applicable), in the format 9k6 for 9600&lt;br /&gt;
**Mode, for instance FSK&lt;br /&gt;
**Rough type description, ie TLM for &amp;quot;telemetry&amp;quot;, or &amp;quot;FM Transponder&amp;quot; for repeater&lt;br /&gt;
**Examples&lt;br /&gt;
***UHF 9k6 FSK TLM&lt;br /&gt;
***MODE U/V FM Transceiver&lt;br /&gt;
***VHF CW TLM&lt;br /&gt;
*Type&lt;br /&gt;
**Transmitter: one-way downlink (telemetry)&lt;br /&gt;
**Transceiver: repeats an uplinked signal intact&lt;br /&gt;
**Transponder: interacts with an uplinked signal or downlinks after signal modification&lt;br /&gt;
*Status&lt;br /&gt;
**Active: alive and well&lt;br /&gt;
**Inactive: not functional or powered down&lt;br /&gt;
**Invalid: this is a legacy or erroneous transmitter information that should be hidden from UI&lt;br /&gt;
*Downlink Freq: Published frequency, in Hz&lt;br /&gt;
*Downlink Drifted: Observed frequency, or what frequency should be used to properly tune (with doppler correction). In most cases this should be the same as the Downlink frequency. This field '''must be entered''' even if there is no drift.&lt;br /&gt;
*Downlink Mode: The modulation mode for this transmitter&lt;br /&gt;
*Baud rate: the baud rate, if applicable. If this is a CW beacon, use WPM&lt;br /&gt;
*Citation URL: a URL to link to in providing the details for your suggestion. Include observations from SatNOGS Network and/or frequency coordination documentation.&lt;br /&gt;
*Service: The ITU service that the transmitter can be categorized.&lt;br /&gt;
&lt;br /&gt;
===Approving transmitters===&lt;br /&gt;
[[File:Review transmitter suggestion.png|thumb|Review transmitter suggestion (for moderators only)]]&lt;br /&gt;
If you are a moderator you can approved suggestions for transmitters. For that follow the instructions:&lt;br /&gt;
&lt;br /&gt;
#Log in to db.satnogs.org&lt;br /&gt;
#Navigate to the satellite page that has pending suggestions for transmitters&lt;br /&gt;
#Review the suggestion&lt;br /&gt;
#Decide to accept or reject it by clicking on the transmitter menu top right.&lt;br /&gt;
&lt;br /&gt;
Note:  this process may change in the future; see [https://gitlab.com/librespacefoundation/satnogs/satnogs-db/issues?milestone_title=Improved+User+Experience the Gitlab issues list] for details.&lt;br /&gt;
&lt;br /&gt;
===Adding Satellites manually (deprecated)===&lt;br /&gt;
If you are a moderator you can add new satellite on the DB directly. For that follow the instructions:&lt;br /&gt;
&lt;br /&gt;
#Login in SatNOGS DB&lt;br /&gt;
#Navigate to https://db.satnogs.org/admin (if you are seeing a login screen, you are either not logged in or don't have moderator permissions)&lt;br /&gt;
#Click on Base::Satellite [https://db.satnogs.org/admin/base/satellite/add/ Add button]&lt;br /&gt;
#Complete the information to the best of your knowledge. NORAD ID and Name are mandatory. Add multiple names on the &amp;quot;Names&amp;quot; field.&lt;br /&gt;
#Click Save and you are done!&lt;br /&gt;
#You can now move on to the next steps: suggesting and approving transmitters for this satellite.&lt;br /&gt;
&lt;br /&gt;
Note:  this process may change in the future; see [https://gitlab.com/librespacefoundation/satnogs/satnogs-db/issues?milestone_title=Improved+User+Experience the Gitlab issues list] for details.&lt;br /&gt;
&lt;br /&gt;
===Coding===&lt;br /&gt;
Fluent in Python and/or JS? We need you to help with the satnogs-db web application! Take a look at our [https://gitlab.com/librespacefoundation/satnogs/satnogs-db source code], or visit our [https://gitlab.com/librespacefoundation/satnogs/satnogs-db/issues? issues tracker] to start filling bugs, feature requests or code fixes for existing ones.&lt;br /&gt;
&lt;br /&gt;
==API==&lt;br /&gt;
&lt;br /&gt;
More info can be found in [[SatNOGS DB/API|API wiki page]].&lt;br /&gt;
&lt;br /&gt;
==Documentation &amp;amp; Installation==&lt;br /&gt;
&lt;br /&gt;
You can find documentation and installation instructions about the project in our [https://docs.satnogs.org/projects/satnogs-db/en/stable/ Read the Docs instance].&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*[[SatNOGS Network]]&lt;br /&gt;
*[https://libre.space/2020/03/02/space-situational-awareness/ Space Situational Awareness – The story so far and an open way forward]&lt;br /&gt;
&lt;br /&gt;
[[Category:Infrastructure]]&lt;br /&gt;
[[Category:Operate]]&lt;br /&gt;
[[Category:Satellite]]&lt;br /&gt;
[[Category:RF Modes]]&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=SatNOGS_DB&amp;diff=3904</id>
		<title>SatNOGS DB</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=SatNOGS_DB&amp;diff=3904"/>
		<updated>2025-01-08T23:10:14Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: Add &amp;quot;suggesting satellites&amp;quot; and other updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
[[File:SatNOGS DB front page.png|alt=|400x400px|thumb|SatNOGS DB front page]][https://db.satnogs.org/ SatNOGS DB] is an effort to create a holistic, unified, global transmitter database for all satellite information. You can export the data or even connect your application using our API. It's part of the SatNOGS project.&lt;br /&gt;
==Data==&lt;br /&gt;
The DB is open to everyone. Anyone is able to submit suggestions or use the existing Transmitters. All data are public and freely under the [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 license] (CC-BY-SA-4.0).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Contribute==&lt;br /&gt;
&lt;br /&gt;
=== Suggesting Satellites ===&lt;br /&gt;
Feel free to suggest satellites for upcoming or previous launches.&lt;br /&gt;
&lt;br /&gt;
# Login in SatNOGS DB&lt;br /&gt;
# Go to &amp;quot;All Satellites&amp;quot; section in the left menu&lt;br /&gt;
# At the top right click on Edit button and choose Suggest New Satellite&lt;br /&gt;
# Leave blank NORAD ID if it isn’t known or satellite isn’t identified&lt;br /&gt;
&lt;br /&gt;
===Suggesting transmitters===&lt;br /&gt;
[[File:Create new transmitter.png|thumb|Menu item to add new transmitter suggestion (for logged in users)]]&lt;br /&gt;
[[File:Transmitter suggestion.png|alt=|thumb|New transmitter suggestion (any logged in user can do it!)]]&lt;br /&gt;
We rely on crowd-sourced information to keep our transmitter details up to date. Anyone with a SatNOGS login can submit transmitter details. Moderators are notified and approve submissions frequently.&lt;br /&gt;
&lt;br /&gt;
# Login in SatNOGS DB&lt;br /&gt;
# Navigate to the satellite page of the satellite you want to edit (if the satellite was recently added, you can access the last 5 from the home page, otherwise use the search)&lt;br /&gt;
# At the top right click on &amp;quot;Edit&amp;quot; button and choose &amp;quot;Submit New Transmitter&amp;quot;&lt;br /&gt;
# If modulation isn’t know please choose the FM one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Further Notes:&lt;br /&gt;
&lt;br /&gt;
*Description: This is the name that will appear for this transmitter across DB, Network, and API users. Please use the following notations&lt;br /&gt;
**Band, for instance VHF,  or for a transceiver, MODE U/V&lt;br /&gt;
**Baud (if applicable), in the format 9k6 for 9600&lt;br /&gt;
**Mode, for instance FSK&lt;br /&gt;
**Rough type description, ie TLM for &amp;quot;telemetry&amp;quot;, or &amp;quot;FM Transponder&amp;quot; for repeater&lt;br /&gt;
**Examples&lt;br /&gt;
***UHF 9k6 FSK TLM&lt;br /&gt;
***MODE U/V FM Transceiver&lt;br /&gt;
***VHF CW TLM&lt;br /&gt;
*Type&lt;br /&gt;
**Transmitter: one-way downlink (telemetry)&lt;br /&gt;
**Transceiver: repeats an uplinked signal intact&lt;br /&gt;
**Transponder: interacts with an uplinked signal or downlinks after signal modification&lt;br /&gt;
*Status&lt;br /&gt;
**Active: alive and well&lt;br /&gt;
**Inactive: not functional or powered down&lt;br /&gt;
**Invalid: this is a legacy or erroneous transmitter information that should be hidden from UI&lt;br /&gt;
*Downlink Freq: Published frequency, in Hz&lt;br /&gt;
*Downlink Drifted: Observed frequency, or what frequency should be used to properly tune (with doppler correction). In most cases this should be the same as the Downlink frequency. This field '''must be entered''' even if there is no drift.&lt;br /&gt;
*Downlink Mode: The modulation mode for this transmitter&lt;br /&gt;
*Baud rate: the baud rate, if applicable. If this is a CW beacon, use WPM&lt;br /&gt;
*Citation URL: a URL to link to in providing the details for your suggestion. Include observations from SatNOGS Network and/or frequency coordination documentation.&lt;br /&gt;
*Service: The ITU service that the transmitter can be categorized.&lt;br /&gt;
&lt;br /&gt;
=== Approving transmitters ===&lt;br /&gt;
[[File:Review transmitter suggestion.png|thumb|Review transmitter suggestion (for moderators only)]]&lt;br /&gt;
If you are a moderator you can approved suggestions for transmitters. For that follow the instructions:&lt;br /&gt;
&lt;br /&gt;
#Log in to db.satnogs.org&lt;br /&gt;
#Navigate to the satellite page that has pending suggestions for transmitters&lt;br /&gt;
#Review the suggestion&lt;br /&gt;
#Decide to accept or reject it by clicking on the transmitter menu top right.&lt;br /&gt;
&lt;br /&gt;
Note:  this process may change in the future; see [https://gitlab.com/librespacefoundation/satnogs/satnogs-db/issues?milestone_title=Improved+User+Experience the Gitlab issues list] for details.&lt;br /&gt;
&lt;br /&gt;
=== Adding Satellites manually (deprecated) ===&lt;br /&gt;
If you are a moderator you can add new satellite on the DB directly. For that follow the instructions:&lt;br /&gt;
&lt;br /&gt;
#Login in SatNOGS DB&lt;br /&gt;
#Navigate to https://db.satnogs.org/admin (if you are seeing a login screen, you are either not logged in or don't have moderator permissions)&lt;br /&gt;
#Click on Base::Satellite [https://db.satnogs.org/admin/base/satellite/add/ Add button]&lt;br /&gt;
#Complete the information to the best of your knowledge. NORAD ID and Name are mandatory. Add multiple names on the &amp;quot;Names&amp;quot; field.&lt;br /&gt;
#Click Save and you are done!&lt;br /&gt;
#You can now move on to the next steps: suggesting and approving transmitters for this satellite.&lt;br /&gt;
&lt;br /&gt;
Note:  this process may change in the future; see [https://gitlab.com/librespacefoundation/satnogs/satnogs-db/issues?milestone_title=Improved+User+Experience the Gitlab issues list] for details.&lt;br /&gt;
&lt;br /&gt;
===Coding===&lt;br /&gt;
Fluent in Python and/or JS? We need you to help with the satnogs-db web application! Take a look at our [https://gitlab.com/librespacefoundation/satnogs/satnogs-db source code], or visit our [https://gitlab.com/librespacefoundation/satnogs/satnogs-db/issues? issues tracker] to start filling bugs, feature requests or code fixes for existing ones.&lt;br /&gt;
&lt;br /&gt;
==API==&lt;br /&gt;
&lt;br /&gt;
More info can be found in [[SatNOGS DB/API|API wiki page]].&lt;br /&gt;
&lt;br /&gt;
==Documentation &amp;amp; Installation==&lt;br /&gt;
&lt;br /&gt;
You can find documentation and installation instructions about the project in our [https://docs.satnogs.org/projects/satnogs-db/en/stable/ Read the Docs instance].&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*[[SatNOGS Network]]&lt;br /&gt;
*[https://libre.space/2020/03/02/space-situational-awareness/ Space Situational Awareness – The story so far and an open way forward]&lt;br /&gt;
&lt;br /&gt;
[[Category:Infrastructure]]&lt;br /&gt;
[[Category:Operate]]&lt;br /&gt;
[[Category:Satellite]]&lt;br /&gt;
[[Category:RF Modes]]&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Troubleshooting_Legacy&amp;diff=3897</id>
		<title>Troubleshooting Legacy</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Troubleshooting_Legacy&amp;diff=3897"/>
		<updated>2024-03-04T09:51:43Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: Add &amp;quot;Observer job lock acquiring timed out&amp;quot; section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Client troubleshooting==&lt;br /&gt;
&lt;br /&gt;
{{Message| Before starting check the logs for an error:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Check the whole error log with &amp;lt;code&amp;gt;journalctl -u satnogs-client.service&amp;lt;/code&amp;gt;&lt;br /&gt;
* Check live the error log &amp;lt;code&amp;gt;journalctl -f -u satnogs-client.service&amp;lt;/code&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{Message|If the hints for common issues below don't help solve your issue, you are welcome to post in the forum.  When doing so, please include any error from the logs and the output of the support report generated by the menu item &amp;lt;code&amp;gt;Advanced -&amp;gt; Support&amp;lt;/code&amp;gt; from &amp;lt;code&amp;gt;sudo satnogs-setup&amp;lt;/code&amp;gt;. This helps give context to the logging messages.}}&lt;br /&gt;
===Raise or Set the debug level===&lt;br /&gt;
&lt;br /&gt;
*Run &amp;lt;code&amp;gt;sudo satnogs-setup&amp;lt;/code&amp;gt;&lt;br /&gt;
*Go to '''Advanced Configuration''' and  set the '''Debug level''' to one of the Values below&lt;br /&gt;
*'''Apply''' the change&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!'''Setting'''&lt;br /&gt;
!Values&lt;br /&gt;
|-&lt;br /&gt;
|'''DEBUG'''&lt;br /&gt;
|&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&amp;lt;code&amp;gt;CRITICAL&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;ERROR&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;WARNING&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;INFO&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;DEBUG&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;NOTSET&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
When done debugging, don't forget to reset the log level, or the files will fill up your disk space.&lt;br /&gt;
&lt;br /&gt;
===Client not showing up on the network?===&lt;br /&gt;
&lt;br /&gt;
*Check that you have ticked the &amp;quot;Is it operational?&amp;quot; checkbox on the groundstation page.&lt;br /&gt;
*Check your settings and ensure that the API token and station ID are correct.  You can get these from your profile page on the SatNOGS network site.  If you have accounts in both dev and prod, make sure you're using the token and station ID from the right environment.&lt;br /&gt;
*Check your SATNOGS_NETWORK_API_URL.  It should point to https://network.satnogs.org/api/ (prod) or https://network-dev.satnogs.org/api/ (dev).&lt;br /&gt;
*Check your network connectivity.  Can you ping network.satnogs.org or network-dev.satnogs.org?  Try running &amp;lt;code&amp;gt;curl https://network.satnogs.org&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;curl https://network-dev.satnogs.org&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===RuntimeError: RTL-SDR device not found.===&lt;br /&gt;
Seems that the device is not there. Try rebooting and check if Soapy can identify it using &amp;lt;code&amp;gt;SoapySDRUtil --find&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;satnogsclient - ERROR - Cannot connect to socket 127.0.0.1:4533&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
The client is trying to connect to rotctld but is unable to.&lt;br /&gt;
&lt;br /&gt;
*If you have a no-rotator setup, ensure that satnogs-client is configured as such; see the [[Raspberry Pi]] page for info on how to do this.&lt;br /&gt;
**These errors may continue to be reported until [https://gitlab.com/librespacefoundation/satnogs/satnogs-client/issues/340 issue #340] is resolved.&lt;br /&gt;
&lt;br /&gt;
*If you do have a rotator, ensure that rotctld is running.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Some uploads missing &amp;amp; Doppler-correction not working properly===&lt;br /&gt;
The station/client might have a clock offset. This causes a Doppler shift on the waterfall and some observations don't start because of a conflict between the time on the PC of the station and the time of the SatNOGS Network.&lt;br /&gt;
&lt;br /&gt;
===Uploads (waterfall or audio) are missing for a past observation===&lt;br /&gt;
When using &amp;lt;code&amp;gt;satnogs-setup&amp;lt;/code&amp;gt; for editing/updating the configuration of the station,  the satnogs-client gets restarted. When this happens during an observation the observation will be aborted and no waterfall/audio/data files will be uploaded. Such observations should be voted as ''failed''.&lt;br /&gt;
&lt;br /&gt;
The partial data from such observations is stored in &amp;lt;code&amp;gt;/tmp/.satnogs/data/&amp;lt;/code&amp;gt;, look for files like &amp;lt;code&amp;gt;receiving_{satnogs|waterfall}_123456_2019-01-01T12-23-42.{out|dat}&amp;lt;/code&amp;gt;. They can be manually removed.&lt;br /&gt;
&lt;br /&gt;
===Invalid Signature for download.opensuse.org===&lt;br /&gt;
Example error during satnogs-setup update or apt-get update:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  The following signatures were invalid: EXPKEYSIG 8BD3901736A40B6C home:librespace OBS Project &amp;lt;home:librespace@build.opensuse.org&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fix:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget -qO - http://download.opensuse.org/repositories/home:/librespace:/satnogs-unstable/Raspbian_10/Release.key &amp;gt; k&lt;br /&gt;
gpg --no-default-keyring --keyring ./temp-keyring.gpg --import k&lt;br /&gt;
gpg --no-default-keyring --keyring ./temp-keyring.gpg --export --output k.gpg&lt;br /&gt;
mkdir /etc/apt/keyrings&lt;br /&gt;
mv k.gpg /etc/apt/keyrings/satnogs2.gpg&lt;br /&gt;
vi /etc/apt/sources.list.d/satnogs.list&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Insert a signed-by statement, as:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb [signed-by=/etc/apt/keyrings/satnogs2.gpg] /repositories/home:/librespace:/satnogs/Raspbian_11 - openSUSE Download ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More info available at https://community.libre.space/t/sudo-apt-update-signature-invalid/7643/7 and https://community.libre.space/t/update-to-the-invalid-signature-problem-in-the-troubleshooting-document/11386&lt;br /&gt;
&lt;br /&gt;
===apt-get update: connection failed===&lt;br /&gt;
When using the sudo apt-get update command, we get the following connection error:&lt;br /&gt;
[[File:UpdateFailed.png]]&lt;br /&gt;
&lt;br /&gt;
However, a ping to the Ip address works.&lt;br /&gt;
&lt;br /&gt;
If you use a firewall (Ex: stormshield SN210), it can include a default rule that blocks connection urls containing a dot-slash (&amp;quot;./&amp;quot;). (This rule can be named as follows: &amp;quot;path with self-reference&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
This rule must be modified to allow the raspberry to access the repository&lt;br /&gt;
&lt;br /&gt;
===  ERROR - Observer job lock acquiring timed out. ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Mar 03 20:05:53 satnogs satnogs-client[257]: satnogsclient.scheduler.tasks - ERROR - Observer job lock acquiring timed out.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This message is shown when a previous Observation failed (due to a hardware issue or some bug) and didn't properly terminate. To fix this issue, first check the logs for the observation that failed to understand the root cause. Then, restart satnogs-client.&lt;br /&gt;
&lt;br /&gt;
==Signal troubleshooting==&lt;br /&gt;
&lt;br /&gt;
===Blank or solid purple waterfall?===&lt;br /&gt;
{{Warning|Some information in this section seems outdated or wrong. Please take it with care.&lt;br /&gt;
Once reviewed this banner can be removed.}}&lt;br /&gt;
At the first sign of trouble, put your station into testing mode.&lt;br /&gt;
&lt;br /&gt;
*Make sure the RTLSDR gain is set correctly. Follow the guide at [[Omnidirectional_Station_How_To#Setting_the_gain]] to find a proper gain setting.&amp;lt;br /&amp;gt;Check your gain value is valid. Wrong values can result in blank waterfalls. For example '7.7.' will result in errors (and a blank waterfall - there is an extra '.' at the end).   &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;journalctl -u satnogs-client.service&amp;lt;/code&amp;gt; It might be a big file, but work through it and look for errors.  &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;df -h&amp;lt;/code&amp;gt; Ensure there is sufficient hard drive space. If temp files can not be created, the waterfall might be blank. &amp;lt;br /&amp;gt;Run &amp;lt;code&amp;gt;rtl_test&amp;lt;/code&amp;gt; for about 30 seconds and make sure you can connect with the dongle and that there are no errors.&lt;br /&gt;
&lt;br /&gt;
===Not receiving anything?===&lt;br /&gt;
&lt;br /&gt;
*Make sure the satellite you are testing observations against is active and recently received by others on [https://network.satnogs.org our production network site].  If you click on a satellite name, a popup will appear and give you the option to click on &amp;quot;Past Observations&amp;quot;. If everything in the past shows red, then the problem is likely with that satellite.&lt;br /&gt;
&lt;br /&gt;
*SO-50 is a good satellite to use for testing as it is a strong FM voice signal assuming you have UHF capabilities. Schedule using &amp;quot;PE0SAT - Mode V/U FM Voice - 436.794 MHz&amp;quot;.  Here is an example to compare against: https://network.satnogs.org/observations/3334/&lt;br /&gt;
&lt;br /&gt;
*ISS is a good test for VHF as the APRS digipeater is alive again (as of this writing; check [https://www.issfanclub.com/ issfanclub.com] for up-to-date information). When you schedule it, be sure to select the APRS downlink.&lt;br /&gt;
&lt;br /&gt;
*If you're using an rtlsdr, check that it can be seen and is operating correctly by running rtl_test.  Let it run for 30 seconds or so, then hit Ctrl-c to kill it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pi@raspberrypi:~ $ rtl_test &lt;br /&gt;
Found 1 device(s):&lt;br /&gt;
  0:  Realtek, RTL2838UHIDIR, SN: 00000001&lt;br /&gt;
&lt;br /&gt;
Using device 0: Generic RTL2832U OEM&lt;br /&gt;
Found Rafael Micro R820T tuner&lt;br /&gt;
Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6 &lt;br /&gt;
[R82XX] PLL not locked!&lt;br /&gt;
Sampling at 2048000 S/s.&lt;br /&gt;
&lt;br /&gt;
Info: This tool will continuously read from the device, and report if&lt;br /&gt;
samples get lost. If you observe no further output, everything is fine.&lt;br /&gt;
&lt;br /&gt;
Reading samples in async mode...&lt;br /&gt;
^CSignal caught, exiting!&lt;br /&gt;
&lt;br /&gt;
User cancel, exiting...&lt;br /&gt;
Samples per million lost (minimum): 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*You can also try a manual run of satnogs_afsk1200_ax25.py to make sure that works:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd /tmp&lt;br /&gt;
$ satnogs_afsk1200_ax25.py --soapy-rx-device=&amp;quot;driver=rtlsdr&amp;quot; --antenna=RX --samp-rate-rx=2.048e6 --rx-freq=444000000 --file-path=./audio-out.ogg --waterfall-file-path=./waterfall.dat&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Let it run for a minute or so.  If everything is working, this should create an .ogg file and a .dat file of non-zero size (probably a few MB each).&lt;br /&gt;
&lt;br /&gt;
===Observations seem off-frequency?===&lt;br /&gt;
[[File:Waterfall_3519_2017-04-24T04-48-48_resized.png|frame|Check your location!]]&lt;br /&gt;
&lt;br /&gt;
*'''PPM drift''' While newer SDR devices are very good and stable, there still may be some PPM drift to compensate for if you notice that signals are consistently off center. The SATNOGS_PPM_ERROR setting in /etc/supervisord.d/satnogs.ini can be used to correct for this.&lt;br /&gt;
*'''Clock sync''' Make sure your clock is synced. Ensure ntp is configured and running (especially with the Raspberry Pi which lacks a real time clock)&lt;br /&gt;
*'''Wrong location''' If your signal seems to be on but drifts at the apex like in this image, check to make sure your Latitude, Longitude, and Elevation coordinates are set properly and in the right format.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===USB===&lt;br /&gt;
You can reset USB without having to reboot the system by running these commands:&lt;br /&gt;
&lt;br /&gt;
    echo “usb1” &amp;gt; /sys/bus/usb/drivers/usb/unbind&lt;br /&gt;
    echo “usb1” &amp;gt; /sys/bus/usb/drivers/usb/bind&lt;br /&gt;
&lt;br /&gt;
This can be placed in the satnogs_post_observation_script for automation.&lt;br /&gt;
&lt;br /&gt;
===RF Noise===&lt;br /&gt;
If you notice a noise in the waterfall every time motors are spinning, you will need to:&lt;br /&gt;
&lt;br /&gt;
*Twist each pair or the motor wire&lt;br /&gt;
*Add proper grounding&lt;br /&gt;
*Add capacitor to the DC input of drivers&lt;br /&gt;
*Wrap the motors wire with adhesive aluminum and then connect it to GND on driver side&lt;br /&gt;
*Add ferrites to motors wires&lt;br /&gt;
&lt;br /&gt;
[[File:Rf noise.png|alt=RF Noise|left|thumb|400x400px|Too much RF Noise]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Operate]]&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Raspberry_Pi&amp;diff=3888</id>
		<title>Raspberry Pi</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Raspberry_Pi&amp;diff=3888"/>
		<updated>2024-02-20T21:41:23Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: /* Download */ Update to SatNOGS image release 2023111400&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:B3342fcc865731d69e0c9d7a8b1abb887185bc13 1 531x500.jpg|alt=Libre Space Foundation Raspberry Pi Case|thumb|Libre Space Foundation Raspberry Pi Case, [https://www.thingiverse.com/thing:3233687 on thingiverse]]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
The Raspberry Pi (version 3 and 4) is the reference platform for SatNOGS (see our [[SatNOGS Client Ansible|Ansible guide]] to install SatNOGS on other Linux machines). You can try using various distributions for this (eg. Debian/Armbian, Arch, Fedora), but the one we suggest is our custom image based on latest Raspbian.&lt;br /&gt;
&lt;br /&gt;
{{Message|This page assumes you have an account and a ground station registered on either network.satnogs.org or network-dev.satnogs.org. Make note of your station ID and API Key.}}&lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
'''&amp;lt;big&amp;gt;Raspbian SatNOGS Image:&amp;lt;/big&amp;gt; &amp;lt;big&amp;gt;[https://gitlab.com/librespacefoundation/satnogs/satnogs-pi-gen/-/jobs/artifacts/2023111400/download?job=release artifacts.zip]&amp;lt;/big&amp;gt; '''  (Release: 2023111400)&lt;br /&gt;
&lt;br /&gt;
Download the latest Raspbian SatNOGS Image from above (or via the &amp;quot;Download&amp;quot; icon on the right side of the [https://gitlab.com/librespacefoundation/satnogs/satnogs-pi-gen/tags latest tag page on GitLab]). This image has the SatNOGS setup script installed, the SSH server enabled and all required packages preinstalled. You will get an &amp;lt;code&amp;gt;artifacts.zip&amp;lt;/code&amp;gt; file with the following content:&lt;br /&gt;
&lt;br /&gt;
*A Zipped image file&lt;br /&gt;
*An Image info file&lt;br /&gt;
*A SHA256 checksum file&lt;br /&gt;
&lt;br /&gt;
===Data integrity verification===&lt;br /&gt;
&lt;br /&gt;
You should verify the data integrity of the artifacts by comparing the SHA256 checksums. On Linux, run &amp;lt;code&amp;gt;sha256sum -c sha256sums&amp;lt;/code&amp;gt; in the directory where the artifacts are downloaded and unzipped.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sha256sum -c sha256sums &lt;br /&gt;
2023-11-14-Raspbian-SatNOGS-master-lite.info: OK&lt;br /&gt;
image_2023-11-14-Raspbian-SatNOGS-master-lite.zip: OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Flashing==&lt;br /&gt;
[https://www.raspberrypi.org/documentation/installation/installing-images/README.md Follow the usual Raspbian flashing instructions], and boot your Raspberry Pi.  &lt;br /&gt;
&lt;br /&gt;
You will need to set the login password for your Pi, as well as Wifi settings and Locale settings by clicking the &amp;quot;Advanced&amp;quot;  options before writing the image.&lt;br /&gt;
[[File:Image.png|alt=Gear Icon for Rpi imager|left|thumb|73x73px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==Getting console access==&lt;br /&gt;
You can log in the Raspberry Pi by connecting it to a keyboard and monitor or through network via an SSH connection.&lt;br /&gt;
&lt;br /&gt;
===Keyboard and monitor===&lt;br /&gt;
Once your Raspberry Pi is booted, log in with userID and password that you set during the imaging process.&lt;br /&gt;
&lt;br /&gt;
===Ethernet===&lt;br /&gt;
If you are using wired Ethernet you should get connectivity right away. You just need to find the IP address of Raspberry Pi (e.g. in your router management interface). Log in with SSH using username you set during the image writing process.   &amp;quot;'''pi'''&amp;quot; password &amp;quot;'''raspberry'''&amp;quot;, in this example:&lt;br /&gt;
 $ ssh pi@192.168.1.2&lt;br /&gt;
If your network supports [[wikipedia:Zero-configuration_networking|&amp;lt;code&amp;gt;zeroconf&amp;lt;/code&amp;gt;]], then you can use the hostname of your Pi:&lt;br /&gt;
 $ ssh pi@raspberrypi.local&lt;br /&gt;
&lt;br /&gt;
===Pre-boot wireless configuration===&lt;br /&gt;
If neither keyboard/monitor, nor a wired Ethernet are available, you can set up a WiFi connection before boot by mounting the boot partition of the flashed SD card and editing files directly. Note your OS may mount boot partition in a different location. [https://raspberrypi.stackexchange.com/questions/10251/prepare-sd-card-for-wifi-on-headless-pi#comment98121_57023 Windows users have line ending problems]. Suggested actions:&lt;br /&gt;
&lt;br /&gt;
 $ $EDITOR /media/Raspbian_SatNOGS-boot/wpa_supplicant.conf&lt;br /&gt;
&lt;br /&gt;
contents: (note key_mgmt options include NONE, WPA-PSK, WPA-EAP)&lt;br /&gt;
&lt;br /&gt;
    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev&lt;br /&gt;
    update_config=1&lt;br /&gt;
    country=US&lt;br /&gt;
    &lt;br /&gt;
    network={&lt;br /&gt;
        ssid=&amp;quot;NETWORK_NAME&amp;quot;&lt;br /&gt;
        psk=&amp;quot;password&amp;quot;&lt;br /&gt;
        key_mgmt=WPA-PSK&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
===Pre-boot user creation===&lt;br /&gt;
The latest version of Raspberry Pi OS, of which the SatNOGS image is based on, '''does not''' have the &amp;quot;'''pi'''&amp;quot; user already upon first boot.&lt;br /&gt;
&lt;br /&gt;
If you wish to login using ssh upon the first boot with the prior default username / password of &amp;quot;pi&amp;quot; / &amp;quot;raspberry&amp;quot;, then:&lt;br /&gt;
&lt;br /&gt;
*Create the file &amp;lt;code&amp;gt;userconf.txt&amp;lt;/code&amp;gt; in the root of the &amp;lt;code&amp;gt;boot&amp;lt;/code&amp;gt; partition of the uSD card.&lt;br /&gt;
*Its contents should be the single line:&lt;br /&gt;
**&amp;lt;code&amp;gt;pi:$6$/XOZsG1X0IAbhXB0$wYZHRkvib0SUKQA3KVAxofPR.JsFAbI2NCue2znGvhRsQobVdllFXyQZ7fMSvAoyEj8MfHtkMeSZT7IRIixg01&amp;lt;/code&amp;gt;&lt;br /&gt;
**(the format is username:encrypted-password)&lt;br /&gt;
&lt;br /&gt;
For more information about this file, see: [https://www.raspberrypi.com/documentation/computers/configuration.html#configuring-a-user Raspberry Pi Documentation - Configuration - Setting up a Headless Raspberry Pi - Configuring a User]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==Configuration==&lt;br /&gt;
&lt;br /&gt;
===Raspberry Pi Setup===&lt;br /&gt;
If you used the advance settings during imaging, this step can be skipped. &lt;br /&gt;
&lt;br /&gt;
Once your Raspberry Pi is booted, log in with the username you set up during the imaging process and run: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo raspi-config&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will want to be sure to do the following:&lt;br /&gt;
&lt;br /&gt;
*Set a strong, unique password&lt;br /&gt;
*Change localization settings:&lt;br /&gt;
**by default the rpi locale is configured for EN-GB, change as appropriate (ie: to EN_US.UTF-8)&lt;br /&gt;
**set timezone (we recommend UTC so your logs match the times in Network; UTC is under the 'none of the above' submenu)&lt;br /&gt;
**set keyboard layout, again this is defaulting to a UK layout&lt;br /&gt;
**set wifi country&lt;br /&gt;
**expand filesystem (under the Advanced menu)&lt;br /&gt;
*Configure network or WiFi (see [https://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md this doc for network configuration instructions])&lt;br /&gt;
*Finish and reboot&lt;br /&gt;
&lt;br /&gt;
===SatNOGS Setup===&lt;br /&gt;
SSH to the Raspberry Pi with userID you set during imaging password.&lt;br /&gt;
&lt;br /&gt;
Follow [[SatNOGS Client Setup]] instructions to configure the system.&lt;br /&gt;
&lt;br /&gt;
[[Category:Build]]&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Satellite_Operator_Guide&amp;diff=3880</id>
		<title>Satellite Operator Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Satellite_Operator_Guide&amp;diff=3880"/>
		<updated>2023-01-10T08:42:55Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: /* 3. Operations */ Add Satellite Identification section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{warning|This guide is intended for Satellite Operators. For SatNOGS Operations moderators please see [[SatNOGS Operations Manual]]}}&lt;br /&gt;
==Introduction==&lt;br /&gt;
You are building a satellite? Congratulations! The information below will be helpful for the Communications and Operations part of your mission. Plan early and invest time in COMMS and Ground Segment. As a community, SatNOGS is here to help you in the process!&lt;br /&gt;
&lt;br /&gt;
Although the information is tailored for missions that will be using Amateur Radio bands of the spectrum, some information is still relevant for other parts of the band too.&lt;br /&gt;
&lt;br /&gt;
==Process==&lt;br /&gt;
===0. Early Stage===&lt;br /&gt;
It's strongly advised to get in touch with the AMSAT of you country at the beginning of your project. It enables that the radio amateur requirements are taken in account at the early stage on your project. It avoids false expectations and miscommunications along the way. In order to use an Amateur Radio band, your mission needs to be Amateur Radio related. Broadly speaking this includes and Amateur Radio service (like a transponder) or Amateur Radio experiment (new modulations, propagation experiments etc).&lt;br /&gt;
===1. Frequency Coordination===&lt;br /&gt;
First you need to determine whether you'll require an amateur frequency, a non-amateur frequency, or both.&lt;br /&gt;
&lt;br /&gt;
Historically educational but non-Amateur Radio satellite operators (e.g. university research projects) were often improperly permitted to use amateur spectrum on a not-commercial basis. As this practice has led to serious congestion of the Amateur Radio Service, the IARU will no longer coordinate amateur frequency allocation for this purpose. Therefore:&lt;br /&gt;
&lt;br /&gt;
*If your satellite will be purely for Amateur Radio use (i.e. all of its major functions will be available for use by all licensed Amateur Radio operators), then you're usually able to request Amateur Radio Space Service frequency coordination from IARU. You remain free to perform limited control functions on Amateur Radio spectrum. If there is an AMSAT organization in your country, start there. If not, approach your national Amateur Radio body. They will usually help you to get a radio amateur frequency coordination from IARU your allocation. It will take time: usually between six months and a year. If you don't ask for an IARU coordination, the launcher of your satellite may not allow you to launch the satellite.&lt;br /&gt;
*If your satellite will have substantial non-Radio Amateur use (sensor data, imagery, space-qualification of components, ...) then you will usually require a (non-amateur) Space Service license and frequency allocation. Approach your local radio communication regulator directly to start this process, which will have to finalized through ITU.&lt;br /&gt;
*If your satellite will do both, then you'll require licenses and frequency allocation/coordination for both services. A recent example is [https://www.amsat.org/falconsat-3/ FalconSAT-3].&lt;br /&gt;
&lt;br /&gt;
====1.1 Publicly and openly document your Communications====&lt;br /&gt;
If you are planning to use a Radio Amateur band you are required to publicly and openly document ever singe detail of your transmission. That includes your modulation, encoding, framing and various functions. Your uplink and TC operations might not be publicly documented if you choose so.&lt;br /&gt;
&lt;br /&gt;
Regardless of your band usage, we would strongly advise you to openly document your Communications since Open Data is a core pillar of sustainable and efficient Space operations. See the [https://manifesto.libre.space/ Libre Space Manifesto] for more info.&lt;br /&gt;
&lt;br /&gt;
===2. Integration with SatNOGS===&lt;br /&gt;
====2.1 Reasons to Join====&lt;br /&gt;
You have recently discovered SatNOGS and you are involved in a mission. Here are the top 10 reasons why your mission should join SatNOGS:&lt;br /&gt;
&lt;br /&gt;
#SatNOGS can help streamline your mission operations (Dashboards, Monitoring, Telemetry acquisition)&lt;br /&gt;
#SatNOGS is open source technology. Every piece of technology we develop is licensed as an open source project (software and hardware), which you can learn from, re-mix, re-use and contribute!&lt;br /&gt;
#SatNOGS is a global community of satellite enthusiasts, radio amateurs and satellite operators! [[Get In Touch|Join our community and be part of it.]]&lt;br /&gt;
#SatNOGS is best suited for educational, research, non-profit, experimental and amateur missions. Libre Space Foundation[https://libre.space/] that runs SatNOGS is committed on supporting those missions.&lt;br /&gt;
#SatNOGS is the largest global ground station network. 400 stations online with a spread around the world. No other network can beat that :)&lt;br /&gt;
#SatNOGS is non-profit. Our sustainability is funded through development funds, custom development if needed and a viral model of adding ground stations to the network. Using the network is as simple as adding another station to it!&lt;br /&gt;
#SatNOGS is full of educational opportunities. Great learning material, documentation and a vibrant community can help you get up to speed for mission COMMS and Operations.&lt;br /&gt;
#SatNOGS modular technology stack allows you to integrate with your existing space and ground station hardware easily. We support many COTS hardware or can easily add support for more.&lt;br /&gt;
#SatNOGS provides also a vertical approach if you choose to opt-in for tested integration through Libre Space Foundation space qualified hardware COMMS options (SatNOGS COMMS[https://gitlab.com/librespacefoundation/satnogs-comms/] and PQ9ISH COMMS[https://gitlab.com/librespacefoundation/pq9ish/pq9ish-comms-vu-hw/]).&lt;br /&gt;
#SatNOGS is a project abiding to the Libre Space Manifesto [https://manifesto.libre.space/].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====2.2 Add a new Mission====&lt;br /&gt;
Do you want to integrate your mission with SatNOGS? Cool! Here is a short guide how to do this. Please also reach out to us via [[Get In Touch|chat or community]] so that we can support you. Checklist:&lt;br /&gt;
&lt;br /&gt;
#SatNOGS DB&lt;br /&gt;
#*Suggest to add your satellite to satnogs-db by creating an issue in [https://gitlab.com/librespacefoundation/satnogs-ops/issues satnogs-ops] providing the following information:&lt;br /&gt;
#**Name&lt;br /&gt;
#**NORAD catalog number (if already assigned)&lt;br /&gt;
#**Amateur Radio call sign (if Amateur service)&lt;br /&gt;
#**Description&lt;br /&gt;
#**Project Website&lt;br /&gt;
#**Image of the satellite&lt;br /&gt;
#*Once the new satellite was added to satnogs-db by one of the satnogs-ops team members, find your satellite in [https://db.satnogs.org/ db.satnogs.org] and add a transmitter suggestion for each transmitter of your satellite&lt;br /&gt;
#SatNOGS GNURadio&lt;br /&gt;
#*Choose one of the existing flowgraphs in [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs gr-satnogs] or provide a new one&lt;br /&gt;
#SatNOGS Client&lt;br /&gt;
#*If you added a new flowgraph under the previous point, make sure to add support for it in [https://gitlab.com/librespacefoundation/satnogs/satnogs-client satnogs-client]&lt;br /&gt;
#*Wait for the next release of [https://gitlab.com/librespacefoundation/satnogs/satnogs-client-ansible/ satnogs-client-ansible], then let the station owners know that your satellite is supported now and ask them to update their stations.&lt;br /&gt;
#SatNOGS Decoders&lt;br /&gt;
#*Add a decoder written in [https://kaitai.io/ Kaitai] to [https://gitlab.com/librespacefoundation/satnogs/satnogs-decoders satnogs-decoders]&lt;br /&gt;
#SatNOGS Dashboard&lt;br /&gt;
#*To obtain editor permissions to build a SatNOGS Dashboard for your mission you need an account in the LSF SSO system. To get this, go to https://dashboard.satnogs.org/login and press &amp;quot;Sign-in with Auth0&amp;quot;. On the following page select sign-up to register.&lt;br /&gt;
#*Sign-in to https://dashboard.satnogs.org once (you will have read permissions for now).&lt;br /&gt;
#*Please create an issue in https://gitlab.com/librespacefoundation/satnogs-ops/-/issues with the following details:&lt;br /&gt;
#**The Satellite&lt;br /&gt;
#**Your Satellite Team&lt;br /&gt;
#**Your email address used for the login&lt;br /&gt;
#*Once you got editor permissions, you can create a new dashboard in [https://dashboard.satnogs.org dashboard.satnogs.org] for your satellite.&lt;br /&gt;
{{warning|In order to have scheduling rights in SatNOGS Network, you need to own an operational Online Station in the Network. Consider building one, or donating one in the Network.}}&lt;br /&gt;
==3. Operations==&lt;br /&gt;
&lt;br /&gt;
=== 3.1 Launch Operations / Satellite Identification ===&lt;br /&gt;
A few weeks / days before the launch, a contributor will create the '''Launch Thread''' for every planned launch in the [https://community.libre.space/c/satellites-observations/launches/26 Launches] category of our community. This thread is supposed to collect information about the satellites that will be launched and about when and where this will happen.&lt;br /&gt;
&lt;br /&gt;
After the launch all communication about identifications / deployments / determined orbits / operational status are shared in this launch thread. Keeping the information for all satellites of a single launch in one thread is tremendously helpful for coordinating between missions! For example identifying two of three satellites in a train will allow the identification by exclusion principle of the third one. Note however that for launches with many satellites this thread is quite busy. So if you e.g. intent to describe your mission in detail you can open a separate thread for your mission in the [https://community.libre.space/c/satellites-observations/16 Satellites &amp;amp; Observations] category.&lt;br /&gt;
&lt;br /&gt;
You are highly welcomed to participate in this thread, for example by stating the affiliation with your mission, sharing the expected orbit, frequencies and modulations or  sharing the identification of your satellite. If you share identifications please always shortly explain how you got to a certain TLE (e.g. from on-board GPS, via doppler measurements or using the exclusion principle).&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;We wish you a successful mission. Claim Space, the Libre Way!&amp;lt;/big&amp;gt;'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
*[[DB|SatNOGS DB]]&lt;br /&gt;
*[[Network|SatNOGS Network]]&lt;br /&gt;
*[[Forum|Community Forum]]&lt;br /&gt;
*[[Get In Touch]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Satellite]]&lt;br /&gt;
[[Category:RF Modes]]&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Wiki/Replay_observations_from_audio&amp;diff=3860</id>
		<title>Wiki/Replay observations from audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Wiki/Replay_observations_from_audio&amp;diff=3860"/>
		<updated>2022-10-26T11:04:05Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: Create page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Message|This page is under construction.}}&lt;br /&gt;
&lt;br /&gt;
using the ogg audio from bpsk obs to replay and tune around the recorded band&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Build&amp;diff=3846</id>
		<title>Build</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Build&amp;diff=3846"/>
		<updated>2022-08-17T09:49:27Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: Remove link to platform &amp;quot;Fedora&amp;quot; (broke &amp;amp; not supported anymore for quite some years)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Building a ground station need not be complicated. There are a few things to consider when working out what it is you are going to do. Choices such as the desire to have a fixed or steerable ground station will play a big part in the amount of equipment needed and the time taken as well as the complexity of any build. If you are new to this and a little unsure then a fixed (no rotator) option is a good choice. If you fancy a challenge and want to pick out the weakest signals then the steerable ground station might be what you are after. There is more detail in the [[Ground Stations]] page&lt;br /&gt;
&lt;br /&gt;
The illustration below sets out the various major components to give an idea as to what is commonly used.&lt;br /&gt;
&lt;br /&gt;
==Options for Ground Stations==&lt;br /&gt;
&lt;br /&gt;
A satellite ground station is made up from different parts. The following diagram can help you select your setup based on your needs and/or your existing setup.&lt;br /&gt;
&lt;br /&gt;
[[File:Satnogs_imagemap.png|center]]&lt;br /&gt;
&lt;br /&gt;
Here are some links explaining the different options:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
!Platform&lt;br /&gt;
!Controller&lt;br /&gt;
![[Rotators|Rotator]]&lt;br /&gt;
!Radio&lt;br /&gt;
![[Antennas|Antenna]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Raspberry_Pi|Raspberry Pi]]&lt;br /&gt;
|[[SatNOGS Rotator Controller|SatNOGS Controller]]&lt;br /&gt;
|[[SatNOGS_Rotator_v3|SatNOGS Rotator]]&lt;br /&gt;
|[[Radio#SDR|SDR]]&lt;br /&gt;
|[[Antennas|Yagi]]&lt;br /&gt;
|-&lt;br /&gt;
|[[SatNOGS_Client_Ansible|Debian system]]&lt;br /&gt;
|[http://spid.net.pl/en/rot2prog-2/ Rot2Prog]&lt;br /&gt;
|[[SPID Big RAS]]&lt;br /&gt;
|&lt;br /&gt;
|[[Antennas|Helical]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Linux Desktop]]&lt;br /&gt;
|[[G-5500|lsf-g5500]]&lt;br /&gt;
|[[G-5500|Yaesu G5500]]&lt;br /&gt;
|&lt;br /&gt;
|[[Antennas|Vertical]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[https://wiki.satnogs.org/SatNOGS_Arduino_Uno/CNC_Shield_Based_Rotator_Controller Arduino UNO CNC Shield based controller]&lt;br /&gt;
|[[No rotator]]&lt;br /&gt;
|&lt;br /&gt;
|[[Antennas|Cross-Yagi]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[https://community.libre.space/t/ramps-1-4-board-for-satnogs-rotator/3386 RAMPS 1.4 Board for SatNOGS Rotator]&lt;br /&gt;
|[[SuperAntennaz|SuperAntennaz]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Message|Use the above table to select your setup. E.g. RPi3 &amp;gt; Yaesu G550 &amp;gt; SDR &amp;gt; UHF helical &amp;amp; VHF Cross Yagi}}&lt;br /&gt;
&lt;br /&gt;
==How do I pick?==&lt;br /&gt;
&lt;br /&gt;
'''Client''': The Raspberry Pi is the reference platform for SatNOGS, and is currently the option that has the best support from the community.  Certain SDRs may benefit from a more powerful CPU, like what you'd find in a desktop machine; however, currently you'll need to set that up on your own.&lt;br /&gt;
&lt;br /&gt;
'''Rotator''': A rotator, like the [[SatNOGS_Rotator_v3|SatNOGS Rotator v3]], will allow your antenna to follow satellites as they move across the sky, and thus pick up fainter signals.  But if you want to get started quickly, or don't have the hardware skills to build your own, you can still pick up stronger signals (the ISS, NOAA and Meteor weather satellites) with a [[No_rotator|no-rotator]] setup.  If you already have [https://github.com/Hamlib/Hamlib/wiki/Supported-Rotators a rotator supported by rotctl], you can use that.&lt;br /&gt;
&lt;br /&gt;
'''Signal Reception''': The reference radio for SatNOGS is the [https://www.rtl-sdr.com RTL-SDR v3], but other latest-generation SDRs like the [http://www.nooelec.com/store/nesdr-smart-sdr.html NooElec NESDR SMart] should work as well.  Higher-end SDRs should work as well, but can get a bit expensive.  Alternately, [https://sourceforge.net/p/hamlib/wiki/Supported%20Radios/ any radio supported by rigctl] should work.&lt;br /&gt;
&lt;br /&gt;
Amplification is generally done by a low noise amplifier, or LNA. There are multiple options:&lt;br /&gt;
&lt;br /&gt;
*A wide-band LNA next to your SDR (see [http://lna4all.blogspot.com/ LNA4ALL], [https://iz7boj.wordpress.com/2019/04/11/spf5189z-lna-measurements-on-vna/ SPF5189] and similar)&lt;br /&gt;
*A band specific (or two) pre-amplifiers next to your antennas ([http://www.wimo.com/mast-preamplifier_e.html example])&lt;br /&gt;
*No amplification at all...just pump the gain of your SDR.  (This is not recommended for the rtl-sdr.)&lt;br /&gt;
&lt;br /&gt;
'''Antenna''':  Stationary antennas (eg: [https://en.wikipedia.org/wiki/Turnstile_antenna Turnstile], [https://community.libre.space/t/parasitic-lindenblad-on-uhf/1128/2 Lindenblad]) will be easy to build and mount, as they won't require rotator hardware.  They will let you receive stronger broadcasts, like NOAA weather satellites and ISS broadcasts, but may not work for receiving fainter cubesat broadcasts.  Directional antennas (eg: Yagis, Helicals) can be more complicated to build, but will also require a rotator to track satellites across the sky.  The advantage is that they will let you pick up fainter broadcasts from cubesats or ham radio satellites. Sometimes it's useful the ability of [[Antenna switching|switch]] different antennas among observations.&lt;br /&gt;
&lt;br /&gt;
==Next steps==&lt;br /&gt;
&lt;br /&gt;
Once you have a ground station ready, you should go ahead and operate it! More info can be found on the [[Operation]] wiki page.&lt;br /&gt;
&lt;br /&gt;
[[Category:Build]]&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=SatNOGS_Client_Development&amp;diff=3844</id>
		<title>SatNOGS Client Development</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=SatNOGS_Client_Development&amp;diff=3844"/>
		<updated>2022-08-12T21:55:58Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: /* Setting up a gr-satnogs development environment */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Intro==&lt;br /&gt;
This page describes the setup of a development environment for the&lt;br /&gt;
SatNOGS ground station reference setup based on [https://gitlab.com/librespacefoundation/satnogs/satnogs-client-ansible satnogs-client-ansible].&lt;br /&gt;
It is assumed you have already setup your ground station as explained in [[SatNOGS_Client_Setup]].&lt;br /&gt;
&lt;br /&gt;
==satnogs-flowgraphs==&lt;br /&gt;
For each Satellite Transmitter Mode there is a specific flowgraph in this package. There are generic (e.g. CW) and satellite-specific flowgraphs. The Satellite-Transmitter-Mode-to-flowgraph mapping is defined in satnogs-client. This package is using gr-soapy for SDR hardware support and gr-satnogs for required GNURadio blocks.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==gr-satnogs==&lt;br /&gt;
&lt;br /&gt;
The gnuradio Out-Of-Tree module [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs gr-satnogs] provides blocks required by satnogs-flowgraphs. The gitlab-CI automatically builds the package in docker containers, configured by the [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs/blob/master/.gitlab-ci.yml .gitlab-ci.yml]. The built packages for releases are pushed to the librespace:satnogs package repository, the built package for the latest development version on master is pushed to the librespace:satnogs-unstable package repository.&lt;br /&gt;
&lt;br /&gt;
To use a modified gr-satnogs module on a SatNOGS ground station, it’s recommended to clone your fork on your station, build the patched gr-satnogs packages and install it.&lt;br /&gt;
&lt;br /&gt;
To install the latest development version of gr-satnogs on your station, set &amp;lt;code&amp;gt;experimental=True&amp;lt;/code&amp;gt; or configure  in &amp;lt;code&amp;gt;satnogs-setup&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Setting up a gr-satnogs development environment===&lt;br /&gt;
&lt;br /&gt;
OUTDATED since [https://gitlab.com/librespacefoundation/satnogs/satnogs-client-ansible/-/commit/336a3206fbeec8e1a5257ce375578f31a92988e4 satnogs-client-ansible@336a320]!&lt;br /&gt;
&lt;br /&gt;
*Fork gr-satnogs&lt;br /&gt;
*Fork gr-satnogs-package&lt;br /&gt;
*Adjust the repository url of gr-satnogs in [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs-package/blob/master/debian/debian/rules#L22 gr-satnogs-package/debian/debian/rules#L22]&lt;br /&gt;
*Adjust the repository url in the version detection in [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs-package/blob/master/.gitlab-ci.yml#L13 gr-satnogs-package/.gitlab-ci.yml#L13] ,[https://gitlab.com/librespacefoundation/satnogs/gr-satnogs-package/blob/master/.gitlab-ci.yml#L30 #L30] ,[https://gitlab.com/librespacefoundation/satnogs/gr-satnogs-package/blob/master/.gitlab-ci.yml#L47 #L47]&lt;br /&gt;
*Wait for the gitlab-CI to build your first version of gr-satnogs-package (~45 min)&lt;br /&gt;
*Install your freshly built gr-satnogs-package by pointing the &amp;lt;code&amp;gt;SATNOGS_RADIO_GR_SATNOGS_PACKAGE&amp;lt;/code&amp;gt; in satnogs-setup to the built artifact/debian package of your architecture (e.g. &amp;lt;code&amp;gt;armhf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;amd64&amp;lt;/code&amp;gt;). The build artifacts are available in your gr-satnogs-package fork by clicking CI/CD, selecting there the latest pipeline, the latest build-job and then in the right column &amp;lt;code&amp;gt;Browse&amp;lt;/code&amp;gt;, path &amp;lt;code&amp;gt;build/debian/output/$your_arch/gr-satnogs_$your_arch.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==satnogs-client==&lt;br /&gt;
The [https://gitlab.com/librespacefoundation/satnogs/satnogs-client satnogs-client] is a python package, and gets installed by satnogs-setup in a python virtual environment using [https://pip.pypa.io/ pip]. The development is done in the  &amp;lt;code&amp;gt;master&amp;lt;/code&amp;gt; branch.&lt;br /&gt;
&lt;br /&gt;
Please note that satnogs-client and satnogs-flowgraphs must be installed in compatible versions, due to (frequent) changes in the arguments available in the demodulation scripts, see [[Compatibility]].&lt;br /&gt;
===Setting up a satnogs-client development environment===&lt;br /&gt;
&lt;br /&gt;
#Fork [https://gitlab.com/librespacefoundation/satnogs/satnogs-client satnogs-client]&lt;br /&gt;
#Clone the repository on your development machine&lt;br /&gt;
#Create a new branch (e.g. station123) with your changes &amp;amp; push it&lt;br /&gt;
#Run satnogs-setup and change the value of &amp;lt;code&amp;gt;SATNOGS_CLIENT_URL&amp;lt;/code&amp;gt; to point to your repository and branch as described in [[SatNOGS_Client_Setup#Advanced_Setup]]&lt;br /&gt;
#Hit &amp;quot;Apply&amp;quot; in satnogs-setup to finally install your satnogs-client version&lt;br /&gt;
#Profit.&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous development notes ===&lt;br /&gt;
&lt;br /&gt;
* [[How to bodge an immediate observation in for testing purposes]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Develop]]&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=SatNOGS_Client_Development&amp;diff=3843</id>
		<title>SatNOGS Client Development</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=SatNOGS_Client_Development&amp;diff=3843"/>
		<updated>2022-08-12T21:54:27Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: /* Setting up a gr-satnogs development environment */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Intro==&lt;br /&gt;
This page describes the setup of a development environment for the&lt;br /&gt;
SatNOGS ground station reference setup based on [https://gitlab.com/librespacefoundation/satnogs/satnogs-client-ansible satnogs-client-ansible].&lt;br /&gt;
It is assumed you have already setup your ground station as explained in [[SatNOGS_Client_Setup]].&lt;br /&gt;
&lt;br /&gt;
==satnogs-flowgraphs==&lt;br /&gt;
For each Satellite Transmitter Mode there is a specific flowgraph in this package. There are generic (e.g. CW) and satellite-specific flowgraphs. The Satellite-Transmitter-Mode-to-flowgraph mapping is defined in satnogs-client. This package is using gr-soapy for SDR hardware support and gr-satnogs for required GNURadio blocks.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==gr-satnogs==&lt;br /&gt;
&lt;br /&gt;
The gnuradio Out-Of-Tree module [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs gr-satnogs] provides blocks required by satnogs-flowgraphs. The gitlab-CI automatically builds the package in docker containers, configured by the [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs/blob/master/.gitlab-ci.yml .gitlab-ci.yml]. The built packages for releases are pushed to the librespace:satnogs package repository, the built package for the latest development version on master is pushed to the librespace:satnogs-unstable package repository.&lt;br /&gt;
&lt;br /&gt;
To use a modified gr-satnogs module on a SatNOGS ground station, it’s recommended to clone your fork on your station, build the patched gr-satnogs packages and install it.&lt;br /&gt;
&lt;br /&gt;
To install the latest development version of gr-satnogs on your station, set &amp;lt;code&amp;gt;experimental=True&amp;lt;/code&amp;gt; or configure  in &amp;lt;code&amp;gt;satnogs-setup&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Setting up a gr-satnogs development environment===&lt;br /&gt;
&lt;br /&gt;
OUTDATED since [https://gitlab.com/librespacefoundation/satnogs/satnogs-client-ansible/-/commit/90e4fc476f5b2a7a103068afb2e9d18d70dcf00e satnogs-client-ansible@90e4fc4]!&lt;br /&gt;
&lt;br /&gt;
*Fork gr-satnogs&lt;br /&gt;
*Fork gr-satnogs-package&lt;br /&gt;
*Adjust the repository url of gr-satnogs in [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs-package/blob/master/debian/debian/rules#L22 gr-satnogs-package/debian/debian/rules#L22]&lt;br /&gt;
*Adjust the repository url in the version detection in [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs-package/blob/master/.gitlab-ci.yml#L13 gr-satnogs-package/.gitlab-ci.yml#L13] ,[https://gitlab.com/librespacefoundation/satnogs/gr-satnogs-package/blob/master/.gitlab-ci.yml#L30 #L30] ,[https://gitlab.com/librespacefoundation/satnogs/gr-satnogs-package/blob/master/.gitlab-ci.yml#L47 #L47]&lt;br /&gt;
*Wait for the gitlab-CI to build your first version of gr-satnogs-package (~45 min)&lt;br /&gt;
*Install your freshly built gr-satnogs-package by pointing the &amp;lt;code&amp;gt;SATNOGS_RADIO_GR_SATNOGS_PACKAGE&amp;lt;/code&amp;gt; in satnogs-setup to the built artifact/debian package of your architecture (e.g. &amp;lt;code&amp;gt;armhf&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;amd64&amp;lt;/code&amp;gt;). The build artifacts are available in your gr-satnogs-package fork by clicking CI/CD, selecting there the latest pipeline, the latest build-job and then in the right column &amp;lt;code&amp;gt;Browse&amp;lt;/code&amp;gt;, path &amp;lt;code&amp;gt;build/debian/output/$your_arch/gr-satnogs_$your_arch.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==satnogs-client==&lt;br /&gt;
The [https://gitlab.com/librespacefoundation/satnogs/satnogs-client satnogs-client] is a python package, and gets installed by satnogs-setup in a python virtual environment using [https://pip.pypa.io/ pip]. The development is done in the  &amp;lt;code&amp;gt;master&amp;lt;/code&amp;gt; branch.&lt;br /&gt;
&lt;br /&gt;
Please note that satnogs-client and satnogs-flowgraphs must be installed in compatible versions, due to (frequent) changes in the arguments available in the demodulation scripts, see [[Compatibility]].&lt;br /&gt;
===Setting up a satnogs-client development environment===&lt;br /&gt;
&lt;br /&gt;
#Fork [https://gitlab.com/librespacefoundation/satnogs/satnogs-client satnogs-client]&lt;br /&gt;
#Clone the repository on your development machine&lt;br /&gt;
#Create a new branch (e.g. station123) with your changes &amp;amp; push it&lt;br /&gt;
#Run satnogs-setup and change the value of &amp;lt;code&amp;gt;SATNOGS_CLIENT_URL&amp;lt;/code&amp;gt; to point to your repository and branch as described in [[SatNOGS_Client_Setup#Advanced_Setup]]&lt;br /&gt;
#Hit &amp;quot;Apply&amp;quot; in satnogs-setup to finally install your satnogs-client version&lt;br /&gt;
#Profit.&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous development notes ===&lt;br /&gt;
&lt;br /&gt;
* [[How to bodge an immediate observation in for testing purposes]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Develop]]&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Software_Defined_Radio&amp;diff=3842</id>
		<title>Software Defined Radio</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Software_Defined_Radio&amp;diff=3842"/>
		<updated>2022-08-09T08:52:47Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: Airspy section: Add example station 1559 (DB2OS-VHF Omni)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
Built upon [https://gnuradio.org/ GNU Radio] and [https://github.com/pothosware/SoapySDR/wiki SoapySDR] by using the [https://gitlab.com/librespacefoundation/gr-soapy gr-soapy] module SatNOGS supports a large variety of Software-Defined Radios (SDRs). The gr-soapy module was developed in the [https://sdrmaker.space/ SDR Makerspace] and is maintained by Libre Space Foundation to bring the vendor-neutral SDR support by SoapySDR to the flexible gnuradio ecosystem.&lt;br /&gt;
&lt;br /&gt;
The most cost-effective solution is to use an RTL-SDR with a Raspberry Pi.  More advanced SDRs are also used, but they require more processing power and thus might require a more powerful computing platform than the Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
==Supported Devices==&lt;br /&gt;
&lt;br /&gt;
SoapySDR supports SDR devices through runtime-loadable modules [https://github.com/pothosware/SoapySDR/wiki#plugin-architecture]. You can find all available modules in the [https://github.com/pothosware/SoapySDR/wiki#modules SoapySDR wiki] (see right column). Most SDR modules are installed by default when setting up a SatNOGS station.&lt;br /&gt;
&lt;br /&gt;
The following SDRs are supported by SatNOGS. SatNOGS uses the RTL-SDR as the recommended beginner signal receiver and tuner.  &lt;br /&gt;
The more advanced SDRs may require more processing power than a Raspberry Pi 3b or 4 can offer. &lt;br /&gt;
&lt;br /&gt;
*[[Software Defined Radio#RTL-SDR Support|RTL-SDR]]&lt;br /&gt;
**[https://www.nooelec.com/store/sdr/sdr-receivers.html NooElec NESDR SMArt]&lt;br /&gt;
**[https://www.rtl-sdr.com/buy-rtl-sdr-dvb-t-dongles/ RTL-SDR Blog R820T2 RTL2832U]&lt;br /&gt;
**Full band UV HF RTL-SDR USB Tuner Receiver&lt;br /&gt;
&lt;br /&gt;
*[[Software Defined Radio#USRP support|USRP devices]]&lt;br /&gt;
**[https://www.ettus.com/product/category/USRP-Bus-Series USRP B200]&lt;br /&gt;
&lt;br /&gt;
*[[Software Defined Radio#Airspy support|Airspy]]&lt;br /&gt;
*[[Software Defined Radio#LimeSDR support|LimeSuite devices]]&lt;br /&gt;
**[https://limemicro.com/products/boards/limesdr-mini/ LimeSDR mini]&lt;br /&gt;
*[[Software Defined Radio#PlutoSDR support|PlutoSDR]]&lt;br /&gt;
**[https://www.analog.com/en/design-center/evaluation-hardware-and-software/evaluation-boards-kits/adalm-pluto.html#eb-overview ADALM-PLUTO] (untested)&lt;br /&gt;
&lt;br /&gt;
{{Message|There are probably a lot more devices supported since the transition from gr-osmosdr to gr-soapy. Please update this list when you were able to successfully run a SatNOGS station with a new radio family or model. You can also link your station as an example to give others the ability to compare performance.}}&lt;br /&gt;
&lt;br /&gt;
==Supported Devices with closed-source drivers==&lt;br /&gt;
Unfortunately some vendors require closed-source drivers in their SoapySDR modules and thus those modules or dependencies can't be redistributed by others. Thus they must be manually installed by the user. The following devices require closed-source drivers:&lt;br /&gt;
&lt;br /&gt;
*[[Software Defined Radio#SDRPlay support|SDRPlay]]&lt;br /&gt;
&lt;br /&gt;
==Unsupported Devices==&lt;br /&gt;
{{Warning|This section might be outdated due to the transition to gr-soapy. Please update when possible.}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*[https://greatscottgadgets.com/hackrf/ HackRF One] (not compatible with the SatNOGS client on Raspberry Pi, ''Update: works fine now on a Pi4, only tested with the 8GB version of the Pi4. Will probably work with a 2/4GB version too. Not tested on a Pi3, might not be powerful enough to handle 8MS/s'')&lt;br /&gt;
&lt;br /&gt;
==RTL-SDR Support==&lt;br /&gt;
The RTL-SDR is based on two chips -- the versatile [http://www.realtek.com.tw/products/productsView.aspx?Langid=1&amp;amp;PFid=35&amp;amp;Level=4&amp;amp;Conn=3&amp;amp;ProdID=257 RTL2832U chip] and the [https://rtl-sdr.com/wp-content/uploads/2013/04/R820T_datasheet-Non_R-20111130_unlocked.pdf R820T tuner]. The RTL-SDR is currently the cheapest, most common, and most performing solution available in terms of general sensitivity having a frequency range of 24 – 1766 MHz.  A metal enclosure with SMA connector is preferred, along with a stable TCXO (low ppm).  HF coverage is optional.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Using RTL-SDR.com V3 Dongle's Bias-T Power Supply===&lt;br /&gt;
The RTL-SDR.com V3 dongle has a built in software activated Bias-T voltage supply intended to be used for applications such as powering inline LNAs (Low Noise Amplifiers).   There are several ways to turn on the voltage, but through initial testing (as of this writing, 17 Aug 2019) it seems that the following procedure works best.&lt;br /&gt;
&lt;br /&gt;
The below relates to Raspberry Pi installs only.   No testing has been performed on other systems as of yet.&lt;br /&gt;
&lt;br /&gt;
{{Warning|Turning on the Bias-T with no LNA installed and a &amp;quot;shorted&amp;quot; style antenna (such as loops, egg-beaters, etc.) can damage the RTL-SDR.com V3 dongle.   Never activate the bias-t with no LNA installed between the antenna and the SDR dongle.}}&lt;br /&gt;
&lt;br /&gt;
'''Requirements:'''&lt;br /&gt;
&lt;br /&gt;
#Raspberry Pi running Raspbian Buster or newer (latest release of SatNogs image, [https://gitlab.com/librespacefoundation/satnogs/satnogs-pi-gen/-/tags 2019091100], is demonstrated to work)&lt;br /&gt;
#[https://www.rtl-sdr.com/buy-rtl-sdr-dvb-t-dongles/ RTL-SDR.com V3 SDR dongle]&lt;br /&gt;
#[https://www.rtl-sdr.com/rtl-sdr-blog-v-3-dongles-user-guide/ RTL-SDR.com Bias-T Software Switch] for linux systems&lt;br /&gt;
#LNA capable of being powered via feedline coax (note that some LNAs need modifications to be powered by the coax, and some cannot be powered by the coax at all.  Check the specifications for your LNA prior to attempting to turn on the Bias-T power supply)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Instructions for installing RTL-SDR.com Bias-T Software Switch====&lt;br /&gt;
&lt;br /&gt;
#Log into your SatNogs station either directly or via SSH&lt;br /&gt;
#If your station does not have cmake installed (SatNogs Image 2019091100 does not), install cmake with &amp;lt;code&amp;gt;sudo apt install cmake&amp;lt;/code&amp;gt;&lt;br /&gt;
#Clone the source for the Bias-T software switch with &amp;lt;code&amp;gt;git clone &amp;lt;nowiki&amp;gt;https://github.com/rtlsdrblog/rtl_biast&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
#&amp;lt;code&amp;gt;cd rtl_biast&amp;lt;/code&amp;gt;&lt;br /&gt;
#&amp;lt;code&amp;gt;mkdir build&amp;lt;/code&amp;gt;&lt;br /&gt;
#&amp;lt;code&amp;gt;cd build&amp;lt;/code&amp;gt;&lt;br /&gt;
#&amp;lt;code&amp;gt;cmake ..&amp;lt;/code&amp;gt;  (if you get a &amp;lt;code&amp;gt;LibUSB 1.0 required to compile rtl-sdr&amp;lt;/code&amp;gt; error here, then do &amp;lt;code&amp;gt;sudo apt install libusb-1.0-0-dev&amp;lt;/code&amp;gt; prior to attempting &amp;lt;code&amp;gt;cmake ..&amp;lt;/code&amp;gt; again)&lt;br /&gt;
#&amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The software switch should now be installed in the &amp;quot;src&amp;quot; directory.    If you &amp;lt;code&amp;gt;cd src&amp;lt;/code&amp;gt;, you can turn on the bias-t with the command &amp;lt;code&amp;gt;./rtl_biast -b 1&amp;lt;/code&amp;gt; and turn it off with &amp;lt;code&amp;gt;./rtl_biast -b 0&amp;lt;/code&amp;gt;.   Note that the developers of this switch have warned against attempting to &amp;lt;code&amp;gt;sudo make install&amp;lt;/code&amp;gt; so that this command can be executed from ouside the src directory.   Testing has shown this warning to be accurate, so don't plan on running these commands from anywhere but the src directory, or else be sure to use the full path.&lt;br /&gt;
&lt;br /&gt;
Switching the Bias-T on should yield between 4.5V and 5.0V across the center conductor and shield of the coax.   The voltage should rise almost instantly.   When switched off, the voltage seems to decrease gradually, over 5 to 10 seconds.&lt;br /&gt;
&lt;br /&gt;
====Instructions to activate the bias-t for SatNogs Observations automatically:====&lt;br /&gt;
&lt;br /&gt;
#Log into your SatNogs station either directly or via SSH&lt;br /&gt;
#&amp;lt;code&amp;gt;sudo satnogs-setup&amp;lt;/code&amp;gt;&lt;br /&gt;
#select &amp;lt;code&amp;gt;Advanced&amp;lt;/code&amp;gt;&lt;br /&gt;
#for &amp;lt;code&amp;gt;Radio&amp;lt;/code&amp;gt; -&amp;gt;&amp;lt;code&amp;gt;SATNOGS_RF_GAIN&amp;lt;/code&amp;gt;, enter a low gain value supported by your RTL-SDR.com V3 dongle (entering &amp;lt;code&amp;gt;rtl_test&amp;lt;/code&amp;gt; at the command line prior to starting &amp;lt;code&amp;gt;satnogs-setup&amp;lt;/code&amp;gt; will give you all allowable values of RF gain) and select &amp;lt;code&amp;gt;Ok&amp;lt;/code&amp;gt;&lt;br /&gt;
#for &amp;lt;code&amp;gt;Scripts&amp;lt;/code&amp;gt; -&amp;gt;&amp;lt;code&amp;gt;SATNOGS_PRE_OBSERVATION_SCRIPT,&amp;lt;/code&amp;gt; enter &amp;lt;code&amp;gt;/home/pi/rtl_biast/build/src/rtl_biast -b 1&amp;lt;/code&amp;gt; and select &amp;lt;code&amp;gt;Ok&amp;lt;/code&amp;gt;&lt;br /&gt;
#for &amp;lt;code&amp;gt;Scripts&amp;lt;/code&amp;gt; -&amp;gt;&amp;lt;code&amp;gt;SATNOGS_POST_OBSERVATION_SCRIPT,&amp;lt;/code&amp;gt; enter &amp;lt;code&amp;gt;/home/pi/rtl_biast/build/src/rtl_biast -b 0&amp;lt;/code&amp;gt; and select &amp;lt;code&amp;gt;Ok&amp;lt;/code&amp;gt;&lt;br /&gt;
#Select &amp;lt;code&amp;gt;Back&amp;lt;/code&amp;gt;&lt;br /&gt;
#Select &amp;lt;code&amp;gt;Apply&amp;lt;/code&amp;gt; (allow system to update and hit enter when prompted)&lt;br /&gt;
#Select &amp;lt;code&amp;gt;Back&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your station is now set up to turn the Bias-T on for each scheduled observation (using the &amp;lt;code&amp;gt;SATNOGS_PRE_OBSERVATION_SCRIPT&amp;lt;/code&amp;gt; string) and then turn it off at the conclusion of each observation (using the &amp;lt;code&amp;gt;SATNOGS_POST_OBSERVATION_SCRIPT&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
You should now schedule several observations to fine tune the &amp;lt;code&amp;gt;SATNOGS_RF_GAIN&amp;lt;/code&amp;gt; value to get the best S/N performance for your station.   Some have reported needing zero RF gain, others have reported low RF gain required (between 5 and 10 db), and others have said they see little benefit even with very high gain. Each station will be different.&lt;br /&gt;
&lt;br /&gt;
====E4000 Tuner Gain Settings====&lt;br /&gt;
The RTLSDR Driver exposes six (!) IF gain settings (IF1 through IF6) for the E4000 tuner, along with a TUNER gain setting, which is actually a combined LNA and Mixer gain control. Details on the gain stages are available in page 28 of the E4000 data-sheet here: https://www.nooelec.com/files/e4000datasheet.pdf&lt;br /&gt;
&lt;br /&gt;
When you follow the '[[Omnidirectional Station How To#Setting the gain|Setting the Gain]]' guide, all gain sliders (IF1 through IF6, and TUNER) should be presented in SoapySDR, allowing the user to adjust them to optimise for best performance. Once the correct values have been determined, you will need to define these specifically in satnogs-setup as follows:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_GAIN_MODE&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;Settings Field&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_OTHER_SETTINGS&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;IF1=6,IF2=3,IF2=2,IF3=0,IF4=0,IF5=2,IF6=3,TUNER=30&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Replacing the values in the line above with the ones you determined)&lt;br /&gt;
&lt;br /&gt;
====R820T Gain Settings====&lt;br /&gt;
Unfortunately librtlsdr only exposes a single gain control for the R820T/T2 tuners, even though multiple gain adjustments are available. Use the standard SATNOGS_RF_GAIN option, with a gain between 0 and 42 (dB), as optimised for your station via the '[[Omnidirectional Station How To#Setting the gain|Setting the Gain]]' guide.&lt;br /&gt;
&lt;br /&gt;
==Airspy support==&lt;br /&gt;
Vendor: [https://airspy.com/ Airspy]&lt;br /&gt;
&lt;br /&gt;
required SoapySDR module: [https://github.com/pothosware/SoapyAirspy/wiki SoapyAirspy]&lt;br /&gt;
&lt;br /&gt;
Example stations:&lt;br /&gt;
&lt;br /&gt;
*[https://network.satnogs.org/stations/1559/ 1559 - DB2OS-VHF-Omni] / [https://network.satnogs.org/observations/6307151/ Observation #6307151]&lt;br /&gt;
&lt;br /&gt;
'''Note than none of the settings below should be entered with the &amp;quot;  &amp;quot; around the value. This is only for better readability in the Wiki !''' &lt;br /&gt;
&lt;br /&gt;
===Gain settings===&lt;br /&gt;
There are two possible gain modes:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_GAIN_MODE&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;Overall&amp;quot;&amp;lt;/code&amp;gt;: (default) Use a single gain value.  Set the overall gain with &amp;lt;code&amp;gt;SATNOGS_RF_GAIN&amp;lt;/code&amp;gt;,e.g. &amp;lt;code&amp;gt;SATNOGS_RF_GAIN&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;43&amp;lt;/code&amp;gt;.&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_GAIN_MODE&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;Settings Field&amp;quot;&amp;lt;/code&amp;gt;: Use granular gain values.  Set the different gain stages separately:&lt;br /&gt;
**without pre-amp: &amp;lt;code&amp;gt;SATNOGS_OTHER_SETTINGS&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;LNA=12,MIX=8,VGA=11&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
**with pre-amp: &amp;lt;code&amp;gt;SATNOGS_OTHER_SETTINGS&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;LNA=9,MIX=6,VGA=11&amp;quot;&amp;lt;/code&amp;gt; (used in [https://network.satnogs.org/stations/49/ 49 - OZ7SAT])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For reference see also the Airspy driver library linearity gain settings in [https://github.com/airspy/airspyone_host/blob/bceca18f9e3a5f89cff78c4d949c71771d92dfd3/libairspy/src/airspy.c#L117-L122 libairspy/src/airspy.c#L117-L122].&lt;br /&gt;
&lt;br /&gt;
The airspy driver offers &amp;quot;Linearity&amp;quot; and &amp;quot;Sensitivity&amp;quot; gain settings, using a look-up table to configure all three gain stages from a single value (optimized for linearity and gain respectively). Those modes are unfortunately not available through the SoapyAirspy module (see [https://github.com/pothosware/SoapyAirspy/pull/14 SoapyAirspy#14]).&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Overall&amp;quot; gain mode is a soapy-specific driver-independent mode to configure all gain stages based on the single gain value from &amp;lt;code&amp;gt;SATNOGS_RF_GAIN&amp;lt;/code&amp;gt;. It tries to evenly distribute the gain, potentially resulting in non-optimal configuration. Thus for achieving optimal results the &amp;quot;Settings Field&amp;quot; mode is recommended, where all three gain stages can be configured separately.&lt;br /&gt;
&lt;br /&gt;
===Sample rates===&lt;br /&gt;
&lt;br /&gt;
*Airspy R2: &amp;lt;code&amp;gt;SATNOGS_RX_SAMPLE_RATE&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;2.5e6 or 10e6&amp;lt;/code&amp;gt;&lt;br /&gt;
*Airspy Mini: &amp;lt;code&amp;gt;SATNOGS_RX_SAMPLE_RATE&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;3e6 or 6e6&amp;lt;/code&amp;gt;&lt;br /&gt;
*Airspy HF+: &amp;lt;code&amp;gt;SATNOGS_RX_SAMPLE_RATE&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;768e3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
source: [https://twitter.com/DutchSpace/status/1241305651168661504]&lt;br /&gt;
&lt;br /&gt;
If you want to activate the integrated bias tee, set &amp;lt;code&amp;gt;SATNOGS_DEV_ARGS&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;biastee=true&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
Bit packing (&amp;quot;Enable packing 4 12-bit samples into 3 16-bit words for 25% less USB trafic.&amp;quot;) could be enabled with &amp;lt;code&amp;gt;SATNOGS_DEV_ARGS&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;bitpacking=true&amp;quot;&amp;lt;/code&amp;gt; (untested). Device arguments can be concatenated with comma as delimiter.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==SDRPlay support==&lt;br /&gt;
Vendor: [http://www.sdrplay.com/ SDRPlay]&lt;br /&gt;
&lt;br /&gt;
required SoapySDR module: [https://github.com/pothosware/SoapySDRPlay SoapySDRPlay]&lt;br /&gt;
&lt;br /&gt;
The following settings [https://network.satnogs.org/observations/?norad=&amp;amp;observer=&amp;amp;station=1354&amp;amp;results=d1&amp;amp;start=2020-02-20+00%3A00&amp;amp;end=2020-02-24+23%3A59 worked well] for an [https://www.sdrplay.com/rspduo/ SDRplay RSPduo] when using cross-yagis and good [https://www.ssb.de/en/amplifiers/preamplifier/vox/100w SSB low-noise amplifiers]:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_SOAPY_RX_DEVICE=&amp;quot;driver=sdrplay&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_RX_SAMP_RATE=2e6&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_RX_BANDWIDTH=600e3&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_RF_GAIN=34&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_ANTENNA=&amp;quot;Tuner 1 50 ohm&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that 14-bits ADC resolution is only available when using sample rates below 6.048 MSPS, above which the resolution is reduced gradually to 12, 10, and 8 bits.&lt;br /&gt;
&lt;br /&gt;
==USRP support==&lt;br /&gt;
Vendor: [https://ettus.com Ettus Research]&lt;br /&gt;
&lt;br /&gt;
required SoapySDR module: [https://github.com/pothosware/SoapyUHD/wiki SoapyUHD]&lt;br /&gt;
&lt;br /&gt;
Recent USRPs that use the Analog Devices [https://www.analog.com/en/products/ad9361.html AD9361 RFIC] can use almost arbitrary sample rates and analog bandwidth settings. It can be an advantage to set the sample rate as high as the host computer can handle and the analog bandwidth to as narrow as meaningful. The following settings [https://network.satnogs.org/observations/?norad=&amp;amp;observer=&amp;amp;station=1353&amp;amp;results=d1&amp;amp;start=2020-02-20+00%3A00&amp;amp;end=2020-02-24+23%3A59 worked well] for a [https://www.ettus.com/all-products/ub210-kit/ USRP B210] when using cross-yagis and good [https://www.ssb.de/en/amplifiers/preamplifier/vox/100w SSB low-noise amplifiers]:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_SOAPY_RX_DEVICE=&amp;quot;driver=uhd&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_RX_SAMP_RATE=2e6&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_RX_BANDWIDTH=600e3&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_RF_GAIN=50&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_ANTENNA=&amp;quot;RX2&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
**on the B200 your Antenna options are &amp;lt;code&amp;gt;TX/RX&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;RX2&amp;lt;/code&amp;gt;, be sure you select the right option for your configuration!&lt;br /&gt;
&lt;br /&gt;
==LimeSDR support==&lt;br /&gt;
Vendor: [https://limemicro.com Lime microsystems]&lt;br /&gt;
&lt;br /&gt;
required SoapySDR module: [https://github.com/myriadrf/LimeSuite/tree/master/SoapyLMS7 SoapyLMS7 wrapper]&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_SOAPY_RX_DEVICE&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;driver=lime&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_RX_SAMP_RATE&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;2.048e6&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_ANTENNA&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;LNAW&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_GAIN_MODE&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;Settings Field&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_RF_GAIN&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_OTHER_SETTINGS&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;TIA=12,PGA=0,LNA=12&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(untested, copied from station 1378)&lt;br /&gt;
&lt;br /&gt;
Example stations:&lt;br /&gt;
&lt;br /&gt;
*[https://network.satnogs.org/stations/1378/ 1378 - Wolbach library]&lt;br /&gt;
&lt;br /&gt;
==PlutoSDR support==&lt;br /&gt;
Vendor: [https://www.analog.com Analog Devices]&lt;br /&gt;
&lt;br /&gt;
required SoapySDR module: [https://github.com/pothosware/SoapyPlutoSDR/wiki SoapyPlutoSDR]&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_SOAPY_RX_DEVICE&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;driver=plutosdr&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_RX_SAMP_RATE&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;2e6&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_ANTENNA&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;A_BALANCED&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_RF_GAIN&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;50&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==HackRF support==&lt;br /&gt;
Vendor: [https://greatscottgadgets.com/hackrf/ Great Scott Gadgets]&lt;br /&gt;
&lt;br /&gt;
required SoapySDR module: [https://github.com/pothosware/SoapyHackRF SoapyHackRF]&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_SOAPY_RX_DEVICE&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;driver=hackrf&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_ANTENNA&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;TX/RX&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_RX_SAMP_RATE=&amp;quot;8e6&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
**HackRF supports 8 to 20MS/s. Higher than 8MS/s has not been tested with SatNOGS on a RaspberryPi&lt;br /&gt;
**HackRF can run lower than 8MS/s, but it is not recommended as the ADC's filter is not designed for samplerates lower than 8MS/s&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are two possible gain modes:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Overal&amp;quot;, specifying just one global gain:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_GAIN_MODE&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;Overall&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_RF_GAIN&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;64&amp;quot;&amp;lt;/code&amp;gt; (Supported gain range: 0-116dB)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Settings Field&amp;quot;, specifying the individual gains.&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_GAIN_MODE&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;Settings Field&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_OTHER_SETTINGS&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;AMP=14,LNA=40,VGA=48&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
**AMP: supports 0 (amp disabled) and 14 (amp enabled)&lt;br /&gt;
**LNA: supports 0-40dBin 8dB steps&lt;br /&gt;
**VGA: supports 0-62dB in 2dB steps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To activate bias-T power on the antenna port:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_DEV_ARGS&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;bias_tx=true&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example stations:&lt;br /&gt;
&lt;br /&gt;
*[https://network.satnogs.org/stations/1868/ 1868 - HB9FXX S-Band]&lt;br /&gt;
&lt;br /&gt;
==Remote==&lt;br /&gt;
Using the SoapySDRServer running on the same machine or over the network.&lt;br /&gt;
&lt;br /&gt;
Required SoapySDRServer module: [https://github.com/pothosware/SoapyRemote/wiki SoapyRemote].&lt;br /&gt;
Optional SoapySDRUtil to probe for SDR and settings.&lt;br /&gt;
Make sure to match the antenna and gain setting from the actual device connected to the remote. Also possible to select remote drivers and other parameters; &amp;lt;code&amp;gt;driver=remote,remote:driver=rtlsdr&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_SOAPY_RX_DEVICE&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;driver=remote&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_RX_SAMP_RATE&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;2e6&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_ANTENNA&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;RX&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_RF_GAIN&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;20.7&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not stable.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
*[https://www.rtl-sdr.com/rtlsdr4everyone-review-of-5-rtl-sdr-dongles/ Review of 5 RTL-SDR Dongles]&lt;br /&gt;
*[https://hackaday.com/2017/09/05/19-rtl-sdr-dongles-reviewed/ 19 RTL-SDR Dongles Reviewed]&lt;br /&gt;
*[https://www.rtl-sdr.com/review-airspy-vs-sdrplay-rsp-vs-hackrf/ Review: Airspy VS. SDRplay RSP VS. HackRF]&lt;br /&gt;
&lt;br /&gt;
[[Category:Build]]&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:Software]]&lt;br /&gt;
&lt;br /&gt;
__NOEDITSECTION__&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=SatNOGS_Setup_Legacy&amp;diff=3818</id>
		<title>SatNOGS Setup Legacy</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=SatNOGS_Setup_Legacy&amp;diff=3818"/>
		<updated>2022-04-02T14:39:54Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: /* Advanced Setup */ List supported modules in SATNOGS_PPM_ERROR&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&amp;lt;code&amp;gt;satnogs-setup&amp;lt;/code&amp;gt; provides a set of scripts for configuring a '''SatNOGS Client''' system. &amp;lt;code&amp;gt;satnogs-setup&amp;lt;/code&amp;gt; main function is to bring up a menu-driven console configuration utility and provision the system using [[SatNOGS Client Ansible|Ansible]].&lt;br /&gt;
&lt;br /&gt;
==Initial Setup==&lt;br /&gt;
Before starting &amp;lt;code&amp;gt;satnogs-setup&amp;lt;/code&amp;gt;, ensure the Raspberry Pi is up to date. This can be done with &amp;lt;code&amp;gt;sudo apt update&amp;lt;/code&amp;gt; and then &amp;lt;code&amp;gt;sudo apt upgrade&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
{{Message| In case of getting a similar error to this:&lt;br /&gt;
&amp;lt;code&amp;gt;W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://download.opensuse.org/repositories/home:/librespace:/satnogs/Raspbian_10 ./ InRelease: The following signatures were invalid: EXPKEYSIG 8BD3901736A40B6C home:librespace OBS Project &amp;lt;home:librespace@build.opensuse.org&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Check at https://wiki.satnogs.org/Troubleshooting#Invalid_Signature_for_download.opensuse.org on how to solve it}}In case of getting a similar error to &amp;quot;Newer kernel available&amp;quot; annoying message after running sudo apt update:&lt;br /&gt;
&lt;br /&gt;
Package configuration  &lt;br /&gt;
&lt;br /&gt;
┌──────────┤ Pending kernel upgrade ├─────────────────────┐&lt;br /&gt;
&lt;br /&gt;
│                                                                                                                              │&lt;br /&gt;
&lt;br /&gt;
│ Newer kernel available                                                                                         │&lt;br /&gt;
&lt;br /&gt;
│                                                                                                                              │&lt;br /&gt;
&lt;br /&gt;
│ The currently running kernel version is 4.19.97-v7l+ which is not the                 │&lt;br /&gt;
&lt;br /&gt;
│ expected kernel version 4.19.93-v8+.                                                                 │&lt;br /&gt;
&lt;br /&gt;
│                                                                                                                             │&lt;br /&gt;
&lt;br /&gt;
│ Restarting the system to load the new kernel will not be handled                      │&lt;br /&gt;
&lt;br /&gt;
│ automatically, so you should consider rebooting.                                               │&lt;br /&gt;
&lt;br /&gt;
│                                                                                                                             │&lt;br /&gt;
&lt;br /&gt;
│                                 &amp;lt;Ok&amp;gt;                                                                                   │&lt;br /&gt;
&lt;br /&gt;
│                                                                                                                             │&lt;br /&gt;
&lt;br /&gt;
└─────────────────────────────────────────────────|&lt;br /&gt;
&lt;br /&gt;
Do a &amp;quot;sudo apt purge need restart&amp;quot; after doing a reboot after doing a &amp;quot;sudo apt update&amp;quot;{{Message| In case of getting a similar error to this:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
E: Repository 'http://archive.raspberrypi.org/debian buster InRelease' changed its 'Suite' value from 'testing' to 'oldstable'&lt;br /&gt;
&lt;br /&gt;
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.&lt;br /&gt;
&lt;br /&gt;
E: Repository 'http://raspbian.raspberrypi.org/raspbian buster InRelease' changed its 'Suite' value from 'stable' to 'oldstable'&lt;br /&gt;
&lt;br /&gt;
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Run &amp;lt;code&amp;gt;sudo apt-get update --allow-releaseinfo-change&amp;lt;/code&amp;gt; instead of just &amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
(See: [[Troubleshooting#apt-get update: connection failed]] ).&lt;br /&gt;
&lt;br /&gt;
After the first boot of the system, packages and the configuration tool itself '''must be updated'''. Follow the [[SatNOGS Client Setup#Updating SatNOGS Client Software|Updating]] instruction found below.&lt;br /&gt;
&lt;br /&gt;
To configure a '''SatNOGS Client''' system:&lt;br /&gt;
&lt;br /&gt;
#SSH into the system and run &amp;lt;code&amp;gt;sudo satnogs-setup&amp;lt;/code&amp;gt;; this will bring up the configuration menu&lt;br /&gt;
#Set '''all''' options in '''Basic Configuration''' (see below)&lt;br /&gt;
#Select &amp;lt;code&amp;gt;Apply&amp;lt;/code&amp;gt; and the Raspberry Pi will configure itself; this may take some time&lt;br /&gt;
#Select &amp;lt;code&amp;gt;Back&amp;lt;/code&amp;gt; to exit&lt;br /&gt;
{{Message|You can always reconfigure the software by running &amp;lt;code&amp;gt;sudo satnogs-setup&amp;lt;/code&amp;gt; again.}}&lt;br /&gt;
===Basic Configuration===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Setting&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_API_TOKEN&amp;lt;/code&amp;gt;&lt;br /&gt;
|The API token assigned to your ground station on the SatNOGS Network website, please don’t share your api key as this can give access to anyone to upload and change things in network related to your station and its observations.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To find your API token, log in to [https://network.satnogs.org network.satnogs.org], click on the user icon at the top right corner and then click on the &amp;quot;Dashboard&amp;quot; option. On the top of the dashboard page right under the user icon click the button &amp;quot;API key&amp;quot; to show your API token.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_SOAPY_RX_DEVICE&amp;lt;/code&amp;gt;&lt;br /&gt;
|If you are using an RTL-SDR, this is &amp;lt;code&amp;gt;driver=rtlsdr&amp;lt;/code&amp;gt;. For other devices tested configurations can be found at [[Software_Defined_Radio]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See [https://github.com/pothosware/SoapyRTLSDR/wiki#modules pothosware/SoapyRTLSDR/wiki#modules] for other SDR modules (linked in the navigation bar at the right side of the page). If multiple devices are attached to your station you should also specify the serial of the desired device here, e.g. &amp;lt;code&amp;gt;driver=uhd,serial=3164495&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_ANTENNA&amp;lt;/code&amp;gt;&lt;br /&gt;
|If you are using an RTL-SDR, this is &amp;lt;code&amp;gt;RX&amp;lt;/code&amp;gt;. For other devices tested configurations can be found at [[Software_Defined_Radio]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If your device is not listed there yet, use &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;SoapySDRUtil --probe 2&amp;gt;&amp;amp;1| grep Antennas&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; to get available antennas.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_RX_SAMP_RATE&amp;lt;/code&amp;gt;&lt;br /&gt;
|Specify the receiver sampling rate. Recommended value for RTL-SDR: &amp;lt;code&amp;gt;2.048e6&amp;lt;/code&amp;gt; (for 2Msps), other devices will need different sample rates described at [[Software_Defined_Radio]] .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The command &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;SoapySDRUtil --probe 2&amp;gt;&amp;amp;1 | grep Sample&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; can be used to find all valid sample rates.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_RF_GAIN&amp;lt;/code&amp;gt;&lt;br /&gt;
|RF Gain value for your SDR hardware.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Run &amp;lt;code&amp;gt;SoapySDRUtil --probe&amp;lt;/code&amp;gt; to see all possible gain values for your hardware.&lt;br /&gt;
Example: For RTL-SDR without pre-amp, 32.8 is a good starting value. Follow [[Omnidirectional Station How To#Setting the gain|Setting the gain]] to find a good gain value.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_STATION_ELEV&amp;lt;/code&amp;gt;&lt;br /&gt;
|The height of your ground station above sea level in metres.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_STATION_ID&amp;lt;/code&amp;gt;&lt;br /&gt;
|The '''numeric ID''' assigned to your station in the SatNOGS Network site when the groundstation was created.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_STATION_LAT&amp;lt;/code&amp;gt;&lt;br /&gt;
|The latitude of your station.  North is positive, south is negative.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_STATION_LON&amp;lt;/code&amp;gt;&lt;br /&gt;
|The longitude of your station.  East is positive, west is negative.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Advanced Setup==&lt;br /&gt;
{{Warning|Changes to the following settings may be required to optimise station performance, or enable support for additional features (e.g. rotator control)}}A more detailed description on setting up a development environment using the SatNOGS reference setup is given in [[SatNOGS_Client_Development]].&lt;br /&gt;
&lt;br /&gt;
NOTE: To get your station online, you need to set SATNOGS_NETWORK_API_URL to https://network.satnogs.org/api/&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Setting&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_PPM_ERROR&amp;lt;/code&amp;gt;&lt;br /&gt;
|The local oscillator frequency deviation in ppm (value will be rounded to integer).&lt;br /&gt;
Available with the following modules:&lt;br /&gt;
&lt;br /&gt;
* SoapyRTLSDR&lt;br /&gt;
* SoapySDRPlay&lt;br /&gt;
&lt;br /&gt;
Not available with the following modules:&lt;br /&gt;
&lt;br /&gt;
* SoapyUHD&lt;br /&gt;
* SoapyPluto&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_RX_BANDWIDTH&amp;lt;/code&amp;gt;&lt;br /&gt;
|Soapy baseband filter bandwidth [https://github.com/pothosware/SoapySDR/blob/a489f3dca9d3ccd9b276b95a608ac3ef0299f635/include/SoapySDR/Device.hpp#L904-L910] of RX Channel 0 in Hz (only available on specific devices). TODO: Testing.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_DEV_ARGS&amp;lt;/code&amp;gt;&lt;br /&gt;
|Soapy device arguments (currently only accepting the &amp;lt;code&amp;gt;serial&amp;lt;/code&amp;gt; key successfully) and stream arguments.&lt;br /&gt;
NOTE: This parameter / its meaning might change in the near future, see issue [https://gitlab.com/librespacefoundation/satnogs/satnogs-client/-/issues/373 satnogs-client#373].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_GAIN_MODE&amp;lt;/code&amp;gt;&lt;br /&gt;
|Choose the gain mode:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;quot;Overall&amp;quot;&amp;lt;/code&amp;gt; (default): Set the gain with the single value from &amp;lt;code&amp;gt;SATNOGS_RF_GAIN&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;quot;Settings Field&amp;quot;&amp;lt;/code&amp;gt;: Ignore &amp;lt;code&amp;gt;SATNOGS_RF_GAIN&amp;lt;/code&amp;gt;, use the settings from &amp;lt;code&amp;gt;SATNOGS_OTHER_SETTINGS&amp;lt;/code&amp;gt; instead&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_STREAM_ARGS&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_TUNE_ARGS&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_OTHER_SETTINGS&amp;lt;/code&amp;gt;&lt;br /&gt;
|Only available if &amp;lt;code&amp;gt;SATNOGS_GAIN_MODE&amp;lt;/code&amp;gt;is&amp;lt;code&amp;gt;&amp;quot;Settings Field&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
Available gain settings can be retrieved using &amp;lt;code&amp;gt;SoapySDRUtil --probe=&amp;quot;driver=xxxx`&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example for Airspy: Use&amp;lt;code&amp;gt;&amp;quot;LNA=12,MIX=8,VGA=11&amp;quot;&amp;lt;/code&amp;gt;See also: [[SDR#Airspy|Airspy support]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_DC_REMOVAL&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_BB_FREQ&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_LO_OFFSET&amp;lt;/code&amp;gt;&lt;br /&gt;
|Don't use this parameter to correct for the local oscillator frequency deviation, use &amp;lt;code&amp;gt;SATNOGS_PPM_ERROR&amp;lt;/code&amp;gt; instead!&lt;br /&gt;
To avoid the SDR carrier at the DC the LO is shifted from the actual frequency a little. Default: &amp;lt;code&amp;gt;100e3&amp;lt;/code&amp;gt; (100 kHz)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_ROT_MODEL&amp;lt;/code&amp;gt;&lt;br /&gt;
|Hamlib rotator model. If you don't have a rotator (like the [[No rotator|No rotator setup]]), leave it empty.&lt;br /&gt;
Use the macro name for your rotator model from this [https://gist.github.com/kerel-fs/2354ff9c082cd3c1594afc38c67bc32a#hamlib-release-33 list of rotator models in Hamlib]. If you are connecting to a separate rotctld instance, use &amp;lt;code&amp;gt;ROT_MODEL_NETROTCTL&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_ROT_BAUD&amp;lt;/code&amp;gt;&lt;br /&gt;
|Baud rate for Hamlib rotator serial port, if using a serial-connected rotator.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_ROT_PORT&amp;lt;/code&amp;gt;&lt;br /&gt;
|Serial port for Hamlib rotator, OR the network address of a rotctld instance (e.g. &amp;lt;code&amp;gt;localhost:4533&amp;lt;/code&amp;gt; )&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_ROT_THRESHOLD&amp;lt;/code&amp;gt;&lt;br /&gt;
|Rotator movement threshold, in degrees. If set, the rotator will only be commanded when the target has moved more than &amp;lt;threshold&amp;gt; degrees away from the current azimuth/elevation position. Default: 4 degrees&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;HAMLIB_UTILS_ROT_ENABLED&amp;lt;/code&amp;gt;&lt;br /&gt;
|Whether or not to enable the Hamlibs rotator daemon.  Rotctld is a software daemon that provides a network server to control a rotator on a serial port.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;HAMLIB_UTILS_ROT_OPTS&amp;lt;/code&amp;gt;&lt;br /&gt;
|Options for rotcld:&lt;br /&gt;
For a yaesu rotator, use &amp;lt;code&amp;gt;-m 601 -r /dev/ttyACM0 -s 9600 -T 0.0.0.0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For a SatNOGS rotator &amp;lt;code&amp;gt;-m 204 -s 19200 -r /dev/ttyACM0 -C timeout=200&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;-m 204 -s 19200 -r /dev/ttyUSB0 -C timeout=200&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_PRE_OBSERVATION_SCRIPT&amp;lt;/code&amp;gt;&amp;lt;code&amp;gt;SATNOGS_POST_OBSERVATION_SCRIPT&amp;lt;/code&amp;gt;&lt;br /&gt;
|Allows execution of a shell script either pre or post-observation. The following can be entered into the script path to enable passing of information to the script:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{FREQ}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; - Observation Centre Frequency&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{TLE}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; - Target object TLE data, as a JSON-formatted object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{TIMESTAMP}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; - Start time of the observation, in the format: %Y-%m-%dT%H-%M-%S%z&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{ID}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; - Observation ID number.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{BAUD}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; - Baud rate of the modulation used, if applicable.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{SCRIPT_NAME}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; - The name of the demodulation flow-graph script in use.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EXPERIMENTAL&amp;lt;/code&amp;gt;&lt;br /&gt;
|Install latest (experimental) versions of all software&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;APT_REPOSITORY&amp;lt;/code&amp;gt;&lt;br /&gt;
|This options allows you to change the SatNOGS packages repository. For example, to install unstable package builds use:&lt;br /&gt;
&amp;lt;code&amp;gt;deb &amp;lt;nowiki&amp;gt;http://download.opensuse.org/repositories/home:/librespace:/satnogs-unstable/Raspbian_10&amp;lt;/nowiki&amp;gt; ./&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;APT_KEY_URL&amp;lt;/code&amp;gt;&lt;br /&gt;
|This options allows you to change the SatNOGS packages repository key URL. For example, to install unstable package builds use:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://download.opensuse.org/repositories/home:/librespace:/satnogs-unstable/Raspbian_10/Release.key&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;APT_KEY_ID&amp;lt;/code&amp;gt;&lt;br /&gt;
|This options allows you to specify an alternative SatNOGS packages repository key ID.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_CLIENT_URL&amp;lt;/code&amp;gt;&lt;br /&gt;
|If you to try a development version of satnogs-client, you can change the URL here.  The URL needs to be in [https://pip.pypa.io/en/stable/reference/pip_install PIP format].  Here are some examples:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;git+&amp;lt;nowiki&amp;gt;https://gitlab.com/librespacefoundation/satnogs/satnogs-client.git@master&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; -- the 'master' branch (the current development version) of satnogs-client&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;git+https://gitlab.com/jdoe/satnogs-client.git@new-feature&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; -- the 'new-feature' branch of jdoe's fork of satnogs-client&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_RADIO_FLOWGRAPHS_VERSION&amp;lt;/code&amp;gt;&lt;br /&gt;
|This options allows you to change the version of satnogs-flowgraphs package to be installed. For example:&lt;br /&gt;
&amp;lt;code&amp;gt;0.1-1&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LOG_LEVEL&amp;lt;/code&amp;gt;&lt;br /&gt;
|Define SatNOGS client log level, available values: &amp;lt;code&amp;gt;ERROR&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;WARNING&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;INFO&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;DEBUG&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_ARTIFACTS_ENABLED&amp;lt;/code&amp;gt;&lt;br /&gt;
|Enable generation and uploading of HDF5 artifacts files to SatNOGS DB. (added in satnogs-client 1.7)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_ARTIFACTS_API_TOKEN&amp;lt;/code&amp;gt;&lt;br /&gt;
|SatNOGS DB API token associated with an account in SatNOGS DB. This token is secret. It is used to upload artifacts to SatNOGS DB. It can be found in SatNOGS DB user page. (added in satnogs-client 1.7)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Obsolete Setup Variables==&lt;br /&gt;
The following options were available in previous versions of the SatNOGS client system and have no effect on the latest stable version.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Setting&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_RX_DEVICE&amp;lt;/code&amp;gt;&lt;br /&gt;
|If you are using an RTL-SDR, this is &amp;lt;code&amp;gt;rtlsdr&amp;lt;/code&amp;gt;.  Other devices supported by gr-satnogs include &amp;lt;code&amp;gt;usrpb200&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;usrp2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;airspy/airspymini&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;lime&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;hackrf&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_PPM_ERROR&amp;lt;/code&amp;gt; (available again)&lt;br /&gt;
|gr-satnogs: The PPM correction [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs/-/blob/v1.5.1/apps/flowgraphs/README.md#execution-arguements-interface]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_DEV_ARGS&amp;lt;/code&amp;gt; (available again)&lt;br /&gt;
|gr-satnogs: SDR device specific arguments [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs/-/blob/v1.5.1/apps/flowgraphs/README.md#execution-arguements-interface]&lt;br /&gt;
Note: This variable was re-purposed to set soapy device and stream arguments, so it's not obsolete anymore.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_IF_GAIN&amp;lt;/code&amp;gt;&lt;br /&gt;
|gr-satnogs: Intermediate frequency gain [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs/-/blob/v1.5.1/apps/flowgraphs/README.md#execution-arguements-interface]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_BB_GAIN&amp;lt;/code&amp;gt;&lt;br /&gt;
|gr-satnogs: Baseband gain [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs/-/blob/v1.5.1/apps/flowgraphs/README.md#execution-arguements-interface]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_RADIO_GR_SATNOGS_VERSION&amp;lt;/code&amp;gt;&lt;br /&gt;
|This options allows you to change the version of gr-satnogs package to be installed. For example: &amp;lt;code&amp;gt;1.5.1-1&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Updating SatNOGS Client Software==&lt;br /&gt;
{{Warning| An update can potentially interrupt a running observation!}}&lt;br /&gt;
To update SatNOGS software, including the configuration tool itself:&lt;br /&gt;
&lt;br /&gt;
#SSH into the system and (re-)run &amp;lt;code&amp;gt;sudo satnogs-setup&amp;lt;/code&amp;gt;; this will bring up the configuration menu&lt;br /&gt;
#Select &amp;lt;code&amp;gt;Update&amp;lt;/code&amp;gt; to update the configuration tool and all distribution packages to the latest&lt;br /&gt;
#If you are prompted for a reboot during the upgrade, once the upgrade is finished, select &amp;lt;code&amp;gt;Reboot&amp;lt;/code&amp;gt;, SSH back into the system and re-run &amp;lt;code&amp;gt;satnogs-setup&amp;lt;/code&amp;gt; to continue to the next step&lt;br /&gt;
#Select &amp;lt;code&amp;gt;Apply&amp;lt;/code&amp;gt; and the Raspberry Pi will update itself; this may take some time&lt;br /&gt;
#Before exit, check at the top that you have the latest satnogs-client and gr-satnogs versions&lt;br /&gt;
#Select &amp;lt;code&amp;gt;Back&amp;lt;/code&amp;gt; to exit&lt;br /&gt;
&lt;br /&gt;
{{Message|You can check your current version of client (and other client software) at the top of window after running &amp;lt;code&amp;gt;sudo satnogs-setup&amp;lt;/code&amp;gt;; alternatively you can generate the support report by going at &amp;lt;code&amp;gt;Advanced -&amp;gt; Support&amp;lt;/code&amp;gt;.}}&lt;br /&gt;
{{Message|Client version on SatNOGS Network is updated after the first observation with the new client.}}&lt;br /&gt;
===Upgrading from Debian 'stretch' to 'buster'===&lt;br /&gt;
Debian &amp;lt;code&amp;gt;stretch&amp;lt;/code&amp;gt; is no longer supported. If you have already installed an older version of Debian or Raspbian SatNOGS image based on &amp;lt;code&amp;gt;stretch&amp;lt;/code&amp;gt; (releases &amp;lt;= [https://gitlab.com/librespacefoundation/satnogs/satnogs-pi-gen/-/tags/2018080300 2018080300]), you must upgrade to &amp;lt;code&amp;gt;buster&amp;lt;/code&amp;gt; otherwise it will be impossible to receive updates or upgrades in the future.&lt;br /&gt;
====Method 1: Reflashing and reinstalling (recommended)====&lt;br /&gt;
The recommended method to upgrade to &amp;lt;code&amp;gt;buster&amp;lt;/code&amp;gt; is reflashing the latest Raspbian SatNOGS image (or reinstalling latest Debian). Follow [[Raspberry Pi|Raspberry Pi]] installation instructions and reinstall from scratch.&lt;br /&gt;
====Method 2: Release upgrade using satnogs-upgrade (advanced)====&lt;br /&gt;
{{Warning|Make sure you have a stable connection to the internet and your SatNOGS client during this process. Release upgrades can consume a lot of time, data and storage.}}To upgrade from stretch to buster using the configuration tool:&lt;br /&gt;
&lt;br /&gt;
#SSH into the system&lt;br /&gt;
#Make sure you have enough free space on your SD card (&amp;gt;2GiB) by running &amp;lt;code&amp;gt;df -h /&amp;lt;/code&amp;gt; on the console&lt;br /&gt;
#Run &amp;lt;code&amp;gt;sudo satnogs-setup&amp;lt;/code&amp;gt; and select &amp;lt;code&amp;gt;Update&amp;lt;/code&amp;gt; to update the tool itself and then select &amp;lt;code&amp;gt;Apply&amp;lt;/code&amp;gt;. This may inform you that the current distribution is not supported and exit. If not, select &amp;lt;code&amp;gt;Exit&amp;lt;/code&amp;gt; to exit the tool.&lt;br /&gt;
#Run &amp;lt;code&amp;gt;sudo satnogs-upgrade&amp;lt;/code&amp;gt; to update all distribution packages to the latest; this will also prompt you for a distribution upgrade, if it detects that one is needed&lt;br /&gt;
#Keep an eye on the upgrade progress; &amp;lt;code&amp;gt;dpkg&amp;lt;/code&amp;gt; may prompt for changes&lt;br /&gt;
#Once the upgrade is completed run &amp;lt;code&amp;gt;sudo sync; sudo reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
#After the reboot, SSH back into the system and make sure you are on the correct release by running &amp;lt;code&amp;gt;lsb_release -a&amp;lt;/code&amp;gt;&lt;br /&gt;
#Run &amp;lt;code&amp;gt;sudo rm -f /root/.satnogs/.bootstrapped; sudo satnogs-setup&amp;lt;/code&amp;gt; and select &amp;lt;code&amp;gt;Update&amp;lt;/code&amp;gt; and then &amp;lt;code&amp;gt;Apply&amp;lt;/code&amp;gt;; this may take some time&lt;br /&gt;
#Before exit, check at the top that you have the latest satnogs-client and gr-satnogs versions&lt;br /&gt;
#Select &amp;lt;code&amp;gt;Back&amp;lt;/code&amp;gt; to exit&lt;br /&gt;
&lt;br /&gt;
==Verification of correct installation==&lt;br /&gt;
To see if satnogs-client has started successfully, check the logs with &amp;lt;code&amp;gt;systemctl&amp;lt;/code&amp;gt;:&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl status satnogs-client&lt;br /&gt;
&amp;lt;/pre&amp;gt;You should see an output that looks like this:&amp;lt;pre&amp;gt;&lt;br /&gt;
● satnogs-client.service - SatNOGS client&lt;br /&gt;
   Loaded: loaded (/etc/systemd/system/satnogs-client.service; enabled; vendor preset: enabled)&lt;br /&gt;
   Active: active (running) since Wed 2020-03-04 19:30:56 GMT; 6min ago&lt;br /&gt;
 Main PID: 6309 (satnogs-client)&lt;br /&gt;
    Tasks: 11 (limit: 2200)&lt;br /&gt;
   Memory: 37.9M&lt;br /&gt;
   CGroup: /system.slice/satnogs-client.service&lt;br /&gt;
           └─6309 /var/lib/satnogs/bin/python3 /var/lib/satnogs/bin/satnogs-client&lt;br /&gt;
&lt;br /&gt;
Mar 04 19:30:56 raspberrypi systemd[1]: Started SatNOGS client.&lt;br /&gt;
&amp;lt;/pre&amp;gt;If you see that, great -- you're ready to [[Operation|schedule your first observation]]! If not, check out the [[Troubleshooting]] page.&lt;br /&gt;
&lt;br /&gt;
==Backup &amp;amp; Restore the configuration==&lt;br /&gt;
The configuration of your SatNOGS station is stored at &amp;lt;code&amp;gt;/etc/ansible/host_vars/localhost&amp;lt;/code&amp;gt;. If your station software is broken (e.g. due to a corrupt SD card) or if you want to downgrade from the experimental software back to the stable releases, you can perform the following steps:&lt;br /&gt;
&lt;br /&gt;
#Backup the configuration file at &amp;lt;code&amp;gt;/etc/ansible/host_vars/localhost&amp;lt;/code&amp;gt;&lt;br /&gt;
#Re-flash the SD card with a fresh image&lt;br /&gt;
#Restore the configuration file&lt;br /&gt;
#Run &amp;lt;code&amp;gt;sudo satnogs-setup&amp;lt;/code&amp;gt; and select &amp;lt;code&amp;gt;Update&amp;lt;/code&amp;gt; to update the tool itself and then select &amp;lt;code&amp;gt;Apply&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*[[SatNOGS Client Ansible]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Build]]&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=SatNOGS_Setup_Legacy&amp;diff=3817</id>
		<title>SatNOGS Setup Legacy</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=SatNOGS_Setup_Legacy&amp;diff=3817"/>
		<updated>2022-04-02T11:50:05Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&amp;lt;code&amp;gt;satnogs-setup&amp;lt;/code&amp;gt; provides a set of scripts for configuring a '''SatNOGS Client''' system. &amp;lt;code&amp;gt;satnogs-setup&amp;lt;/code&amp;gt; main function is to bring up a menu-driven console configuration utility and provision the system using [[SatNOGS Client Ansible|Ansible]].&lt;br /&gt;
&lt;br /&gt;
==Initial Setup==&lt;br /&gt;
Before starting &amp;lt;code&amp;gt;satnogs-setup&amp;lt;/code&amp;gt;, ensure the Raspberry Pi is up to date. This can be done with &amp;lt;code&amp;gt;sudo apt update&amp;lt;/code&amp;gt; and then &amp;lt;code&amp;gt;sudo apt upgrade&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
{{Message| In case of getting a similar error to this:&lt;br /&gt;
&amp;lt;code&amp;gt;W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://download.opensuse.org/repositories/home:/librespace:/satnogs/Raspbian_10 ./ InRelease: The following signatures were invalid: EXPKEYSIG 8BD3901736A40B6C home:librespace OBS Project &amp;lt;home:librespace@build.opensuse.org&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Check at https://wiki.satnogs.org/Troubleshooting#Invalid_Signature_for_download.opensuse.org on how to solve it}}In case of getting a similar error to &amp;quot;Newer kernel available&amp;quot; annoying message after running sudo apt update:&lt;br /&gt;
&lt;br /&gt;
Package configuration  &lt;br /&gt;
&lt;br /&gt;
┌──────────┤ Pending kernel upgrade ├─────────────────────┐&lt;br /&gt;
&lt;br /&gt;
│                                                                                                                              │&lt;br /&gt;
&lt;br /&gt;
│ Newer kernel available                                                                                         │&lt;br /&gt;
&lt;br /&gt;
│                                                                                                                              │&lt;br /&gt;
&lt;br /&gt;
│ The currently running kernel version is 4.19.97-v7l+ which is not the                 │&lt;br /&gt;
&lt;br /&gt;
│ expected kernel version 4.19.93-v8+.                                                                 │&lt;br /&gt;
&lt;br /&gt;
│                                                                                                                             │&lt;br /&gt;
&lt;br /&gt;
│ Restarting the system to load the new kernel will not be handled                      │&lt;br /&gt;
&lt;br /&gt;
│ automatically, so you should consider rebooting.                                               │&lt;br /&gt;
&lt;br /&gt;
│                                                                                                                             │&lt;br /&gt;
&lt;br /&gt;
│                                 &amp;lt;Ok&amp;gt;                                                                                   │&lt;br /&gt;
&lt;br /&gt;
│                                                                                                                             │&lt;br /&gt;
&lt;br /&gt;
└─────────────────────────────────────────────────|&lt;br /&gt;
&lt;br /&gt;
Do a &amp;quot;sudo apt purge need restart&amp;quot; after doing a reboot after doing a &amp;quot;sudo apt update&amp;quot;{{Message| In case of getting a similar error to this:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
E: Repository 'http://archive.raspberrypi.org/debian buster InRelease' changed its 'Suite' value from 'testing' to 'oldstable'&lt;br /&gt;
&lt;br /&gt;
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.&lt;br /&gt;
&lt;br /&gt;
E: Repository 'http://raspbian.raspberrypi.org/raspbian buster InRelease' changed its 'Suite' value from 'stable' to 'oldstable'&lt;br /&gt;
&lt;br /&gt;
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Run &amp;lt;code&amp;gt;sudo apt-get update --allow-releaseinfo-change&amp;lt;/code&amp;gt; instead of just &amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
(See: [[Troubleshooting#apt-get update: connection failed]] ).&lt;br /&gt;
&lt;br /&gt;
After the first boot of the system, packages and the configuration tool itself '''must be updated'''. Follow the [[SatNOGS Client Setup#Updating SatNOGS Client Software|Updating]] instruction found below.&lt;br /&gt;
&lt;br /&gt;
To configure a '''SatNOGS Client''' system:&lt;br /&gt;
&lt;br /&gt;
#SSH into the system and run &amp;lt;code&amp;gt;sudo satnogs-setup&amp;lt;/code&amp;gt;; this will bring up the configuration menu&lt;br /&gt;
#Set '''all''' options in '''Basic Configuration''' (see below)&lt;br /&gt;
#Select &amp;lt;code&amp;gt;Apply&amp;lt;/code&amp;gt; and the Raspberry Pi will configure itself; this may take some time&lt;br /&gt;
#Select &amp;lt;code&amp;gt;Back&amp;lt;/code&amp;gt; to exit&lt;br /&gt;
{{Message|You can always reconfigure the software by running &amp;lt;code&amp;gt;sudo satnogs-setup&amp;lt;/code&amp;gt; again.}}&lt;br /&gt;
===Basic Configuration===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Setting&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_API_TOKEN&amp;lt;/code&amp;gt;&lt;br /&gt;
|The API token assigned to your ground station on the SatNOGS Network website, please don’t share your api key as this can give access to anyone to upload and change things in network related to your station and its observations.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To find your API token, log in to [https://network.satnogs.org network.satnogs.org], click on the user icon at the top right corner and then click on the &amp;quot;Dashboard&amp;quot; option. On the top of the dashboard page right under the user icon click the button &amp;quot;API key&amp;quot; to show your API token.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_SOAPY_RX_DEVICE&amp;lt;/code&amp;gt;&lt;br /&gt;
|If you are using an RTL-SDR, this is &amp;lt;code&amp;gt;driver=rtlsdr&amp;lt;/code&amp;gt;. For other devices tested configurations can be found at [[Software_Defined_Radio]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See [https://github.com/pothosware/SoapyRTLSDR/wiki#modules pothosware/SoapyRTLSDR/wiki#modules] for other SDR modules (linked in the navigation bar at the right side of the page). If multiple devices are attached to your station you should also specify the serial of the desired device here, e.g. &amp;lt;code&amp;gt;driver=uhd,serial=3164495&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_ANTENNA&amp;lt;/code&amp;gt;&lt;br /&gt;
|If you are using an RTL-SDR, this is &amp;lt;code&amp;gt;RX&amp;lt;/code&amp;gt;. For other devices tested configurations can be found at [[Software_Defined_Radio]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If your device is not listed there yet, use &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;SoapySDRUtil --probe 2&amp;gt;&amp;amp;1| grep Antennas&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; to get available antennas.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_RX_SAMP_RATE&amp;lt;/code&amp;gt;&lt;br /&gt;
|Specify the receiver sampling rate. Recommended value for RTL-SDR: &amp;lt;code&amp;gt;2.048e6&amp;lt;/code&amp;gt; (for 2Msps), other devices will need different sample rates described at [[Software_Defined_Radio]] .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The command &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;SoapySDRUtil --probe 2&amp;gt;&amp;amp;1 | grep Sample&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; can be used to find all valid sample rates.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_RF_GAIN&amp;lt;/code&amp;gt;&lt;br /&gt;
|RF Gain value for your SDR hardware.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Run &amp;lt;code&amp;gt;SoapySDRUtil --probe&amp;lt;/code&amp;gt; to see all possible gain values for your hardware.&lt;br /&gt;
Example: For RTL-SDR without pre-amp, 32.8 is a good starting value. Follow [[Omnidirectional Station How To#Setting the gain|Setting the gain]] to find a good gain value.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_STATION_ELEV&amp;lt;/code&amp;gt;&lt;br /&gt;
|The height of your ground station above sea level in metres.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_STATION_ID&amp;lt;/code&amp;gt;&lt;br /&gt;
|The '''numeric ID''' assigned to your station in the SatNOGS Network site when the groundstation was created.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_STATION_LAT&amp;lt;/code&amp;gt;&lt;br /&gt;
|The latitude of your station.  North is positive, south is negative.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_STATION_LON&amp;lt;/code&amp;gt;&lt;br /&gt;
|The longitude of your station.  East is positive, west is negative.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Advanced Setup==&lt;br /&gt;
{{Warning|Changes to the following settings may be required to optimise station performance, or enable support for additional features (e.g. rotator control)}}A more detailed description on setting up a development environment using the SatNOGS reference setup is given in [[SatNOGS_Client_Development]].&lt;br /&gt;
&lt;br /&gt;
NOTE: To get your station online, you need to set SATNOGS_NETWORK_API_URL to https://network.satnogs.org/api/&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Setting&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_PPM_ERROR&amp;lt;/code&amp;gt;&lt;br /&gt;
|The local oscillator frequency deviation in ppm (value will be rounded to integer).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_RX_BANDWIDTH&amp;lt;/code&amp;gt;&lt;br /&gt;
|Soapy baseband filter bandwidth [https://github.com/pothosware/SoapySDR/blob/a489f3dca9d3ccd9b276b95a608ac3ef0299f635/include/SoapySDR/Device.hpp#L904-L910] of RX Channel 0 in Hz (only available on specific devices). TODO: Testing.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_DEV_ARGS&amp;lt;/code&amp;gt;&lt;br /&gt;
|Soapy device arguments (currently only accepting the &amp;lt;code&amp;gt;serial&amp;lt;/code&amp;gt; key successfully) and stream arguments.&lt;br /&gt;
NOTE: This parameter / its meaning might change in the near future, see issue [https://gitlab.com/librespacefoundation/satnogs/satnogs-client/-/issues/373 satnogs-client#373].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_GAIN_MODE&amp;lt;/code&amp;gt;&lt;br /&gt;
|Choose the gain mode:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;quot;Overall&amp;quot;&amp;lt;/code&amp;gt; (default): Set the gain with the single value from &amp;lt;code&amp;gt;SATNOGS_RF_GAIN&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;quot;Settings Field&amp;quot;&amp;lt;/code&amp;gt;: Ignore &amp;lt;code&amp;gt;SATNOGS_RF_GAIN&amp;lt;/code&amp;gt;, use the settings from &amp;lt;code&amp;gt;SATNOGS_OTHER_SETTINGS&amp;lt;/code&amp;gt; instead&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_STREAM_ARGS&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_TUNE_ARGS&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_OTHER_SETTINGS&amp;lt;/code&amp;gt;&lt;br /&gt;
|Only available if &amp;lt;code&amp;gt;SATNOGS_GAIN_MODE&amp;lt;/code&amp;gt;is&amp;lt;code&amp;gt;&amp;quot;Settings Field&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
Available gain settings can be retrieved using &amp;lt;code&amp;gt;SoapySDRUtil --probe=&amp;quot;driver=xxxx`&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example for Airspy: Use&amp;lt;code&amp;gt;&amp;quot;LNA=12,MIX=8,VGA=11&amp;quot;&amp;lt;/code&amp;gt;See also: [[SDR#Airspy|Airspy support]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_DC_REMOVAL&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_BB_FREQ&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_LO_OFFSET&amp;lt;/code&amp;gt;&lt;br /&gt;
|Don't use this parameter to correct for the local oscillator frequency deviation, use &amp;lt;code&amp;gt;SATNOGS_PPM_ERROR&amp;lt;/code&amp;gt; instead!&lt;br /&gt;
To avoid the SDR carrier at the DC the LO is shifted from the actual frequency a little. Default: &amp;lt;code&amp;gt;100e3&amp;lt;/code&amp;gt; (100 kHz)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_ROT_MODEL&amp;lt;/code&amp;gt;&lt;br /&gt;
|Hamlib rotator model. If you don't have a rotator (like the [[No rotator|No rotator setup]]), leave it empty.&lt;br /&gt;
Use the macro name for your rotator model from this [https://gist.github.com/kerel-fs/2354ff9c082cd3c1594afc38c67bc32a#hamlib-release-33 list of rotator models in Hamlib]. If you are connecting to a separate rotctld instance, use &amp;lt;code&amp;gt;ROT_MODEL_NETROTCTL&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_ROT_BAUD&amp;lt;/code&amp;gt;&lt;br /&gt;
|Baud rate for Hamlib rotator serial port, if using a serial-connected rotator.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_ROT_PORT&amp;lt;/code&amp;gt;&lt;br /&gt;
|Serial port for Hamlib rotator, OR the network address of a rotctld instance (e.g. &amp;lt;code&amp;gt;localhost:4533&amp;lt;/code&amp;gt; )&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_ROT_THRESHOLD&amp;lt;/code&amp;gt;&lt;br /&gt;
|Rotator movement threshold, in degrees. If set, the rotator will only be commanded when the target has moved more than &amp;lt;threshold&amp;gt; degrees away from the current azimuth/elevation position. Default: 4 degrees&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;HAMLIB_UTILS_ROT_ENABLED&amp;lt;/code&amp;gt;&lt;br /&gt;
|Whether or not to enable the Hamlibs rotator daemon.  Rotctld is a software daemon that provides a network server to control a rotator on a serial port.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;HAMLIB_UTILS_ROT_OPTS&amp;lt;/code&amp;gt;&lt;br /&gt;
|Options for rotcld:&lt;br /&gt;
For a yaesu rotator, use &amp;lt;code&amp;gt;-m 601 -r /dev/ttyACM0 -s 9600 -T 0.0.0.0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For a SatNOGS rotator &amp;lt;code&amp;gt;-m 204 -s 19200 -r /dev/ttyACM0 -C timeout=200&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;-m 204 -s 19200 -r /dev/ttyUSB0 -C timeout=200&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_PRE_OBSERVATION_SCRIPT&amp;lt;/code&amp;gt;&amp;lt;code&amp;gt;SATNOGS_POST_OBSERVATION_SCRIPT&amp;lt;/code&amp;gt;&lt;br /&gt;
|Allows execution of a shell script either pre or post-observation. The following can be entered into the script path to enable passing of information to the script:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{FREQ}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; - Observation Centre Frequency&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{TLE}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; - Target object TLE data, as a JSON-formatted object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{TIMESTAMP}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; - Start time of the observation, in the format: %Y-%m-%dT%H-%M-%S%z&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{ID}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; - Observation ID number.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{BAUD}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; - Baud rate of the modulation used, if applicable.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{SCRIPT_NAME}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; - The name of the demodulation flow-graph script in use.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EXPERIMENTAL&amp;lt;/code&amp;gt;&lt;br /&gt;
|Install latest (experimental) versions of all software&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;APT_REPOSITORY&amp;lt;/code&amp;gt;&lt;br /&gt;
|This options allows you to change the SatNOGS packages repository. For example, to install unstable package builds use:&lt;br /&gt;
&amp;lt;code&amp;gt;deb &amp;lt;nowiki&amp;gt;http://download.opensuse.org/repositories/home:/librespace:/satnogs-unstable/Raspbian_10&amp;lt;/nowiki&amp;gt; ./&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;APT_KEY_URL&amp;lt;/code&amp;gt;&lt;br /&gt;
|This options allows you to change the SatNOGS packages repository key URL. For example, to install unstable package builds use:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://download.opensuse.org/repositories/home:/librespace:/satnogs-unstable/Raspbian_10/Release.key&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;APT_KEY_ID&amp;lt;/code&amp;gt;&lt;br /&gt;
|This options allows you to specify an alternative SatNOGS packages repository key ID.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_CLIENT_URL&amp;lt;/code&amp;gt;&lt;br /&gt;
|If you to try a development version of satnogs-client, you can change the URL here.  The URL needs to be in [https://pip.pypa.io/en/stable/reference/pip_install PIP format].  Here are some examples:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;git+&amp;lt;nowiki&amp;gt;https://gitlab.com/librespacefoundation/satnogs/satnogs-client.git@master&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; -- the 'master' branch (the current development version) of satnogs-client&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;git+https://gitlab.com/jdoe/satnogs-client.git@new-feature&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; -- the 'new-feature' branch of jdoe's fork of satnogs-client&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_RADIO_FLOWGRAPHS_VERSION&amp;lt;/code&amp;gt;&lt;br /&gt;
|This options allows you to change the version of satnogs-flowgraphs package to be installed. For example:&lt;br /&gt;
&amp;lt;code&amp;gt;0.1-1&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LOG_LEVEL&amp;lt;/code&amp;gt;&lt;br /&gt;
|Define SatNOGS client log level, available values: &amp;lt;code&amp;gt;ERROR&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;WARNING&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;INFO&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;DEBUG&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_ARTIFACTS_ENABLED&amp;lt;/code&amp;gt;&lt;br /&gt;
|Enable generation and uploading of HDF5 artifacts files to SatNOGS DB. (added in satnogs-client 1.7)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_ARTIFACTS_API_TOKEN&amp;lt;/code&amp;gt;&lt;br /&gt;
|SatNOGS DB API token associated with an account in SatNOGS DB. This token is secret. It is used to upload artifacts to SatNOGS DB. It can be found in SatNOGS DB user page. (added in satnogs-client 1.7)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Obsolete Setup Variables==&lt;br /&gt;
The following options were available in previous versions of the SatNOGS client system and have no effect on the latest stable version.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Setting&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_RX_DEVICE&amp;lt;/code&amp;gt;&lt;br /&gt;
|If you are using an RTL-SDR, this is &amp;lt;code&amp;gt;rtlsdr&amp;lt;/code&amp;gt;.  Other devices supported by gr-satnogs include &amp;lt;code&amp;gt;usrpb200&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;usrp2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;airspy/airspymini&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;lime&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;hackrf&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_PPM_ERROR&amp;lt;/code&amp;gt; (available again)&lt;br /&gt;
|gr-satnogs: The PPM correction [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs/-/blob/v1.5.1/apps/flowgraphs/README.md#execution-arguements-interface]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_DEV_ARGS&amp;lt;/code&amp;gt; (available again)&lt;br /&gt;
|gr-satnogs: SDR device specific arguments [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs/-/blob/v1.5.1/apps/flowgraphs/README.md#execution-arguements-interface]&lt;br /&gt;
Note: This variable was re-purposed to set soapy device and stream arguments, so it's not obsolete anymore.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_IF_GAIN&amp;lt;/code&amp;gt;&lt;br /&gt;
|gr-satnogs: Intermediate frequency gain [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs/-/blob/v1.5.1/apps/flowgraphs/README.md#execution-arguements-interface]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_BB_GAIN&amp;lt;/code&amp;gt;&lt;br /&gt;
|gr-satnogs: Baseband gain [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs/-/blob/v1.5.1/apps/flowgraphs/README.md#execution-arguements-interface]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_RADIO_GR_SATNOGS_VERSION&amp;lt;/code&amp;gt;&lt;br /&gt;
|This options allows you to change the version of gr-satnogs package to be installed. For example: &amp;lt;code&amp;gt;1.5.1-1&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Updating SatNOGS Client Software==&lt;br /&gt;
{{Warning| An update can potentially interrupt a running observation!}}&lt;br /&gt;
To update SatNOGS software, including the configuration tool itself:&lt;br /&gt;
&lt;br /&gt;
#SSH into the system and (re-)run &amp;lt;code&amp;gt;sudo satnogs-setup&amp;lt;/code&amp;gt;; this will bring up the configuration menu&lt;br /&gt;
#Select &amp;lt;code&amp;gt;Update&amp;lt;/code&amp;gt; to update the configuration tool and all distribution packages to the latest&lt;br /&gt;
#If you are prompted for a reboot during the upgrade, once the upgrade is finished, select &amp;lt;code&amp;gt;Reboot&amp;lt;/code&amp;gt;, SSH back into the system and re-run &amp;lt;code&amp;gt;satnogs-setup&amp;lt;/code&amp;gt; to continue to the next step&lt;br /&gt;
#Select &amp;lt;code&amp;gt;Apply&amp;lt;/code&amp;gt; and the Raspberry Pi will update itself; this may take some time&lt;br /&gt;
#Before exit, check at the top that you have the latest satnogs-client and gr-satnogs versions&lt;br /&gt;
#Select &amp;lt;code&amp;gt;Back&amp;lt;/code&amp;gt; to exit&lt;br /&gt;
&lt;br /&gt;
{{Message|You can check your current version of client (and other client software) at the top of window after running &amp;lt;code&amp;gt;sudo satnogs-setup&amp;lt;/code&amp;gt;; alternatively you can generate the support report by going at &amp;lt;code&amp;gt;Advanced -&amp;gt; Support&amp;lt;/code&amp;gt;.}}&lt;br /&gt;
{{Message|Client version on SatNOGS Network is updated after the first observation with the new client.}}&lt;br /&gt;
===Upgrading from Debian 'stretch' to 'buster'===&lt;br /&gt;
Debian &amp;lt;code&amp;gt;stretch&amp;lt;/code&amp;gt; is no longer supported. If you have already installed an older version of Debian or Raspbian SatNOGS image based on &amp;lt;code&amp;gt;stretch&amp;lt;/code&amp;gt; (releases &amp;lt;= [https://gitlab.com/librespacefoundation/satnogs/satnogs-pi-gen/-/tags/2018080300 2018080300]), you must upgrade to &amp;lt;code&amp;gt;buster&amp;lt;/code&amp;gt; otherwise it will be impossible to receive updates or upgrades in the future.&lt;br /&gt;
====Method 1: Reflashing and reinstalling (recommended)====&lt;br /&gt;
The recommended method to upgrade to &amp;lt;code&amp;gt;buster&amp;lt;/code&amp;gt; is reflashing the latest Raspbian SatNOGS image (or reinstalling latest Debian). Follow [[Raspberry Pi|Raspberry Pi]] installation instructions and reinstall from scratch.&lt;br /&gt;
====Method 2: Release upgrade using satnogs-upgrade (advanced)====&lt;br /&gt;
{{Warning|Make sure you have a stable connection to the internet and your SatNOGS client during this process. Release upgrades can consume a lot of time, data and storage.}}To upgrade from stretch to buster using the configuration tool:&lt;br /&gt;
&lt;br /&gt;
#SSH into the system&lt;br /&gt;
#Make sure you have enough free space on your SD card (&amp;gt;2GiB) by running &amp;lt;code&amp;gt;df -h /&amp;lt;/code&amp;gt; on the console&lt;br /&gt;
#Run &amp;lt;code&amp;gt;sudo satnogs-setup&amp;lt;/code&amp;gt; and select &amp;lt;code&amp;gt;Update&amp;lt;/code&amp;gt; to update the tool itself and then select &amp;lt;code&amp;gt;Apply&amp;lt;/code&amp;gt;. This may inform you that the current distribution is not supported and exit. If not, select &amp;lt;code&amp;gt;Exit&amp;lt;/code&amp;gt; to exit the tool.&lt;br /&gt;
#Run &amp;lt;code&amp;gt;sudo satnogs-upgrade&amp;lt;/code&amp;gt; to update all distribution packages to the latest; this will also prompt you for a distribution upgrade, if it detects that one is needed&lt;br /&gt;
#Keep an eye on the upgrade progress; &amp;lt;code&amp;gt;dpkg&amp;lt;/code&amp;gt; may prompt for changes&lt;br /&gt;
#Once the upgrade is completed run &amp;lt;code&amp;gt;sudo sync; sudo reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
#After the reboot, SSH back into the system and make sure you are on the correct release by running &amp;lt;code&amp;gt;lsb_release -a&amp;lt;/code&amp;gt;&lt;br /&gt;
#Run &amp;lt;code&amp;gt;sudo rm -f /root/.satnogs/.bootstrapped; sudo satnogs-setup&amp;lt;/code&amp;gt; and select &amp;lt;code&amp;gt;Update&amp;lt;/code&amp;gt; and then &amp;lt;code&amp;gt;Apply&amp;lt;/code&amp;gt;; this may take some time&lt;br /&gt;
#Before exit, check at the top that you have the latest satnogs-client and gr-satnogs versions&lt;br /&gt;
#Select &amp;lt;code&amp;gt;Back&amp;lt;/code&amp;gt; to exit&lt;br /&gt;
&lt;br /&gt;
==Verification of correct installation==&lt;br /&gt;
To see if satnogs-client has started successfully, check the logs with &amp;lt;code&amp;gt;systemctl&amp;lt;/code&amp;gt;:&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl status satnogs-client&lt;br /&gt;
&amp;lt;/pre&amp;gt;You should see an output that looks like this:&amp;lt;pre&amp;gt;&lt;br /&gt;
● satnogs-client.service - SatNOGS client&lt;br /&gt;
   Loaded: loaded (/etc/systemd/system/satnogs-client.service; enabled; vendor preset: enabled)&lt;br /&gt;
   Active: active (running) since Wed 2020-03-04 19:30:56 GMT; 6min ago&lt;br /&gt;
 Main PID: 6309 (satnogs-client)&lt;br /&gt;
    Tasks: 11 (limit: 2200)&lt;br /&gt;
   Memory: 37.9M&lt;br /&gt;
   CGroup: /system.slice/satnogs-client.service&lt;br /&gt;
           └─6309 /var/lib/satnogs/bin/python3 /var/lib/satnogs/bin/satnogs-client&lt;br /&gt;
&lt;br /&gt;
Mar 04 19:30:56 raspberrypi systemd[1]: Started SatNOGS client.&lt;br /&gt;
&amp;lt;/pre&amp;gt;If you see that, great -- you're ready to [[Operation|schedule your first observation]]! If not, check out the [[Troubleshooting]] page.&lt;br /&gt;
&lt;br /&gt;
==Backup &amp;amp; Restore the configuration==&lt;br /&gt;
The configuration of your SatNOGS station is stored at &amp;lt;code&amp;gt;/etc/ansible/host_vars/localhost&amp;lt;/code&amp;gt;. If your station software is broken (e.g. due to a corrupt SD card) or if you want to downgrade from the experimental software back to the stable releases, you can perform the following steps:&lt;br /&gt;
&lt;br /&gt;
#Backup the configuration file at &amp;lt;code&amp;gt;/etc/ansible/host_vars/localhost&amp;lt;/code&amp;gt;&lt;br /&gt;
#Re-flash the SD card with a fresh image&lt;br /&gt;
#Restore the configuration file&lt;br /&gt;
#Run &amp;lt;code&amp;gt;sudo satnogs-setup&amp;lt;/code&amp;gt; and select &amp;lt;code&amp;gt;Update&amp;lt;/code&amp;gt; to update the tool itself and then select &amp;lt;code&amp;gt;Apply&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*[[SatNOGS Client Ansible]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Build]]&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Software_Defined_Radio&amp;diff=3813</id>
		<title>Software Defined Radio</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Software_Defined_Radio&amp;diff=3813"/>
		<updated>2022-02-06T17:55:22Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: airspy: Add comment on linearity and sensitivity&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
Built upon [https://gnuradio.org/ GNU Radio] and [https://github.com/pothosware/SoapySDR/wiki SoapySDR] by using the [https://gitlab.com/librespacefoundation/gr-soapy gr-soapy] module SatNOGS supports a large variety of Software-Defined Radios (SDRs). The gr-soapy module was developed in the [https://sdrmaker.space/ SDR Makerspace] and is maintained by Libre Space Foundation to bring the vendor-neutral SDR support by SoapySDR to the flexible gnuradio ecosystem.&lt;br /&gt;
&lt;br /&gt;
The most cost-effective solution is to use an RTL-SDR with a Raspberry Pi.  More advanced SDRs are also used, but they require more processing power and thus might require a more powerful computing platform than the Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
==Supported Devices==&lt;br /&gt;
&lt;br /&gt;
SoapySDR supports SDR devices through runtime-loadable modules [https://github.com/pothosware/SoapySDR/wiki#plugin-architecture]. You can find all available modules in the [https://github.com/pothosware/SoapySDR/wiki#modules SoapySDR wiki] (see right column). Most SDR modules are installed by default when setting up a SatNOGS station.&lt;br /&gt;
&lt;br /&gt;
The following SDRs are supported by SatNOGS. SatNOGS uses the RTL-SDR as the recommended beginner signal receiver and tuner.  &lt;br /&gt;
The more advanced SDRs may require more processing power than a Raspberry Pi 3b or 4 can offer. &lt;br /&gt;
&lt;br /&gt;
*[[Software Defined Radio#RTL-SDR Support|RTL-SDR]]&lt;br /&gt;
**[https://www.nooelec.com/store/sdr/sdr-receivers.html NooElec NESDR SMArt]&lt;br /&gt;
**[https://www.rtl-sdr.com/buy-rtl-sdr-dvb-t-dongles/ RTL-SDR Blog R820T2 RTL2832U]&lt;br /&gt;
**Full band UV HF RTL-SDR USB Tuner Receiver&lt;br /&gt;
&lt;br /&gt;
*[[Software Defined Radio#USRP support|USRP devices]]&lt;br /&gt;
**[https://www.ettus.com/product/category/USRP-Bus-Series USRP B200]&lt;br /&gt;
&lt;br /&gt;
*[[Software Defined Radio#Airspy support|Airspy]]&lt;br /&gt;
*[[Software Defined Radio#LimeSDR support|LimeSuite devices]]&lt;br /&gt;
**[https://limemicro.com/products/boards/limesdr-mini/ LimeSDR mini]&lt;br /&gt;
*[[Software Defined Radio#PlutoSDR support|PlutoSDR]]&lt;br /&gt;
**[https://www.analog.com/en/design-center/evaluation-hardware-and-software/evaluation-boards-kits/adalm-pluto.html#eb-overview ADALM-PLUTO] (untested)&lt;br /&gt;
&lt;br /&gt;
{{Message|There are probably a lot more devices supported since the transition from gr-osmosdr to gr-soapy. Please update this list when you were able to successfully run a SatNOGS station with a new radio family or model. You can also link your station as an example to give others the ability to compare performance.}}&lt;br /&gt;
&lt;br /&gt;
==Supported Devices with closed-source drivers==&lt;br /&gt;
Unfortunately some vendors require closed-source drivers in their SoapySDR modules and thus those modules or dependencies can't be redistributed by others. Thus they must be manually installed by the user. The following devices require closed-source drivers:&lt;br /&gt;
&lt;br /&gt;
*[[Software Defined Radio#SDRPlay support|SDRPlay]]&lt;br /&gt;
&lt;br /&gt;
==Unsupported Devices==&lt;br /&gt;
{{Warning|This section might be outdated due to the transition to gr-soapy. Please update when possible.}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*[https://greatscottgadgets.com/hackrf/ HackRF One] (not compatible with the SatNOGS client on Raspberry Pi, ''Update: works fine now on a Pi4, only tested with the 8GB version of the Pi4. Will probably work with a 2/4GB version too. Not tested on a Pi3, might not be powerful enough to handle 8MS/s'')&lt;br /&gt;
&lt;br /&gt;
==RTL-SDR Support==&lt;br /&gt;
The RTL-SDR is based on two chips -- the versatile [http://www.realtek.com.tw/products/productsView.aspx?Langid=1&amp;amp;PFid=35&amp;amp;Level=4&amp;amp;Conn=3&amp;amp;ProdID=257 RTL2832U chip] and the [https://rtl-sdr.com/wp-content/uploads/2013/04/R820T_datasheet-Non_R-20111130_unlocked.pdf R820T tuner]. The RTL-SDR is currently the cheapest, most common, and most performing solution available in terms of general sensitivity having a frequency range of 24 – 1766 MHz.  A metal enclosure with SMA connector is preferred, along with a stable TCXO (low ppm).  HF coverage is optional.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Using RTL-SDR.com V3 Dongle's Bias-T Power Supply===&lt;br /&gt;
The RTL-SDR.com V3 dongle has a built in software activated Bias-T voltage supply intended to be used for applications such as powering inline LNAs (Low Noise Amplifiers).   There are several ways to turn on the voltage, but through initial testing (as of this writing, 17 Aug 2019) it seems that the following procedure works best.&lt;br /&gt;
&lt;br /&gt;
The below relates to Raspberry Pi installs only.   No testing has been performed on other systems as of yet.&lt;br /&gt;
&lt;br /&gt;
{{Warning|Turning on the Bias-T with no LNA installed and a &amp;quot;shorted&amp;quot; style antenna (such as loops, egg-beaters, etc.) can damage the RTL-SDR.com V3 dongle.   Never activate the bias-t with no LNA installed between the antenna and the SDR dongle.}}&lt;br /&gt;
&lt;br /&gt;
'''Requirements:'''&lt;br /&gt;
&lt;br /&gt;
#Raspberry Pi running Raspbian Buster or newer (latest release of SatNogs image, [https://gitlab.com/librespacefoundation/satnogs/satnogs-pi-gen/-/tags 2019091100], is demonstrated to work)&lt;br /&gt;
#[https://www.rtl-sdr.com/buy-rtl-sdr-dvb-t-dongles/ RTL-SDR.com V3 SDR dongle]&lt;br /&gt;
#[https://www.rtl-sdr.com/rtl-sdr-blog-v-3-dongles-user-guide/ RTL-SDR.com Bias-T Software Switch] for linux systems&lt;br /&gt;
#LNA capable of being powered via feedline coax (note that some LNAs need modifications to be powered by the coax, and some cannot be powered by the coax at all.  Check the specifications for your LNA prior to attempting to turn on the Bias-T power supply)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Instructions for installing RTL-SDR.com Bias-T Software Switch====&lt;br /&gt;
&lt;br /&gt;
#Log into your SatNogs station either directly or via SSH&lt;br /&gt;
#If your station does not have cmake installed (SatNogs Image 2019091100 does not), install cmake with &amp;lt;code&amp;gt;sudo apt install cmake&amp;lt;/code&amp;gt;&lt;br /&gt;
#Clone the source for the Bias-T software switch with &amp;lt;code&amp;gt;git clone &amp;lt;nowiki&amp;gt;https://github.com/rtlsdrblog/rtl_biast&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
#&amp;lt;code&amp;gt;cd rtl_biast&amp;lt;/code&amp;gt;&lt;br /&gt;
#&amp;lt;code&amp;gt;mkdir build&amp;lt;/code&amp;gt;&lt;br /&gt;
#&amp;lt;code&amp;gt;cd build&amp;lt;/code&amp;gt;&lt;br /&gt;
#&amp;lt;code&amp;gt;cmake ..&amp;lt;/code&amp;gt;  (if you get a &amp;lt;code&amp;gt;LibUSB 1.0 required to compile rtl-sdr&amp;lt;/code&amp;gt; error here, then do &amp;lt;code&amp;gt;sudo apt install libusb-1.0-0-dev&amp;lt;/code&amp;gt; prior to attempting &amp;lt;code&amp;gt;cmake ..&amp;lt;/code&amp;gt; again)&lt;br /&gt;
#&amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The software switch should now be installed in the &amp;quot;src&amp;quot; directory.    If you &amp;lt;code&amp;gt;cd src&amp;lt;/code&amp;gt;, you can turn on the bias-t with the command &amp;lt;code&amp;gt;./rtl_biast -b 1&amp;lt;/code&amp;gt; and turn it off with &amp;lt;code&amp;gt;./rtl_biast -b 0&amp;lt;/code&amp;gt;.   Note that the developers of this switch have warned against attempting to &amp;lt;code&amp;gt;sudo make install&amp;lt;/code&amp;gt; so that this command can be executed from ouside the src directory.   Testing has shown this warning to be accurate, so don't plan on running these commands from anywhere but the src directory, or else be sure to use the full path.&lt;br /&gt;
&lt;br /&gt;
Switching the Bias-T on should yield between 4.5V and 5.0V across the center conductor and shield of the coax.   The voltage should rise almost instantly.   When switched off, the voltage seems to decrease gradually, over 5 to 10 seconds.&lt;br /&gt;
&lt;br /&gt;
====Instructions to activate the bias-t for SatNogs Observations automatically:====&lt;br /&gt;
&lt;br /&gt;
#Log into your SatNogs station either directly or via SSH&lt;br /&gt;
#&amp;lt;code&amp;gt;sudo satnogs-setup&amp;lt;/code&amp;gt;&lt;br /&gt;
#select &amp;lt;code&amp;gt;Advanced&amp;lt;/code&amp;gt;&lt;br /&gt;
#for &amp;lt;code&amp;gt;Radio&amp;lt;/code&amp;gt; -&amp;gt;&amp;lt;code&amp;gt;SATNOGS_RF_GAIN&amp;lt;/code&amp;gt;, enter a low gain value supported by your RTL-SDR.com V3 dongle (entering &amp;lt;code&amp;gt;rtl_test&amp;lt;/code&amp;gt; at the command line prior to starting &amp;lt;code&amp;gt;satnogs-setup&amp;lt;/code&amp;gt; will give you all allowable values of RF gain) and select &amp;lt;code&amp;gt;Ok&amp;lt;/code&amp;gt;&lt;br /&gt;
#for &amp;lt;code&amp;gt;Scripts&amp;lt;/code&amp;gt; -&amp;gt;&amp;lt;code&amp;gt;SATNOGS_PRE_OBSERVATION_SCRIPT,&amp;lt;/code&amp;gt; enter &amp;lt;code&amp;gt;/home/pi/rtl_biast/build/src/rtl_biast -b 1&amp;lt;/code&amp;gt; and select &amp;lt;code&amp;gt;Ok&amp;lt;/code&amp;gt;&lt;br /&gt;
#for &amp;lt;code&amp;gt;Scripts&amp;lt;/code&amp;gt; -&amp;gt;&amp;lt;code&amp;gt;SATNOGS_POST_OBSERVATION_SCRIPT,&amp;lt;/code&amp;gt; enter &amp;lt;code&amp;gt;/home/pi/rtl_biast/build/src/rtl_biast -b 0&amp;lt;/code&amp;gt; and select &amp;lt;code&amp;gt;Ok&amp;lt;/code&amp;gt;&lt;br /&gt;
#Select &amp;lt;code&amp;gt;Back&amp;lt;/code&amp;gt;&lt;br /&gt;
#Select &amp;lt;code&amp;gt;Apply&amp;lt;/code&amp;gt; (allow system to update and hit enter when prompted)&lt;br /&gt;
#Select &amp;lt;code&amp;gt;Back&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your station is now set up to turn the Bias-T on for each scheduled observation (using the &amp;lt;code&amp;gt;SATNOGS_PRE_OBSERVATION_SCRIPT&amp;lt;/code&amp;gt; string) and then turn it off at the conclusion of each observation (using the &amp;lt;code&amp;gt;SATNOGS_POST_OBSERVATION_SCRIPT&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
You should now schedule several observations to fine tune the &amp;lt;code&amp;gt;SATNOGS_RF_GAIN&amp;lt;/code&amp;gt; value to get the best S/N performance for your station.   Some have reported needing zero RF gain, others have reported low RF gain required (between 5 and 10 db), and others have said they see little benefit even with very high gain. Each station will be different.&lt;br /&gt;
&lt;br /&gt;
====E4000 Tuner Gain Settings====&lt;br /&gt;
The RTLSDR Driver exposes six (!) IF gain settings (IF1 through IF6) for the E4000 tuner, along with a TUNER gain setting, which is actually a combined LNA and Mixer gain control. Details on the gain stages are available in page 28 of the E4000 data-sheet here: https://www.nooelec.com/files/e4000datasheet.pdf&lt;br /&gt;
&lt;br /&gt;
When you follow the '[[Omnidirectional Station How To#Setting the gain|Setting the Gain]]' guide, all gain sliders (IF1 through IF6, and TUNER) should be presented in SoapySDR, allowing the user to adjust them to optimise for best performance. Once the correct values have been determined, you will need to define these specifically in satnogs-setup as follows:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_GAIN_MODE&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;Settings Field&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_OTHER_SETTINGS&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;IF1=6,IF2=3,IF2=2,IF3=0,IF4=0,IF5=2,IF6=3,TUNER=30&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Replacing the values in the line above with the ones you determined)&lt;br /&gt;
&lt;br /&gt;
====R820T Gain Settings====&lt;br /&gt;
Unfortunately librtlsdr only exposes a single gain control for the R820T/T2 tuners, even though multiple gain adjustments are available. Use the standard SATNOGS_RF_GAIN option, with a gain between 0 and 42 (dB), as optimised for your station via the '[[Omnidirectional Station How To#Setting the gain|Setting the Gain]]' guide.&lt;br /&gt;
&lt;br /&gt;
==Airspy support==&lt;br /&gt;
Vendor: [https://airspy.com/ Airspy]&lt;br /&gt;
&lt;br /&gt;
required SoapySDR module: [https://github.com/pothosware/SoapyAirspy/wiki SoapyAirspy]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note than none of the settings below should be entered with the &amp;quot;  &amp;quot; around the value. This is only for better readability in the Wiki !''' &lt;br /&gt;
&lt;br /&gt;
===Gain settings===&lt;br /&gt;
There are two possible gain modes:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_GAIN_MODE&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;Overall&amp;quot;&amp;lt;/code&amp;gt;: (default) Use a single gain value.  Set the overall gain with &amp;lt;code&amp;gt;SATNOGS_RF_GAIN&amp;lt;/code&amp;gt;,e.g. &amp;lt;code&amp;gt;SATNOGS_RF_GAIN&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;43&amp;lt;/code&amp;gt;.&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_GAIN_MODE&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;Settings Field&amp;quot;&amp;lt;/code&amp;gt;: Use granular gain values.  Set the different gain stages separately:&lt;br /&gt;
**without pre-amp: &amp;lt;code&amp;gt;SATNOGS_OTHER_SETTINGS&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;LNA=12,MIX=8,VGA=11&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
**with pre-amp: &amp;lt;code&amp;gt;SATNOGS_OTHER_SETTINGS&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;LNA=9,MIX=6,VGA=11&amp;quot;&amp;lt;/code&amp;gt; (used in [https://network.satnogs.org/stations/49/ 49 - OZ7SAT])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For reference see also the Airspy driver library linearity gain settings in [https://github.com/airspy/airspyone_host/blob/bceca18f9e3a5f89cff78c4d949c71771d92dfd3/libairspy/src/airspy.c#L117-L122 libairspy/src/airspy.c#L117-L122].&lt;br /&gt;
&lt;br /&gt;
The airspy driver offers &amp;quot;Linearity&amp;quot; and &amp;quot;Sensitivity&amp;quot; gain settings, using a look-up table to configure all three gain stages from a single value (optimized for linearity and gain respectively). Those modes are unfortunately not available through the SoapyAirspy module (see [https://github.com/pothosware/SoapyAirspy/pull/14 SoapyAirspy#14]).&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Overall&amp;quot; gain mode is a soapy-specific driver-independent mode to configure all gain stages based on the single gain value from &amp;lt;code&amp;gt;SATNOGS_RF_GAIN&amp;lt;/code&amp;gt;. It tries to evenly distribute the gain, potentially resulting in non-optimal configuration. Thus for achieving optimal results the &amp;quot;Settings Field&amp;quot; mode is recommended, where all three gain stages can be configured separately.&lt;br /&gt;
&lt;br /&gt;
===Sample rates===&lt;br /&gt;
&lt;br /&gt;
*Airspy R2: &amp;lt;code&amp;gt;SATNOGS_RX_SAMPLE_RATE&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;2.5e6 or 10e6&amp;lt;/code&amp;gt;&lt;br /&gt;
*Airspy Mini: &amp;lt;code&amp;gt;SATNOGS_RX_SAMPLE_RATE&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;3e6 or 6e6&amp;lt;/code&amp;gt;&lt;br /&gt;
*Airspy HF+: &amp;lt;code&amp;gt;SATNOGS_RX_SAMPLE_RATE&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;768e3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
source: [https://twitter.com/DutchSpace/status/1241305651168661504]&lt;br /&gt;
&lt;br /&gt;
If you want to activate the integrated bias tee, set &amp;lt;code&amp;gt;SATNOGS_DEV_ARGS&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;biastee=true&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
Bit packing (&amp;quot;Enable packing 4 12-bit samples into 3 16-bit words for 25% less USB trafic.&amp;quot;) could be enabled with &amp;lt;code&amp;gt;SATNOGS_DEV_ARGS&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;bitpacking=true&amp;quot;&amp;lt;/code&amp;gt; (untested). Device arguments can be concatenated with comma as delimiter.&lt;br /&gt;
&lt;br /&gt;
==SDRPlay support==&lt;br /&gt;
Vendor: [http://www.sdrplay.com/ SDRPlay]&lt;br /&gt;
&lt;br /&gt;
required SoapySDR module: [https://github.com/pothosware/SoapySDRPlay SoapySDRPlay]&lt;br /&gt;
&lt;br /&gt;
The following settings [https://network.satnogs.org/observations/?norad=&amp;amp;observer=&amp;amp;station=1354&amp;amp;results=d1&amp;amp;start=2020-02-20+00%3A00&amp;amp;end=2020-02-24+23%3A59 worked well] for an [https://www.sdrplay.com/rspduo/ SDRplay RSPduo] when using cross-yagis and good [https://www.ssb.de/en/amplifiers/preamplifier/vox/100w SSB low-noise amplifiers]:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_SOAPY_RX_DEVICE=&amp;quot;driver=sdrplay&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_RX_SAMP_RATE=2e6&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_RX_BANDWIDTH=600e3&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_RF_GAIN=34&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_ANTENNA=&amp;quot;Tuner 1 50 ohm&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that 14-bits ADC resolution is only available when using sample rates below 6.048 MSPS, above which the resolution is reduced gradually to 12, 10, and 8 bits.&lt;br /&gt;
&lt;br /&gt;
==USRP support==&lt;br /&gt;
Vendor: [https://ettus.com Ettus Research]&lt;br /&gt;
&lt;br /&gt;
required SoapySDR module: [https://github.com/pothosware/SoapyUHD/wiki SoapyUHD]&lt;br /&gt;
&lt;br /&gt;
Recent USRPs that use the Analog Devices [https://www.analog.com/en/products/ad9361.html AD9361 RFIC] can use almost arbitrary sample rates and analog bandwidth settings. It can be an advantage to set the sample rate as high as the host computer can handle and the analog bandwidth to as narrow as meaningful. The following settings [https://network.satnogs.org/observations/?norad=&amp;amp;observer=&amp;amp;station=1353&amp;amp;results=d1&amp;amp;start=2020-02-20+00%3A00&amp;amp;end=2020-02-24+23%3A59 worked well] for a [https://www.ettus.com/all-products/ub210-kit/ USRP B210] when using cross-yagis and good [https://www.ssb.de/en/amplifiers/preamplifier/vox/100w SSB low-noise amplifiers]:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_SOAPY_RX_DEVICE=&amp;quot;driver=uhd&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_RX_SAMP_RATE=2e6&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_RX_BANDWIDTH=600e3&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_RF_GAIN=50&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_ANTENNA=&amp;quot;RX2&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
**on the B200 your Antenna options are &amp;lt;code&amp;gt;TX/RX&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;RX2&amp;lt;/code&amp;gt;, be sure you select the right option for your configuration!&lt;br /&gt;
&lt;br /&gt;
==LimeSDR support==&lt;br /&gt;
Vendor: [https://limemicro.com Lime microsystems]&lt;br /&gt;
&lt;br /&gt;
required SoapySDR module: [https://github.com/myriadrf/LimeSuite/tree/master/SoapyLMS7 SoapyLMS7 wrapper]&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_SOAPY_RX_DEVICE&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;driver=lime&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_RX_SAMP_RATE&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;2.048e6&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_ANTENNA&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;LNAW&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_GAIN_MODE&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;Settings Field&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_RF_GAIN&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_OTHER_SETTINGS&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;TIA=12,PGA=0,LNA=12&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(untested, copied from station 1378)&lt;br /&gt;
&lt;br /&gt;
Example stations:&lt;br /&gt;
&lt;br /&gt;
*[https://network.satnogs.org/stations/1378/ 1378 - Wolbach library]&lt;br /&gt;
&lt;br /&gt;
==PlutoSDR support==&lt;br /&gt;
Vendor: [https://www.analog.com Analog Devices]&lt;br /&gt;
&lt;br /&gt;
required SoapySDR module: [https://github.com/pothosware/SoapyPlutoSDR/wiki SoapyPlutoSDR]&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_SOAPY_RX_DEVICE&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;driver=plutosdr&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_RX_SAMP_RATE&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;2e6&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_ANTENNA&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;A_BALANCED&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_RF_GAIN&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;50&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==HackRF support==&lt;br /&gt;
Vendor: [https://greatscottgadgets.com/hackrf/ Great Scott Gadgets]&lt;br /&gt;
&lt;br /&gt;
required SoapySDR module: [https://github.com/pothosware/SoapyHackRF SoapyHackRF]&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_SOAPY_RX_DEVICE&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;driver=hackrf&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_ANTENNA&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;TX/RX&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_RX_SAMP_RATE=&amp;quot;8e6&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
**HackRF supports 8 to 20MS/s. Higher than 8MS/s has not been tested with SatNOGS on a RaspberryPi&lt;br /&gt;
**HackRF can run lower than 8MS/s, but it is not recommended as the ADC's filter is not designed for samplerates lower than 8MS/s&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are two possible gain modes:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Overal&amp;quot;, specifying just one global gain:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_GAIN_MODE&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;Overall&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_RF_GAIN&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;64&amp;quot;&amp;lt;/code&amp;gt; (Supported gain range: 0-116dB)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Settings Field&amp;quot;, specifying the individual gains.&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_GAIN_MODE&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;Settings Field&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_OTHER_SETTINGS&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;AMP=14,LNA=40,VGA=48&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
**AMP: supports 0 (amp disabled) and 14 (amp enabled)&lt;br /&gt;
**LNA: supports 0-40dBin 8dB steps&lt;br /&gt;
**VGA: supports 0-62dB in 2dB steps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To activate bias-T power on the antenna port:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_DEV_ARGS&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;bias_tx=true&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example stations:&lt;br /&gt;
&lt;br /&gt;
*[https://network.satnogs.org/stations/1868/ 1868 - HB9FXX S-Band]&lt;br /&gt;
&lt;br /&gt;
==Remote==&lt;br /&gt;
Using the SoapySDRServer running on the same machine or over the network.&lt;br /&gt;
&lt;br /&gt;
Required SoapySDRServer module: [https://github.com/pothosware/SoapyRemote/wiki SoapyRemote].&lt;br /&gt;
Optional SoapySDRUtil to probe for SDR and settings.&lt;br /&gt;
Make sure to match the antenna and gain setting from the actual device connected to the remote. Also possible to select remote drivers and other parameters; &amp;lt;code&amp;gt;driver=remote,remote:driver=rtlsdr&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_SOAPY_RX_DEVICE&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;driver=remote&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_RX_SAMP_RATE&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;2e6&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_ANTENNA&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;&amp;quot;RX&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;SATNOGS_RF_GAIN&amp;lt;/code&amp;gt;=&amp;lt;code&amp;gt;20.7&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not stable.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
*[https://www.rtl-sdr.com/rtlsdr4everyone-review-of-5-rtl-sdr-dongles/ Review of 5 RTL-SDR Dongles]&lt;br /&gt;
*[https://hackaday.com/2017/09/05/19-rtl-sdr-dongles-reviewed/ 19 RTL-SDR Dongles Reviewed]&lt;br /&gt;
*[https://www.rtl-sdr.com/review-airspy-vs-sdrplay-rsp-vs-hackrf/ Review: Airspy VS. SDRplay RSP VS. HackRF]&lt;br /&gt;
&lt;br /&gt;
[[Category:Build]]&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:Software]]&lt;br /&gt;
&lt;br /&gt;
__NOEDITSECTION__&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=SatNOGS_Setup_Legacy&amp;diff=3812</id>
		<title>SatNOGS Setup Legacy</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=SatNOGS_Setup_Legacy&amp;diff=3812"/>
		<updated>2022-01-27T09:39:32Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: Add the variables required for artifacts upload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&amp;lt;code&amp;gt;satnogs-setup&amp;lt;/code&amp;gt; provides a set of scripts for configuring a '''SatNOGS Client''' system. &amp;lt;code&amp;gt;satnogs-setup&amp;lt;/code&amp;gt; main function is to bring up a menu-driven console configuration utility and provision the system using [[SatNOGS Client Ansible|Ansible]].&lt;br /&gt;
&lt;br /&gt;
==Initial Setup==&lt;br /&gt;
Before starting &amp;lt;code&amp;gt;satnogs-setup&amp;lt;/code&amp;gt;, ensure the Raspberry Pi is up to date. This can be done with &amp;lt;code&amp;gt;sudo apt update&amp;lt;/code&amp;gt; and then &amp;lt;code&amp;gt;sudo apt upgrade&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
{{Message| In case of getting a similar error to this:&lt;br /&gt;
&amp;lt;code&amp;gt;W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://download.opensuse.org/repositories/home:/librespace:/satnogs/Raspbian_10 ./ InRelease: The following signatures were invalid: EXPKEYSIG 8BD3901736A40B6C home:librespace OBS Project &amp;lt;home:librespace@build.opensuse.org&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Check at https://wiki.satnogs.org/Troubleshooting#Invalid_Signature_for_download.opensuse.org on how to solve it}}&lt;br /&gt;
{{Message| In case of getting a similar error to this:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
E: Repository 'http://archive.raspberrypi.org/debian buster InRelease' changed its 'Suite' value from 'testing' to 'oldstable'&lt;br /&gt;
&lt;br /&gt;
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.&lt;br /&gt;
&lt;br /&gt;
E: Repository 'http://raspbian.raspberrypi.org/raspbian buster InRelease' changed its 'Suite' value from 'stable' to 'oldstable'&lt;br /&gt;
&lt;br /&gt;
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Run &amp;lt;code&amp;gt;sudo apt-get update --allow-releaseinfo-change&amp;lt;/code&amp;gt; instead of just &amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
(See: [[Troubleshooting#apt-get update: connection failed]] ).&lt;br /&gt;
&lt;br /&gt;
After the first boot of the system, packages and the configuration tool itself '''must be updated'''. Follow the [[SatNOGS Client Setup#Updating SatNOGS Client Software|Updating]] instruction found below.&lt;br /&gt;
&lt;br /&gt;
To configure a '''SatNOGS Client''' system:&lt;br /&gt;
&lt;br /&gt;
#SSH into the system and run &amp;lt;code&amp;gt;sudo satnogs-setup&amp;lt;/code&amp;gt;; this will bring up the configuration menu&lt;br /&gt;
#Set '''all''' options in '''Basic Configuration''' (see below)&lt;br /&gt;
#Select &amp;lt;code&amp;gt;Apply&amp;lt;/code&amp;gt; and the Raspberry Pi will configure itself; this may take some time&lt;br /&gt;
#Select &amp;lt;code&amp;gt;Back&amp;lt;/code&amp;gt; to exit&lt;br /&gt;
{{Message|You can always reconfigure the software by running &amp;lt;code&amp;gt;sudo satnogs-setup&amp;lt;/code&amp;gt; again.}}&lt;br /&gt;
===Basic Configuration===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Setting&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_API_TOKEN&amp;lt;/code&amp;gt;&lt;br /&gt;
|The API token assigned to your ground station on the SatNOGS Network website, please don’t share your api key as this can give access to anyone to upload and change things in network related to your station and its observations.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To find your API token, log in to [https://network.satnogs.org network.satnogs.org], click on the user icon at the top right corner and then click on the &amp;quot;Dashboard&amp;quot; option. On the top of the dashboard page right under the user icon click the button &amp;quot;API key&amp;quot; to show your API token.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_SOAPY_RX_DEVICE&amp;lt;/code&amp;gt;&lt;br /&gt;
|If you are using an RTL-SDR, this is &amp;lt;code&amp;gt;driver=rtlsdr&amp;lt;/code&amp;gt;. For other devices tested configurations can be found at [[Software_Defined_Radio]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See [https://github.com/pothosware/SoapyRTLSDR/wiki#modules pothosware/SoapyRTLSDR/wiki#modules] for other SDR modules (linked in the navigation bar at the right side of the page). If multiple devices are attached to your station you should also specify the serial of the desired device here, e.g. &amp;lt;code&amp;gt;driver=uhd,serial=3164495&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_ANTENNA&amp;lt;/code&amp;gt;&lt;br /&gt;
|If you are using an RTL-SDR, this is &amp;lt;code&amp;gt;RX&amp;lt;/code&amp;gt;. For other devices tested configurations can be found at [[Software_Defined_Radio]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If your device is not listed there yet, use &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;SoapySDRUtil --probe 2&amp;gt;&amp;amp;1| grep Antennas&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; to get available antennas.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_RX_SAMP_RATE&amp;lt;/code&amp;gt;&lt;br /&gt;
|Specify the receiver sampling rate. Recommended value for RTL-SDR: &amp;lt;code&amp;gt;2.048e6&amp;lt;/code&amp;gt; (for 2Msps), other devices will need different sample rates described at [[Software_Defined_Radio]] .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The command &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;SoapySDRUtil --probe 2&amp;gt;&amp;amp;1 | grep Sample&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; can be used to find all valid sample rates.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_RF_GAIN&amp;lt;/code&amp;gt;&lt;br /&gt;
|RF Gain value for your SDR hardware.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Run &amp;lt;code&amp;gt;SoapySDRUtil --probe&amp;lt;/code&amp;gt; to see all possible gain values for your hardware.&lt;br /&gt;
Example: For RTL-SDR without pre-amp, 32.8 is a good starting value. Follow [[Omnidirectional Station How To#Setting the gain|Setting the gain]] to find a good gain value.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_STATION_ELEV&amp;lt;/code&amp;gt;&lt;br /&gt;
|The height of your ground station above sea level in metres.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_STATION_ID&amp;lt;/code&amp;gt;&lt;br /&gt;
|The '''numeric ID''' assigned to your station in the SatNOGS Network site when the groundstation was created.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_STATION_LAT&amp;lt;/code&amp;gt;&lt;br /&gt;
|The latitude of your station.  North is positive, south is negative.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_STATION_LON&amp;lt;/code&amp;gt;&lt;br /&gt;
|The longitude of your station.  East is positive, west is negative.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Advanced Setup==&lt;br /&gt;
{{Warning|Changes to the following settings may be required to optimise station performance, or enable support for additional features (e.g. rotator control)}}A more detailed description on setting up a development environment using the SatNOGS reference setup is given in [[SatNOGS_Client_Development]].&lt;br /&gt;
&lt;br /&gt;
NOTE: To get your station online, you need to set SATNOGS_NETWORK_API_URL to https://network.satnogs.org/api/&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Setting&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_PPM_ERROR&amp;lt;/code&amp;gt;&lt;br /&gt;
|The local oscillator frequency deviation in ppm.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_RX_BANDWIDTH&amp;lt;/code&amp;gt;&lt;br /&gt;
|Soapy baseband filter bandwidth [https://github.com/pothosware/SoapySDR/blob/a489f3dca9d3ccd9b276b95a608ac3ef0299f635/include/SoapySDR/Device.hpp#L904-L910] of RX Channel 0 in Hz (only available on specific devices). TODO: Testing.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_DEV_ARGS&amp;lt;/code&amp;gt;&lt;br /&gt;
|Soapy device arguments (currently only accepting the &amp;lt;code&amp;gt;serial&amp;lt;/code&amp;gt; key successfully) and stream arguments.&lt;br /&gt;
NOTE: This parameter / its meaning might change in the near future, see issue [https://gitlab.com/librespacefoundation/satnogs/satnogs-client/-/issues/373 satnogs-client#373].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_GAIN_MODE&amp;lt;/code&amp;gt;&lt;br /&gt;
|Choose the gain mode:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;quot;Overall&amp;quot;&amp;lt;/code&amp;gt; (default): Set the gain with the single value from &amp;lt;code&amp;gt;SATNOGS_RF_GAIN&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;quot;Settings Field&amp;quot;&amp;lt;/code&amp;gt;: Ignore &amp;lt;code&amp;gt;SATNOGS_RF_GAIN&amp;lt;/code&amp;gt;, use the settings from &amp;lt;code&amp;gt;SATNOGS_OTHER_SETTINGS&amp;lt;/code&amp;gt; instead&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_STREAM_ARGS&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_TUNE_ARGS&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_OTHER_SETTINGS&amp;lt;/code&amp;gt;&lt;br /&gt;
|Only available if &amp;lt;code&amp;gt;SATNOGS_GAIN_MODE&amp;lt;/code&amp;gt;is&amp;lt;code&amp;gt;&amp;quot;Settings Field&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
Available gain settings can be retrieved using &amp;lt;code&amp;gt;SoapySDRUtil --probe=&amp;quot;driver=xxxx`&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example for Airspy: Use&amp;lt;code&amp;gt;&amp;quot;LNA=12,MIX=8,VGA=11&amp;quot;&amp;lt;/code&amp;gt;See also: [[SDR#Airspy|Airspy support]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_DC_REMOVAL&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_BB_FREQ&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_LO_OFFSET&amp;lt;/code&amp;gt;&lt;br /&gt;
|Don't use this parameter to correct for the local oscillator frequency deviation, use &amp;lt;code&amp;gt;SATNOGS_PPM_ERROR&amp;lt;/code&amp;gt; instead!&lt;br /&gt;
To avoid the SDR carrier at the DC the LO is shifted from the actual frequency a little. Default: &amp;lt;code&amp;gt;100e3&amp;lt;/code&amp;gt; (100 kHz)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_ROT_MODEL&amp;lt;/code&amp;gt;&lt;br /&gt;
|Hamlib rotator model. If you don't have a rotator (like the [[No rotator|No rotator setup]]), leave it empty.&lt;br /&gt;
Use the macro name for your rotator model from this [https://gist.github.com/kerel-fs/2354ff9c082cd3c1594afc38c67bc32a#hamlib-release-33 list of rotator models in Hamlib]. If you are connecting to a separate rotctld instance, use &amp;lt;code&amp;gt;ROT_MODEL_NETROTCTL&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_ROT_BAUD&amp;lt;/code&amp;gt;&lt;br /&gt;
|Baud rate for Hamlib rotator serial port, if using a serial-connected rotator.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_ROT_PORT&amp;lt;/code&amp;gt;&lt;br /&gt;
|Serial port for Hamlib rotator, OR the network address of a rotctld instance (e.g. &amp;lt;code&amp;gt;localhost:4533&amp;lt;/code&amp;gt; )&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_ROT_THRESHOLD&amp;lt;/code&amp;gt;&lt;br /&gt;
|Rotator movement threshold, in degrees. If set, the rotator will only be commanded when the target has moved more than &amp;lt;threshold&amp;gt; degrees away from the current azimuth/elevation position. Default: 4 degrees&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;HAMLIB_UTILS_ROT_ENABLED&amp;lt;/code&amp;gt;&lt;br /&gt;
|Whether or not to enable the Hamlibs rotator daemon.  Rotctld is a software daemon that provides a network server to control a rotator on a serial port.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;HAMLIB_UTILS_ROT_OPTS&amp;lt;/code&amp;gt;&lt;br /&gt;
|Options for rotcld:&lt;br /&gt;
For a yaesu rotator, use &amp;lt;code&amp;gt;-m 601 -r /dev/ttyACM0 -s 9600 -T 0.0.0.0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For a SatNOGS rotator &amp;lt;code&amp;gt;-m 204 -s 19200 -r /dev/ttyACM0 -C timeout=200&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;-m 204 -s 19200 -r /dev/ttyUSB0 -C timeout=200&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_PRE_OBSERVATION_SCRIPT&amp;lt;/code&amp;gt;&amp;lt;code&amp;gt;SATNOGS_POST_OBSERVATION_SCRIPT&amp;lt;/code&amp;gt;&lt;br /&gt;
|Allows execution of a shell script either pre or post-observation. The following can be entered into the script path to enable passing of information to the script:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{FREQ}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; - Observation Centre Frequency&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{TLE}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; - Target object TLE data, as a JSON-formatted object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{TIMESTAMP}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; - Start time of the observation, in the format: %Y-%m-%dT%H-%M-%S%z&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{ID}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; - Observation ID number.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{BAUD}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; - Baud rate of the modulation used, if applicable.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{SCRIPT_NAME}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; - The name of the demodulation flow-graph script in use.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EXPERIMENTAL&amp;lt;/code&amp;gt;&lt;br /&gt;
|Install latest (experimental) versions of all software&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;APT_REPOSITORY&amp;lt;/code&amp;gt;&lt;br /&gt;
|This options allows you to change the SatNOGS packages repository. For example, to install unstable package builds use:&lt;br /&gt;
&amp;lt;code&amp;gt;deb &amp;lt;nowiki&amp;gt;http://download.opensuse.org/repositories/home:/librespace:/satnogs-unstable/Raspbian_10&amp;lt;/nowiki&amp;gt; ./&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;APT_KEY_URL&amp;lt;/code&amp;gt;&lt;br /&gt;
|This options allows you to change the SatNOGS packages repository key URL. For example, to install unstable package builds use:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://download.opensuse.org/repositories/home:/librespace:/satnogs-unstable/Raspbian_10/Release.key&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;APT_KEY_ID&amp;lt;/code&amp;gt;&lt;br /&gt;
|This options allows you to specify an alternative SatNOGS packages repository key ID.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_CLIENT_URL&amp;lt;/code&amp;gt;&lt;br /&gt;
|If you to try a development version of satnogs-client, you can change the URL here.  The URL needs to be in [https://pip.pypa.io/en/stable/reference/pip_install PIP format].  Here are some examples:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;git+&amp;lt;nowiki&amp;gt;https://gitlab.com/librespacefoundation/satnogs/satnogs-client.git@master&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; -- the 'master' branch (the current development version) of satnogs-client&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;git+https://gitlab.com/jdoe/satnogs-client.git@new-feature&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; -- the 'new-feature' branch of jdoe's fork of satnogs-client&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_RADIO_FLOWGRAPHS_VERSION&amp;lt;/code&amp;gt;&lt;br /&gt;
|This options allows you to change the version of satnogs-flowgraphs package to be installed. For example:&lt;br /&gt;
&amp;lt;code&amp;gt;0.1-1&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LOG_LEVEL&amp;lt;/code&amp;gt;&lt;br /&gt;
|Define SatNOGS client log level, available values: &amp;lt;code&amp;gt;ERROR&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;WARNING&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;INFO&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;DEBUG&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_ARTIFACTS_ENABLED&amp;lt;/code&amp;gt;&lt;br /&gt;
|Enable generation and uploading of HDF5 artifacts files to SatNOGS DB. (added in satnogs-client 1.7)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_ARTIFACTS_API_TOKEN&amp;lt;/code&amp;gt;&lt;br /&gt;
|SatNOGS DB API token associated with an account in SatNOGS DB. This token is secret. It is used to upload artifacts to SatNOGS DB. It can be found in SatNOGS DB user page. (added in satnogs-client 1.7)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Obsolete Setup Variables==&lt;br /&gt;
The following options were available in previous versions of the SatNOGS client system and have no effect on the latest stable version.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Setting&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_RX_DEVICE&amp;lt;/code&amp;gt;&lt;br /&gt;
|If you are using an RTL-SDR, this is &amp;lt;code&amp;gt;rtlsdr&amp;lt;/code&amp;gt;.  Other devices supported by gr-satnogs include &amp;lt;code&amp;gt;usrpb200&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;usrp2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;airspy/airspymini&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;lime&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;hackrf&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_PPM_ERROR&amp;lt;/code&amp;gt; (available again)&lt;br /&gt;
|gr-satnogs: The PPM correction [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs/-/blob/v1.5.1/apps/flowgraphs/README.md#execution-arguements-interface]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_DEV_ARGS&amp;lt;/code&amp;gt; (available again)&lt;br /&gt;
|gr-satnogs: SDR device specific arguments [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs/-/blob/v1.5.1/apps/flowgraphs/README.md#execution-arguements-interface]&lt;br /&gt;
Note: This variable was re-purposed to set soapy device and stream arguments, so it's not obsolete anymore.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_IF_GAIN&amp;lt;/code&amp;gt;&lt;br /&gt;
|gr-satnogs: Intermediate frequency gain [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs/-/blob/v1.5.1/apps/flowgraphs/README.md#execution-arguements-interface]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_BB_GAIN&amp;lt;/code&amp;gt;&lt;br /&gt;
|gr-satnogs: Baseband gain [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs/-/blob/v1.5.1/apps/flowgraphs/README.md#execution-arguements-interface]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;SATNOGS_RADIO_GR_SATNOGS_VERSION&amp;lt;/code&amp;gt;&lt;br /&gt;
|This options allows you to change the version of gr-satnogs package to be installed. For example: &amp;lt;code&amp;gt;1.5.1-1&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Updating SatNOGS Client Software==&lt;br /&gt;
{{Warning| An update can potentially interrupt a running observation!}}&lt;br /&gt;
To update SatNOGS software, including the configuration tool itself:&lt;br /&gt;
&lt;br /&gt;
#SSH into the system and (re-)run &amp;lt;code&amp;gt;sudo satnogs-setup&amp;lt;/code&amp;gt;; this will bring up the configuration menu&lt;br /&gt;
#Select &amp;lt;code&amp;gt;Update&amp;lt;/code&amp;gt; to update the configuration tool and all distribution packages to the latest&lt;br /&gt;
#If you are prompted for a reboot during the upgrade, once the upgrade is finished, select &amp;lt;code&amp;gt;Reboot&amp;lt;/code&amp;gt;, SSH back into the system and re-run &amp;lt;code&amp;gt;satnogs-setup&amp;lt;/code&amp;gt; to continue to the next step&lt;br /&gt;
#Select &amp;lt;code&amp;gt;Apply&amp;lt;/code&amp;gt; and the Raspberry Pi will update itself; this may take some time&lt;br /&gt;
#Before exit, check at the top that you have the latest satnogs-client and gr-satnogs versions&lt;br /&gt;
#Select &amp;lt;code&amp;gt;Back&amp;lt;/code&amp;gt; to exit&lt;br /&gt;
&lt;br /&gt;
{{Message|You can check your current version of client (and other client software) at the top of window after running &amp;lt;code&amp;gt;sudo satnogs-setup&amp;lt;/code&amp;gt;; alternatively you can generate the support report by going at &amp;lt;code&amp;gt;Advanced -&amp;gt; Support&amp;lt;/code&amp;gt;.}}&lt;br /&gt;
{{Message|Client version on SatNOGS Network is updated after the first observation with the new client.}}&lt;br /&gt;
===Upgrading from Debian 'stretch' to 'buster'===&lt;br /&gt;
Debian &amp;lt;code&amp;gt;stretch&amp;lt;/code&amp;gt; is no longer supported. If you have already installed an older version of Debian or Raspbian SatNOGS image based on &amp;lt;code&amp;gt;stretch&amp;lt;/code&amp;gt; (releases &amp;lt;= [https://gitlab.com/librespacefoundation/satnogs/satnogs-pi-gen/-/tags/2018080300 2018080300]), you must upgrade to &amp;lt;code&amp;gt;buster&amp;lt;/code&amp;gt; otherwise it will be impossible to receive updates or upgrades in the future.&lt;br /&gt;
====Method 1: Reflashing and reinstalling (recommended)====&lt;br /&gt;
The recommended method to upgrade to &amp;lt;code&amp;gt;buster&amp;lt;/code&amp;gt; is reflashing the latest Raspbian SatNOGS image (or reinstalling latest Debian). Follow [[Raspberry Pi|Raspberry Pi]] installation instructions and reinstall from scratch.&lt;br /&gt;
====Method 2: Release upgrade using satnogs-upgrade (advanced)====&lt;br /&gt;
{{Warning|Make sure you have a stable connection to the internet and your SatNOGS client during this process. Release upgrades can consume a lot of time, data and storage.}}To upgrade from stretch to buster using the configuration tool:&lt;br /&gt;
&lt;br /&gt;
#SSH into the system&lt;br /&gt;
#Make sure you have enough free space on your SD card (&amp;gt;2GiB) by running &amp;lt;code&amp;gt;df -h /&amp;lt;/code&amp;gt; on the console&lt;br /&gt;
#Run &amp;lt;code&amp;gt;sudo satnogs-setup&amp;lt;/code&amp;gt; and select &amp;lt;code&amp;gt;Update&amp;lt;/code&amp;gt; to update the tool itself and then select &amp;lt;code&amp;gt;Apply&amp;lt;/code&amp;gt;. This may inform you that the current distribution is not supported and exit. If not, select &amp;lt;code&amp;gt;Exit&amp;lt;/code&amp;gt; to exit the tool.&lt;br /&gt;
#Run &amp;lt;code&amp;gt;sudo satnogs-upgrade&amp;lt;/code&amp;gt; to update all distribution packages to the latest; this will also prompt you for a distribution upgrade, if it detects that one is needed&lt;br /&gt;
#Keep an eye on the upgrade progress; &amp;lt;code&amp;gt;dpkg&amp;lt;/code&amp;gt; may prompt for changes&lt;br /&gt;
#Once the upgrade is completed run &amp;lt;code&amp;gt;sudo sync; sudo reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
#After the reboot, SSH back into the system and make sure you are on the correct release by running &amp;lt;code&amp;gt;lsb_release -a&amp;lt;/code&amp;gt;&lt;br /&gt;
#Run &amp;lt;code&amp;gt;sudo rm -f /root/.satnogs/.bootstrapped; sudo satnogs-setup&amp;lt;/code&amp;gt; and select &amp;lt;code&amp;gt;Update&amp;lt;/code&amp;gt; and then &amp;lt;code&amp;gt;Apply&amp;lt;/code&amp;gt;; this may take some time&lt;br /&gt;
#Before exit, check at the top that you have the latest satnogs-client and gr-satnogs versions&lt;br /&gt;
#Select &amp;lt;code&amp;gt;Back&amp;lt;/code&amp;gt; to exit&lt;br /&gt;
&lt;br /&gt;
==Verification of correct installation==&lt;br /&gt;
To see if satnogs-client has started successfully, check the logs with &amp;lt;code&amp;gt;systemctl&amp;lt;/code&amp;gt;:&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl status satnogs-client&lt;br /&gt;
&amp;lt;/pre&amp;gt;You should see an output that looks like this:&amp;lt;pre&amp;gt;&lt;br /&gt;
● satnogs-client.service - SatNOGS client&lt;br /&gt;
   Loaded: loaded (/etc/systemd/system/satnogs-client.service; enabled; vendor preset: enabled)&lt;br /&gt;
   Active: active (running) since Wed 2020-03-04 19:30:56 GMT; 6min ago&lt;br /&gt;
 Main PID: 6309 (satnogs-client)&lt;br /&gt;
    Tasks: 11 (limit: 2200)&lt;br /&gt;
   Memory: 37.9M&lt;br /&gt;
   CGroup: /system.slice/satnogs-client.service&lt;br /&gt;
           └─6309 /var/lib/satnogs/bin/python3 /var/lib/satnogs/bin/satnogs-client&lt;br /&gt;
&lt;br /&gt;
Mar 04 19:30:56 raspberrypi systemd[1]: Started SatNOGS client.&lt;br /&gt;
&amp;lt;/pre&amp;gt;If you see that, great -- you're ready to [[Operation|schedule your first observation]]! If not, check out the [[Troubleshooting]] page.&lt;br /&gt;
&lt;br /&gt;
==Backup &amp;amp; Restore the configuration==&lt;br /&gt;
The configuration of your SatNOGS station is stored at &amp;lt;code&amp;gt;/etc/ansible/host_vars/localhost&amp;lt;/code&amp;gt;. If your station software is broken (e.g. due to a corrupt SD card) or if you want to downgrade from the experimental software back to the stable releases, you can perform the following steps:&lt;br /&gt;
&lt;br /&gt;
#Backup the configuration file at &amp;lt;code&amp;gt;/etc/ansible/host_vars/localhost&amp;lt;/code&amp;gt;&lt;br /&gt;
#Re-flash the SD card with a fresh image&lt;br /&gt;
#Restore the configuration file&lt;br /&gt;
#Run &amp;lt;code&amp;gt;sudo satnogs-setup&amp;lt;/code&amp;gt; and select &amp;lt;code&amp;gt;Update&amp;lt;/code&amp;gt; to update the tool itself and then select &amp;lt;code&amp;gt;Apply&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*[[SatNOGS Client Ansible]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Build]]&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Linux_Desktop&amp;diff=3803</id>
		<title>Linux Desktop</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Linux_Desktop&amp;diff=3803"/>
		<updated>2021-11-23T11:56:50Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: /* Packages needed */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Warning|Manual installation of the SatNOGS Station Software is a tedious &amp;amp; brittle process, not recommended for SatNOGS Stations. Please consider running your SatNOGS Station on Debian or Raspbian and follow the [[SatNOGS Client Ansible]] guide for installing the SatNOGS Client }}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Here you will find instructions on installing SatNOGS manually on a generic Linux distribution. It is highly recommended to run SatNOGS stations on a Debian or Raspbian host system so that [[SatNOGS_Client_Ansible]] can be used for setup. All other Linux distributions require the manual installation of all needed programs.&lt;br /&gt;
&lt;br /&gt;
== Packages needed ==&lt;br /&gt;
&lt;br /&gt;
Please check the README of each of those projects for their dependencies and installation procedure.&lt;br /&gt;
&lt;br /&gt;
* [https://gitlab.com/librespacefoundation/satnogs/satnogs-client satnogs-client]&lt;br /&gt;
** libhamlib&lt;br /&gt;
* [https://gitlab.com/librespacefoundation/satnogs/satnogs-flowgraphs satnogs-flowgraphs]&lt;br /&gt;
** [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs gr-satnogs]&lt;br /&gt;
** gnuradio&lt;br /&gt;
** [https://gitlab.com/librespacefoundation/gr-soapy gr-soapy]&lt;br /&gt;
** soapysdr&lt;br /&gt;
* [https://gitlab.com/librespacefoundation/satnogs/satnogs-config satnogs-config]&lt;br /&gt;
&lt;br /&gt;
=Installation on Ubuntu 16.04 in 2018=&lt;br /&gt;
{{Warning|The rest of this page provides deprecated and unsupported information - 2018-06-22}}&lt;br /&gt;
&lt;br /&gt;
== Prep Work ==&lt;br /&gt;
&lt;br /&gt;
Install dependencies&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install -y python-pip python-dev supervisor cmake libusb-1.0-0-dev libhamlib-utils vorbis-tools software-properties-common unzip  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install gnuradio libs from myriadrf since we need a newer version than Ubuntu provides for 16.04&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get purge --auto-remove libgnuradio*&lt;br /&gt;
sudo add-apt-repository -y ppa:myriadrf/drivers&lt;br /&gt;
sudo add-apt-repository -y ppa:myriadrf/gnuradio&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install -y gnuradio-dev libboost-dev libnova-dev libpng-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install gr-satnogs ==&lt;br /&gt;
&lt;br /&gt;
Grab the latest gr-satnogs debian package, unpack it, and install the appropriate deb file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget -O archive.zip https://gitlab.com/librespacefoundation/satnogs/gr-satnogs-package/-/jobs/35403119/artifacts/download  (broken link here)&lt;br /&gt;
unzip archive.zip -d gr-satnogs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install satnogs client ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pip install satnogsclient&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Build]]&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Linux_Desktop&amp;diff=3802</id>
		<title>Linux Desktop</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Linux_Desktop&amp;diff=3802"/>
		<updated>2021-11-23T09:30:38Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: Split outdated content in new section; Add currently needed packages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Warning|Manual installation of the SatNOGS Station Software is a tedious &amp;amp; brittle process, not recommended for SatNOGS Stations. Please consider running your SatNOGS Station on Debian or Raspbian and follow the [[SatNOGS Client Ansible]] guide for installing the SatNOGS Client }}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Here you will find instructions on installing SatNOGS manually on a generic Linux distribution. It is highly recommended to run SatNOGS stations on a Debian or Raspbian host system so that [[SatNOGS_Client_Ansible]] can be used for setup. All other Linux distributions require the manual installation of all needed programs.&lt;br /&gt;
&lt;br /&gt;
== Packages needed ==&lt;br /&gt;
&lt;br /&gt;
Please check the README of each of those projects for their dependencies and installation procedure.&lt;br /&gt;
&lt;br /&gt;
* [https://gitlab.com/librespacefoundation/satnogs/satnogs-client satnogs-client]&lt;br /&gt;
** libhamlib&lt;br /&gt;
* [https://gitlab.com/librespacefoundation/satnogs/satnogs-flowgraphs satnogs-flowgraphs]&lt;br /&gt;
** [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs gr-satnogs]&lt;br /&gt;
** gnuradio&lt;br /&gt;
** [https://gitlab.com/librespacefoundation/satnogs/gr-soapy gr-soapy]&lt;br /&gt;
** soapysdr&lt;br /&gt;
* [https://gitlab.com/librespacefoundation/satnogs/satnogs-config satnogs-config]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Installation on Ubuntu 16.04 in 2018=&lt;br /&gt;
{{Warning|The rest of this page provides deprecated and unsupported information - 2018-06-22}}&lt;br /&gt;
&lt;br /&gt;
== Prep Work ==&lt;br /&gt;
&lt;br /&gt;
Install dependencies&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install -y python-pip python-dev supervisor cmake libusb-1.0-0-dev libhamlib-utils vorbis-tools software-properties-common unzip  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install gnuradio libs from myriadrf since we need a newer version than Ubuntu provides for 16.04&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get purge --auto-remove libgnuradio*&lt;br /&gt;
sudo add-apt-repository -y ppa:myriadrf/drivers&lt;br /&gt;
sudo add-apt-repository -y ppa:myriadrf/gnuradio&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install -y gnuradio-dev libboost-dev libnova-dev libpng-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install gr-satnogs ==&lt;br /&gt;
&lt;br /&gt;
Grab the latest gr-satnogs debian package, unpack it, and install the appropriate deb file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget -O archive.zip https://gitlab.com/librespacefoundation/satnogs/gr-satnogs-package/-/jobs/35403119/artifacts/download  (broken link here)&lt;br /&gt;
unzip archive.zip -d gr-satnogs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install satnogs client ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pip install satnogsclient&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Build]]&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=SatNOGS_Ansible&amp;diff=3801</id>
		<title>SatNOGS Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=SatNOGS_Ansible&amp;diff=3801"/>
		<updated>2021-11-23T08:24:40Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
{{Warning|Follow these instructions only if you are provisioning SatNOGS to Debian from another host or are installing on the same host. }}&lt;br /&gt;
&lt;br /&gt;
'''SatNOGS Client Ansible''' makes the actual provisioning of the '''SatNOGS Client''' system. It is called, under the hood, when applying the configuration using [[SatNOGS Client Setup|SatNOGS Client Setup utility]]. It currently supports Raspbian and Debian (stretch and buster).&lt;br /&gt;
&lt;br /&gt;
==Raspbian==&lt;br /&gt;
&lt;br /&gt;
For Raspberry Pi, which is the reference platform for SatNOGS, a custom Raspbian image with '''SatNOGS Client Ansible''' pre-installed is available. Installation instructions are given in the [[Raspberry_Pi| Raspberry Pi Setup Guide]].&lt;br /&gt;
&lt;br /&gt;
==Debian==&lt;br /&gt;
&lt;br /&gt;
These sections contain generic instructions for installing SatNOGS Client on a Debian system.&lt;br /&gt;
&lt;br /&gt;
==Other distributions==&lt;br /&gt;
&lt;br /&gt;
Other distributions are not supported by '''SatNOGS Client Ansible''', as the pre-built packages won't be compatible. Thus, while derived from Debian, '''SatNOGS Client Ansible''' is known to break for Ubuntu and Linux Mint. If you are an experienced user, a manual installation of all components could be possible.&lt;br /&gt;
&lt;br /&gt;
==Installation Guide==&lt;br /&gt;
===Prerequisites===&lt;br /&gt;
&lt;br /&gt;
*A target Debian system. To install Debian please follow the [https://www.debian.org/releases/stretch/installmanual Debian Installation Guide] and chose the net installer if you want to run a headless server. The target system can be the host itself.&lt;br /&gt;
*A user (referenced later as ''youruser'') which is member of 'sudo' group exists on the target system.&lt;br /&gt;
*An SSH server running on the target system.&lt;br /&gt;
*A host system with Git and latest version of Ansible installed. To install Ansible on Debian, follow the [https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#installing-ansible-on-debian Ansible Installation Guide].&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
On the host system run the following commands:&lt;br /&gt;
 $ git clone &amp;lt;nowiki&amp;gt;https://gitlab.com/librespacefoundation/satnogs/satnogs-client-ansible.git&amp;lt;/nowiki&amp;gt;    # Clone SatNOGS Client Ansible repository&lt;br /&gt;
 $ cd satnogs-client-ansible                                    # Change to cloned repository directory&lt;br /&gt;
 $ git checkout stable                                          # Optionally, check out stable (Debian Buster 10) branch&lt;br /&gt;
 $ cp -r production.dist production                             # Copy dist configuration&lt;br /&gt;
 $ vi production/inventory/hosts                                # Update file with your own target host e.g. 127.0.0.1, user and SSH password&lt;br /&gt;
 $ ssh youruser@yourtargetsystem true                           # Test SSH connection to target system&lt;br /&gt;
 $ ansible-playbook -i production/inventory/hosts -K site.yml   # Run Ansible playbook&lt;br /&gt;
 $ ssh -t youruser@yourtargetsystem sudo satnogs-setup          # Setup SatNOGS client (see below)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Next Steps===&lt;br /&gt;
&lt;br /&gt;
Follow [[SatNOGS_Client_Setup|SatNOGS Client Setup]] to configure your system and SatNOGS station.&lt;br /&gt;
&lt;br /&gt;
[[Category:Build]]&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=SatNOGS_Ansible&amp;diff=3800</id>
		<title>SatNOGS Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=SatNOGS_Ansible&amp;diff=3800"/>
		<updated>2021-11-23T08:18:24Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: Add link to Raspberry Pi Setup Guide&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
'''SatNOGS Client Ansible''' makes the actual provisioning of the '''SatNOGS Client''' system. It is called, under the hood, when applying the configuration using [[SatNOGS Client Setup|SatNOGS Client Setup utility]]. It currently supports Raspbian and Debian (stretch and buster).&lt;br /&gt;
&lt;br /&gt;
==Raspbian==&lt;br /&gt;
&lt;br /&gt;
For Raspberry Pi, which is the reference platform for SatNOGS, a custom Raspbian image with '''SatNOGS Client Ansible''' pre-installed is available. Installation instructions are given in the [[Raspberry_Pi| Raspberry Pi Setup Guide]].&lt;br /&gt;
&lt;br /&gt;
==Debian==&lt;br /&gt;
&lt;br /&gt;
{{Warning|Follow these instructions only if you are provisioning SatNOGS to Debian from another host or are installing on the same host. If you are using [[Raspberry_Pi|SatNOGS Raspbian]] image, follow [[SatNOGS_Client_Setup|SatNOGS Client Setup]] to set up your system. }}These sections contain generic instructions for installing SatNOGS Client on a Debian system.&lt;br /&gt;
&lt;br /&gt;
==Other distributions==&lt;br /&gt;
&lt;br /&gt;
Other distributions are not supported by '''SatNOGS Client Ansible''', as the pre-built packages won't be compatible. While derived from Debian, this includes Ubuntu und Linux Mint.&lt;br /&gt;
&lt;br /&gt;
===Prerequisites===&lt;br /&gt;
&lt;br /&gt;
*A target Debian system. To install Debian please follow the [https://www.debian.org/releases/stretch/installmanual Debian Installation Guide] and chose the net installer if you want to run a headless server. The target system can be the host itself.&lt;br /&gt;
*A user (referenced later as ''youruser'') which is member of 'sudo' group exists on the target system.&lt;br /&gt;
*An SSH server running on the target system.&lt;br /&gt;
*A host system with Git and latest version of Ansible installed. To install Ansible on Debian, follow the [https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#installing-ansible-on-debian Ansible Installation Guide].&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
On the host system run the following commands:&lt;br /&gt;
 $ git clone &amp;lt;nowiki&amp;gt;https://gitlab.com/librespacefoundation/satnogs/satnogs-client-ansible.git&amp;lt;/nowiki&amp;gt;    # Clone SatNOGS Client Ansible repository&lt;br /&gt;
 $ cd satnogs-client-ansible                                    # Change to cloned repository directory&lt;br /&gt;
 $ git checkout stable                                          # Optionally, check out stable (Debian Buster 10) branch&lt;br /&gt;
 $ cp -r production.dist production                             # Copy dist configuration&lt;br /&gt;
 $ vi production/inventory/hosts                                # Update file with your own target host e.g. 127.0.0.1, user and SSH password&lt;br /&gt;
 $ ssh youruser@yourtargetsystem true                           # Test SSH connection to target system&lt;br /&gt;
 $ ansible-playbook -i production/inventory/hosts -K site.yml   # Run Ansible playbook&lt;br /&gt;
 $ ssh -t youruser@yourtargetsystem sudo satnogs-setup          # Setup SatNOGS client (see below)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*[[SatNOGS Client Setup]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Build]]&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=SatNOGS_Ansible&amp;diff=3799</id>
		<title>SatNOGS Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=SatNOGS_Ansible&amp;diff=3799"/>
		<updated>2021-11-23T08:15:51Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: /* Other distributions */ Fix title level&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
'''SatNOGS Client Ansible''' makes the actual provisioning of the '''SatNOGS Client''' system. It is called, under the hood, when applying the configuration using [[SatNOGS Client Setup|SatNOGS Client Setup utility]]. It currently supports Raspbian and Debian (stretch and buster).&lt;br /&gt;
&lt;br /&gt;
==Raspbian==&lt;br /&gt;
&lt;br /&gt;
For Raspberry Pi, which is the reference platform for SatNOGS, a [[Raspberry Pi|Raspbian image]] with '''SatNOGS Client Ansible''' pre-installed is available.&lt;br /&gt;
&lt;br /&gt;
==Debian==&lt;br /&gt;
&lt;br /&gt;
{{Warning|Follow these instructions only if you are provisioning SatNOGS to Debian from another host or are installing on the same host. If you are using [[Raspberry_Pi|SatNOGS Raspbian]] image, follow [[SatNOGS_Client_Setup|SatNOGS Client Setup]] to set up your system. }}These sections contain generic instructions for installing SatNOGS Client on a Debian system.&lt;br /&gt;
&lt;br /&gt;
==Other distributions==&lt;br /&gt;
&lt;br /&gt;
Other distributions are not supported by '''SatNOGS Client Ansible''', as the pre-built packages won't be compatible. While derived from Debian, this includes Ubuntu und Linux Mint.&lt;br /&gt;
&lt;br /&gt;
===Prerequisites===&lt;br /&gt;
&lt;br /&gt;
*A target Debian system. To install Debian please follow the [https://www.debian.org/releases/stretch/installmanual Debian Installation Guide] and chose the net installer if you want to run a headless server. The target system can be the host itself.&lt;br /&gt;
*A user (referenced later as ''youruser'') which is member of 'sudo' group exists on the target system.&lt;br /&gt;
*An SSH server running on the target system.&lt;br /&gt;
*A host system with Git and latest version of Ansible installed. To install Ansible on Debian, follow the [https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#installing-ansible-on-debian Ansible Installation Guide].&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
On the host system run the following commands:&lt;br /&gt;
 $ git clone &amp;lt;nowiki&amp;gt;https://gitlab.com/librespacefoundation/satnogs/satnogs-client-ansible.git&amp;lt;/nowiki&amp;gt;    # Clone SatNOGS Client Ansible repository&lt;br /&gt;
 $ cd satnogs-client-ansible                                    # Change to cloned repository directory&lt;br /&gt;
 $ git checkout stable                                          # Optionally, check out stable (Debian Buster 10) branch&lt;br /&gt;
 $ cp -r production.dist production                             # Copy dist configuration&lt;br /&gt;
 $ vi production/inventory/hosts                                # Update file with your own target host e.g. 127.0.0.1, user and SSH password&lt;br /&gt;
 $ ssh youruser@yourtargetsystem true                           # Test SSH connection to target system&lt;br /&gt;
 $ ansible-playbook -i production/inventory/hosts -K site.yml   # Run Ansible playbook&lt;br /&gt;
 $ ssh -t youruser@yourtargetsystem sudo satnogs-setup          # Setup SatNOGS client (see below)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*[[SatNOGS Client Setup]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Build]]&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=SatNOGS_Ansible&amp;diff=3798</id>
		<title>SatNOGS Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=SatNOGS_Ansible&amp;diff=3798"/>
		<updated>2021-11-23T08:15:29Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: /* Other distributions= */ Fix syntax&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
'''SatNOGS Client Ansible''' makes the actual provisioning of the '''SatNOGS Client''' system. It is called, under the hood, when applying the configuration using [[SatNOGS Client Setup|SatNOGS Client Setup utility]]. It currently supports Raspbian and Debian (stretch and buster).&lt;br /&gt;
&lt;br /&gt;
==Raspbian==&lt;br /&gt;
&lt;br /&gt;
For Raspberry Pi, which is the reference platform for SatNOGS, a [[Raspberry Pi|Raspbian image]] with '''SatNOGS Client Ansible''' pre-installed is available.&lt;br /&gt;
&lt;br /&gt;
==Debian==&lt;br /&gt;
&lt;br /&gt;
{{Warning|Follow these instructions only if you are provisioning SatNOGS to Debian from another host or are installing on the same host. If you are using [[Raspberry_Pi|SatNOGS Raspbian]] image, follow [[SatNOGS_Client_Setup|SatNOGS Client Setup]] to set up your system. }}These sections contain generic instructions for installing SatNOGS Client on a Debian system.&lt;br /&gt;
&lt;br /&gt;
===Other distributions===&lt;br /&gt;
&lt;br /&gt;
Other distributions are not supported by '''SatNOGS Client Ansible''', as the pre-built packages won't be compatible. While derived from Debian, this includes Ubuntu und Linux Mint.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Prerequisites===&lt;br /&gt;
&lt;br /&gt;
*A target Debian system. To install Debian please follow the [https://www.debian.org/releases/stretch/installmanual Debian Installation Guide] and chose the net installer if you want to run a headless server. The target system can be the host itself.&lt;br /&gt;
*A user (referenced later as ''youruser'') which is member of 'sudo' group exists on the target system.&lt;br /&gt;
*An SSH server running on the target system.&lt;br /&gt;
*A host system with Git and latest version of Ansible installed. To install Ansible on Debian, follow the [https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#installing-ansible-on-debian Ansible Installation Guide].&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
On the host system run the following commands:&lt;br /&gt;
 $ git clone &amp;lt;nowiki&amp;gt;https://gitlab.com/librespacefoundation/satnogs/satnogs-client-ansible.git&amp;lt;/nowiki&amp;gt;    # Clone SatNOGS Client Ansible repository&lt;br /&gt;
 $ cd satnogs-client-ansible                                    # Change to cloned repository directory&lt;br /&gt;
 $ git checkout stable                                          # Optionally, check out stable (Debian Buster 10) branch&lt;br /&gt;
 $ cp -r production.dist production                             # Copy dist configuration&lt;br /&gt;
 $ vi production/inventory/hosts                                # Update file with your own target host e.g. 127.0.0.1, user and SSH password&lt;br /&gt;
 $ ssh youruser@yourtargetsystem true                           # Test SSH connection to target system&lt;br /&gt;
 $ ansible-playbook -i production/inventory/hosts -K site.yml   # Run Ansible playbook&lt;br /&gt;
 $ ssh -t youruser@yourtargetsystem sudo satnogs-setup          # Setup SatNOGS client (see below)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*[[SatNOGS Client Setup]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Build]]&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=SatNOGS_Ansible&amp;diff=3797</id>
		<title>SatNOGS Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=SatNOGS_Ansible&amp;diff=3797"/>
		<updated>2021-11-23T08:15:04Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: Add note on pre-built packages / supported distributions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
'''SatNOGS Client Ansible''' makes the actual provisioning of the '''SatNOGS Client''' system. It is called, under the hood, when applying the configuration using [[SatNOGS Client Setup|SatNOGS Client Setup utility]]. It currently supports Raspbian and Debian (stretch and buster).&lt;br /&gt;
&lt;br /&gt;
==Raspbian==&lt;br /&gt;
&lt;br /&gt;
For Raspberry Pi, which is the reference platform for SatNOGS, a [[Raspberry Pi|Raspbian image]] with '''SatNOGS Client Ansible''' pre-installed is available.&lt;br /&gt;
&lt;br /&gt;
==Debian==&lt;br /&gt;
&lt;br /&gt;
{{Warning|Follow these instructions only if you are provisioning SatNOGS to Debian from another host or are installing on the same host. If you are using [[Raspberry_Pi|SatNOGS Raspbian]] image, follow [[SatNOGS_Client_Setup|SatNOGS Client Setup]] to set up your system. }}These sections contain generic instructions for installing SatNOGS Client on a Debian system.&lt;br /&gt;
&lt;br /&gt;
==Other distributions===&lt;br /&gt;
&lt;br /&gt;
Other distributions are not supported by '''SatNOGS Client Ansible''', as the pre-built packages won't be compatible. While derived from Debian, this includes Ubuntu und Linux Mint.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Prerequisites===&lt;br /&gt;
&lt;br /&gt;
*A target Debian system. To install Debian please follow the [https://www.debian.org/releases/stretch/installmanual Debian Installation Guide] and chose the net installer if you want to run a headless server. The target system can be the host itself.&lt;br /&gt;
*A user (referenced later as ''youruser'') which is member of 'sudo' group exists on the target system.&lt;br /&gt;
*An SSH server running on the target system.&lt;br /&gt;
*A host system with Git and latest version of Ansible installed. To install Ansible on Debian, follow the [https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#installing-ansible-on-debian Ansible Installation Guide].&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
On the host system run the following commands:&lt;br /&gt;
 $ git clone &amp;lt;nowiki&amp;gt;https://gitlab.com/librespacefoundation/satnogs/satnogs-client-ansible.git&amp;lt;/nowiki&amp;gt;    # Clone SatNOGS Client Ansible repository&lt;br /&gt;
 $ cd satnogs-client-ansible                                    # Change to cloned repository directory&lt;br /&gt;
 $ git checkout stable                                          # Optionally, check out stable (Debian Buster 10) branch&lt;br /&gt;
 $ cp -r production.dist production                             # Copy dist configuration&lt;br /&gt;
 $ vi production/inventory/hosts                                # Update file with your own target host e.g. 127.0.0.1, user and SSH password&lt;br /&gt;
 $ ssh youruser@yourtargetsystem true                           # Test SSH connection to target system&lt;br /&gt;
 $ ansible-playbook -i production/inventory/hosts -K site.yml   # Run Ansible playbook&lt;br /&gt;
 $ ssh -t youruser@yourtargetsystem sudo satnogs-setup          # Setup SatNOGS client (see below)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*[[SatNOGS Client Setup]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Build]]&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=MediaWiki:Sidebar&amp;diff=3795</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=MediaWiki:Sidebar&amp;diff=3795"/>
		<updated>2021-11-11T09:14:05Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Build&lt;br /&gt;
** Build|[Station] Build a Ground Station&lt;br /&gt;
** Raspberry_Pi|[Station] Install a Raspberry Pi&lt;br /&gt;
** SatNOGS_Client_Setup|[Station] Configure/Update your Station&lt;br /&gt;
** Omnidirectional_Station_How_To|[Station] Omnidirectional Howto&lt;br /&gt;
** Radio|SDR Support&lt;br /&gt;
** Troubleshooting|Client Troubleshooting&lt;br /&gt;
* Operate&lt;br /&gt;
** Satellite_Operator_Guide|Add your Mission&lt;br /&gt;
** Operation|Managing Observations&lt;br /&gt;
** Decode_Telemetry_and_Packets|Decode Telemetry and Packets&lt;br /&gt;
** Telemetry_Dashboards|Telemetry Dashboards&lt;br /&gt;
** :Category:RF Modes|RF Modes&lt;br /&gt;
* Contribute&lt;br /&gt;
** Get_Started|Get Started&lt;br /&gt;
** SatNOGS_DB|Crowd-Sourced Satellite Info&lt;br /&gt;
** Software_contribution|Software Contribution&lt;br /&gt;
** Server_Development_Environment|Server Development Environment&lt;br /&gt;
** Hacking_the_GNURadio_Module_'gr-satnogs'|SatNOGS GNURadio Module&lt;br /&gt;
** SatNOGS_Client_Development|SatNOGS Client Development&lt;br /&gt;
** Adding_a_new_data_decoder|Adding a new data decoder&lt;br /&gt;
** Academic_Papers|Academic Papers citing SatNOGS&lt;br /&gt;
** Provide_documentation|Provide Documentation&lt;br /&gt;
** SatNOGS_Operations_Manual|SatNOGS Operations Manual&lt;br /&gt;
* Learn&lt;br /&gt;
** Rotators|Rotators&lt;br /&gt;
** Antennas|Antennas&lt;br /&gt;
** Understanding_satnogs-flowgraphs| Understanding SatNOGS Flowgraphs&lt;br /&gt;
** SDR_Setup| SatNOGS SDR setup&lt;br /&gt;
** Spectrum_Management | Spectrum Management and Frequency Coordination&lt;br /&gt;
** Glossary|Glossary&lt;br /&gt;
* Contact&lt;br /&gt;
** Get_In_Touch|Get In Touch&lt;br /&gt;
** https://community.libre.space|Forums&lt;br /&gt;
** Press|Press&lt;br /&gt;
* Links&lt;br /&gt;
** https://db.satnogs.org|SatNOGS DB&lt;br /&gt;
** https://network.satnogs.org|SatNOGS Network&lt;br /&gt;
** https://dashboard.satnogs.org|SatNOGS Dashboard&lt;br /&gt;
** https://community.libre.space|SatNOGS Forums&lt;br /&gt;
** https://libre.space|Libre Space Foundation&lt;br /&gt;
** https://status.libre.space|System Status&lt;br /&gt;
* SEARCH&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Glossary&amp;diff=3794</id>
		<title>Glossary</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Glossary&amp;diff=3794"/>
		<updated>2021-11-04T14:46:27Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: Glouton&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;This is a list of common terms and abbreviations used in the satellite community. __NOTOC__&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Altitude&amp;lt;/strong&amp;gt; - Sometimes referred to as elevation, is the angle between the object and the observer's local horizon. For visible objects it is an angle between 0 degrees to 90 degrees&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Attitude&amp;lt;/strong&amp;gt; - Spacecraft orientation in space, see [https://en.wikipedia.org/wiki/Attitude_control#Spacecraft_attitude_control Spacecraft Attitude Control] &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Azimuth&amp;lt;/strong&amp;gt; - The azimuth is the angle between the north vector and the perpendicular projection of the satellite (or star) down onto the horizon. Azimuth is usually measured in degrees (&amp;amp;deg;). The concept is used in navigation, astronomy, engineering, mapping, mining and artillery.&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Dashboard&amp;lt;/strong&amp;gt; -&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Decoder&amp;lt;/strong&amp;gt; -&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Demodulator&amp;lt;/strong&amp;gt; -&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Elevation&amp;lt;/strong&amp;gt; - The elevation is the angle above the horizon. Elevation is normally measured in degrees (&amp;amp;deg;).The concept is used in navigation, astronomy, engineering, mapping, mining and artillery.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Fixed Ground Station&amp;lt;/strong&amp;gt; - A ground station that uses fixed antennas that wait for the satllite to pass overhead. There are no moving parts in this system.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Glouton&amp;lt;/strong&amp;gt; - https://github.com/deckbsd/glouton-satnogs-data-downloader&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Ground Station&amp;lt;/strong&amp;gt; - A hardware and software combination that comprises primarily of a receiver, SatNOGS client and antenna. There are two main types. Fixed and Steerable.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Helical Antenna&amp;lt;/strong&amp;gt; -&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Horizontal Co-ordinate System&amp;lt;/strong&amp;gt; - Sometimes also called the az/el system, the Alt/Az system or the altazimuth system (from the name of the altazimuth mount for telescopes, whose two axes follow altitude and azimuth) is a celestial coordinate system that uses the observer's local horizon as the fundamental plane. It is expressed in terms of altitude (or elevation) angle and azimuth.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Observation&amp;lt;/strong&amp;gt; - The scheduling and vetting of a particular satellite through a specific ground station. Observations are scheduled using the SatNOGS Network&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;RTL-SDR&amp;lt;/strong&amp;gt; - A cheal USB 'dongle' based on a commonly available chipset that can be used as a broadband VHF and UHF receiver. There are a huge variety of dongles with a price ranging from $3 to $30+&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Rotator&amp;lt;/strong&amp;gt; - The Rotator is the mechanism that points the antenna at a satellite, and follows it as it passes overhead. There are multiple versions of the SatNOGS Rotator: * [[SatNOGS Rotator v1|Version 1]] * [[SatNOGS Rotator v2|Version 2]] * [[SatNOGS Rotator v3|Version 3]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;SatNOGS Client&amp;lt;/strong&amp;gt; - Software used to handle scheduling and controlling observations at the ground station&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;SatNOGS DB&amp;lt;/strong&amp;gt; - A database of all of the satellites that can be observed through the SatNOGS system. The database contains a brief explanation fo the satelitte, its transmitters and TLE's required to conduct an observation.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;SatNOGS Network&amp;lt;/strong&amp;gt; - The infrastructure based around a client and server that handles observations and the results of the obervations.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Satellite&amp;lt;/strong&amp;gt; - In the context of spaceflight, a satellite is an artificial object which has been intentionally placed into orbit. Such objects are sometimes called artificial satellites to distinguish them from natural satellites such as Earth's Moon. Satellites are used for a large number of purposes. Common types include military and civilian Earth observation satellites, communications satellites, navigation satellites, weather satellites, and research satellites. Space stations and human spacecraft in orbit are also satellites. Satellite orbits vary greatly, depending on the purpose of the satellite, and are classified in a number of ways.&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Steerable Ground Station&amp;lt;/strong&amp;gt; - A ground station that makes use of a rotator to point antennas at a satellite as it passes overhead. This set up will require a rotator.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;TLE&amp;lt;/strong&amp;gt; -&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Turnstile Antenna&amp;lt;/strong&amp;gt; -&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Yagi Antenna&amp;lt;/strong&amp;gt; -&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:Software]]&lt;br /&gt;
[[Category:Build]]&lt;br /&gt;
[[Category:Operate]]&lt;br /&gt;
[[Category:Develop]]&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_v3&amp;diff=3793</id>
		<title>SatNOGS Rotator v3</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_v3&amp;diff=3793"/>
		<updated>2021-11-01T12:13:09Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: Fix latest release name (added -pre-release suffix)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Rotator&lt;br /&gt;
|Rotator-Name=SatNOGS Rotator v3&lt;br /&gt;
|image=V3.jpg&lt;br /&gt;
|type= Az/El&lt;br /&gt;
|cost=~220 USD&lt;br /&gt;
|status= Beta&lt;br /&gt;
|latest-release= https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator/tags/v3.1-pre-release&lt;br /&gt;
|latest-release-name= v3.1-pre-release&lt;br /&gt;
|source-repo= https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator/&lt;br /&gt;
|documentation= [https://ohai.libre.space/project/satnogs-rotator-v3-mechanical-assembly/satnogs/ v3.0.1] [https://wiki.satnogs.org/SatNOGS_Rotator_v3#Build_Sequence v3.1]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
v3 marks a major re-haul of the SatNOGS Rotator design, with learnings from [[SatNOGS Rotator v2|v2]] applied. You can see a lot of the thinking and background research that was conducted prior to v3 development in this [https://community.satnogs.org/t/satnogs-rotator-version-3/226 thread]. Also in this wiki page you can also find a &amp;quot;How to build the rotator&amp;quot;, mechanical analysis and all documentation about the [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator SatNOGS rotator].&lt;br /&gt;
&lt;br /&gt;
Also in this [https://ethercalc.net/v3specs list] is presented different rotators, either commercial or DIY builds.&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''SatNOGS v3 Rotator'''&lt;br /&gt;
|-&lt;br /&gt;
|Plastic Parts||15&lt;br /&gt;
|-&lt;br /&gt;
|Non Printed Parts||38&lt;br /&gt;
|-&lt;br /&gt;
|Cost||~ $220&lt;br /&gt;
|-&lt;br /&gt;
|Controller Electronics||[[SatNOGS Rotator Controller]]&lt;br /&gt;
|-&lt;br /&gt;
|Type||AZ/EL (possible X/Y)&lt;br /&gt;
|-&lt;br /&gt;
|Motors||2x NEMA 17 Stepper or 2x DC Motors&lt;br /&gt;
|-&lt;br /&gt;
|Frame Material||Aluminum T-slot 20x20&lt;br /&gt;
|-&lt;br /&gt;
|Speed (deg/sec)||7&lt;br /&gt;
|-&lt;br /&gt;
|Torque (Nm)||?, ~30&lt;br /&gt;
|-&lt;br /&gt;
|Brake Torque (Nm)||?&lt;br /&gt;
|-&lt;br /&gt;
|Dimensions (mm)||280x140x140 (AZ/EL)&lt;br /&gt;
|-&lt;br /&gt;
|Weight (kg)||~5&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Design Goals====&lt;br /&gt;
Considering the specifications as detailed in the [https://wiki.satnogs.org/SatNOGS_Rotator_v3#Mechanical_Analysis_.5BWIP.5D Mechanical Analysis], we would also like for the 3rd version of SatNOGS rotator to be:&lt;br /&gt;
&lt;br /&gt;
*inexpensive (less than €300, if possible)&lt;br /&gt;
*lightweight and portable (~6Kg, size:~300x~150x~150mm)&lt;br /&gt;
*rigid and durable&lt;br /&gt;
*easy to build and fix (try to use easily available materials)&lt;br /&gt;
*weatherproof&lt;br /&gt;
*electromagnetically shielded, so that noise in reception is reduced&lt;br /&gt;
*accurate (&amp;lt;1deg, backlash reduction and use of encoders at the axis)&lt;br /&gt;
&lt;br /&gt;
==Sourcing==&lt;br /&gt;
&lt;br /&gt;
'''3d Printing at a Fab Lab or your local hackerspace:''' If you don't have your own 3d printer, then a local Fab Lab or hackerspace may be able to do it for you. Fab Labs and hackerspaces are places that have invested in the machinery and you can take the designs to them. Generally they need .stl files to import into the software that runs the machines, but this should be discussed with the Fab Lab or hackerspace. You then pay for the material, time or a combination of the two for each of the parts or any other agreement in place.&lt;br /&gt;
&lt;br /&gt;
*[http://www.fabfoundation.org/fab-labs FabLabs]&lt;br /&gt;
*[https://wiki.hackerspaces.org/List_of_Hacker_Spaces List of hacker spaces]&lt;br /&gt;
&lt;br /&gt;
Most people building the rotator have had success builds with simple ABS material for the 3D printing parts.&lt;br /&gt;
&lt;br /&gt;
'''T Slot''' - If you don't want to cut the pieces yourself, then you may be able to find a supplier that will do this for you.   ([http://www.kjnltd.co.uk/ Here's one in the United Kingdom].)&lt;br /&gt;
&lt;br /&gt;
Hidden corner connectors - AliExpress gave the cheapest supplier&lt;br /&gt;
&lt;br /&gt;
A good US source is [http://us.misumi-ec.com/ MISUMI-USA]; they will also cut to length.  MISUMI has several other global locations [https://www.misumi-ec.com].&lt;br /&gt;
&lt;br /&gt;
Beware, the 20-series T-slot from [https://8020.net/ 80/20 Inc.] in the US has slots that are only 5.2mm wide.  The hidden corner connectors from e.g. AliExpress '''will not fit'''.&lt;br /&gt;
&lt;br /&gt;
'''Stepper Motors''' - eBay&lt;br /&gt;
&lt;br /&gt;
'''Belts''' - eBay&lt;br /&gt;
&lt;br /&gt;
'''Fixings / Pipe''' - eBay&lt;br /&gt;
&lt;br /&gt;
====Vendors Table====&lt;br /&gt;
&lt;br /&gt;
Like the [https://reprap.org/wiki/RepRap_Buyers%27_Guide RepRap Buyers' Guide wiki], feel free to populate the table. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Vendor&lt;br /&gt;
!Location&lt;br /&gt;
!Parts&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.pololu.com/ pololu]&lt;br /&gt;
|USA, Worldwide&lt;br /&gt;
|Motors, electronics&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[http://mouser.com/ mouser]&lt;br /&gt;
|Worldwide&lt;br /&gt;
|Motors, electronics&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.ebay.com/ ebay]&lt;br /&gt;
|Worldwide&lt;br /&gt;
|Motors, electronics, Fasteners, T-Slots, pulleys, Tubes&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.aliexpress.com/ aliexpress]&lt;br /&gt;
|Worldwide&lt;br /&gt;
|Motors, electronics, Fasteners, T-Slots, pulleys, Tubes&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://grobotronics.com/ grobotronics]&lt;br /&gt;
|GR, EU&lt;br /&gt;
|Motors, electronics, Fasteners, T-Slots, pulleys&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.motedis.com/shop/index.php motedis]&lt;br /&gt;
|DE, EU&lt;br /&gt;
|T-Slots, Tubes&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://uk.misumi-ec.com/ Misumi]&lt;br /&gt;
|Worldwide&lt;br /&gt;
|T-Slots, Tubes, Fasteners, Pulleys&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.omc-stepperonline.com/ omc-stepperonline]&lt;br /&gt;
|Worldwide&lt;br /&gt;
|Stepper motors&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.fastenal.ca/ fastenal]&lt;br /&gt;
|USA&lt;br /&gt;
|Fasteners&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.mcmaster.com/ mcmaster]&lt;br /&gt;
|USA&lt;br /&gt;
|Fasteners&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.rs-online.com/ rs]&lt;br /&gt;
|Worldwide&lt;br /&gt;
|Electronics, fasteners, motors&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://8020.net/ 80/20]&lt;br /&gt;
|USA&lt;br /&gt;
|T-Slots&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.pcbway.com/ pcbway]&lt;br /&gt;
|CN&lt;br /&gt;
|PCB fabrication&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.servocity.com/ servocity]&lt;br /&gt;
|USA&lt;br /&gt;
|Motors, T-slots, fasteners&lt;br /&gt;
|Most of parts are not metric&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Build Sequence==&lt;br /&gt;
&lt;br /&gt;
====Tools &amp;amp; Consumables====&lt;br /&gt;
Here are presented tools and consumables about part fabrication, port-processing and assembly process.&lt;br /&gt;
Most of the tools are available in every hackerspace, makerspaces, FabLabs etc. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Tool/Consumable&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Drill bits&lt;br /&gt;
|2mm for aluminum, 3mm, 4mm and 5mm for plastic&lt;br /&gt;
|-&lt;br /&gt;
|Drill driver&lt;br /&gt;
|For aluminum tube drill hole, 3D printed part&lt;br /&gt;
|-&lt;br /&gt;
|Sandpaper&lt;br /&gt;
|80(dry), 120(dry), 240(dry) and 1000(wet) grit&lt;br /&gt;
|-&lt;br /&gt;
|Acetone&lt;br /&gt;
|For acetone vapor bath&lt;br /&gt;
|-&lt;br /&gt;
|Hacksaw&lt;br /&gt;
|For aluminum Tube&lt;br /&gt;
|-&lt;br /&gt;
|Square File&lt;br /&gt;
|For worm axis, for use on steel&lt;br /&gt;
|-&lt;br /&gt;
|Precision Knife&lt;br /&gt;
|For general use, especially in 3d-Printed parts&lt;br /&gt;
|-&lt;br /&gt;
|Caliper&lt;br /&gt;
|Measuring Range 0-150mm&lt;br /&gt;
|-&lt;br /&gt;
|Combination Wrenches&lt;br /&gt;
|5.5mm, 7mm and 8mm&lt;br /&gt;
|-&lt;br /&gt;
|Thread-locker&lt;br /&gt;
|Like Loctite 271&lt;br /&gt;
|-&lt;br /&gt;
|Cyano acrylic glue&lt;br /&gt;
|Like Loctite 401&lt;br /&gt;
|-&lt;br /&gt;
|Screw driver&lt;br /&gt;
|Number 1 Phillips&lt;br /&gt;
|-&lt;br /&gt;
|Heat Gun&lt;br /&gt;
|For Heat-shrinkables or use a lighter&lt;br /&gt;
|-&lt;br /&gt;
|Ball-End L-Keys&lt;br /&gt;
|Hex 1.5mm, 2mm, 2.5mm, and 3mm&lt;br /&gt;
|-&lt;br /&gt;
|Soldering iron and consumables&lt;br /&gt;
|For cables&lt;br /&gt;
|-&lt;br /&gt;
|Wire Cutter&lt;br /&gt;
|For cables&lt;br /&gt;
|-&lt;br /&gt;
|Long-Nose Plier&lt;br /&gt;
|General purpose&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Parts====&lt;br /&gt;
Make sure you have all parts, according to [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator/blob/master/rotator-bom.ods BOM].&lt;br /&gt;
&lt;br /&gt;
Most of the parts could be fabricated by a FDM 3D-printer. Some parts have only 2D geometry so could be&lt;br /&gt;
fabricated by a laser cutter. Other parts have modifications of common(hardware) parts like threaded rods or&lt;br /&gt;
aluminum pipes. Also you could find a lot of guides for [https://www.3dhubs.com/knowledge-base/post-processing-fdm-printed-parts post processing for FDM printed parts].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200&amp;quot; heights=&amp;quot;200&amp;quot; perrow=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
File:C1001.png|C1001, Aluminum Tube 6063 OD40mm TH1.5mm L240mm, 2 variants -1 and -3&lt;br /&gt;
File:C1010-3.png|C1010-3, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
File:C1011-3.png|C1011-3, laser cut in 3mm Acrylic Sheet or in FDM-3Dprinter with same fabrication parameters as C1010-3&lt;br /&gt;
File:C1020-1.png|C1020-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material, [http://sinkhacks.com/building-acetone-vapor-bath-smoothing-3d-printed-parts/ Smoothing the part with acetone vapor bath]&lt;br /&gt;
File:C1021-1.png|C1021-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material, [http://sinkhacks.com/building-acetone-vapor-bath-smoothing-3d-printed-parts/ Smoothing the part with acetone vapor bath], [https://community.libre.space/t/version-3-1-stepper-varient-with-v2-controller/1430/5 Imperial variant], [https://community.libre.space/t/help-to-buy-metric-tubing-for-v3-rotator/784/6 tool that helps to build imperial part]&lt;br /&gt;
File:C1022-3.png|C1022-3, laser cut in 3mm Acrylic Sheet or in FDM-3Dprinter with same fabrication parameters as C1010-3&lt;br /&gt;
File:C1030-1.png|C1030-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
File:C1040-1.png|C1040-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material, [https://community.libre.space/t/version-3-1-stepper-varient-with-v2-controller/1430/5 Imperial variant], [https://community.libre.space/t/help-to-buy-metric-tubing-for-v3-rotator/784/6 tool that helps to build imperial part]&lt;br /&gt;
File:C1041-1.png|C1041-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material, [https://community.libre.space/t/version-3-1-stepper-varient-with-v2-controller/1430/5 Imperial variant], [https://community.libre.space/t/help-to-buy-metric-tubing-for-v3-rotator/784/6 tool that helps to build imperial part]&lt;br /&gt;
File:C1042-1.png|C1042-1, laser cut in 3mm Acrylic Sheet or in FDM-3Dprinter with same fabrication parameters as C1010-3&lt;br /&gt;
File:C1043-1.png|C1043-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], Support material, Brim Width: 2 mm&lt;br /&gt;
File:C1050.png|C1050, Aluminum Profile 20x20 B-type slot 6, 2 variants -1 and -5&lt;br /&gt;
File:C1060-1.png|C1060-1, M5 Threaded rod A2 stainless steel(304)&lt;br /&gt;
File:C1061.png|C1061, 2 variants -5 and -6, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
File:C1062-1.png|C1062-1, It is recommended to build in laser sintering like Shapeways with White Versatile Plastic (cost ~10€) or like C1030-1 and [http://sinkhacks.com/building-acetone-vapor-bath-smoothing-3d-printed-parts/ Smoothing the part with acetone vapor bath]&lt;br /&gt;
File:C1070-1.png|C1070-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
File:C1071-1.png|C1071-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
File:C1072-1.png|C1072-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
File:C1083-1.png|C1083-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
File:C1080-3 2.png|C1080-3, Cover Box bottom part, galvanized steel sheet, thickness 0.5mm&lt;br /&gt;
File:C1081-3 2.png|C1081-3, Cover Box top part, galvanized steel sheet, thickness 0.5mm&lt;br /&gt;
File:C1082-5.png|C1082-5, Cover Box side part, galvanized steel sheet, thickness 0.5mm&lt;br /&gt;
File:C1084-1.png|C1084-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Assembly====&lt;br /&gt;
Follow the [https://ohai.satnogs.org/project/satnogs-rotator-v3-mechanical-assembly/hardware/ instructions for mechanical assembly] and also you can [https://www.youtube.com/watch?v=D6P9HK23Gmo watch timelapse]&lt;br /&gt;
Also, exploded views and instructions are present here.&lt;br /&gt;
&lt;br /&gt;
{{Message|&lt;br /&gt;
Prior to Step 8, the rotary encoders must be ready and prior to Step 11 the motor must be mounted in A1070-1. For the rotary encoder assembly look at the next section [https://wiki.satnogs.org/SatNOGS_Rotator_v3#Rotator_Controller Rotator_Controller].}}&lt;br /&gt;
&lt;br /&gt;
Some notes for assembly:&lt;br /&gt;
&lt;br /&gt;
*Resolve collision between of end-stop arm and C1042-1 end-stop mount, [https://community.libre.space/t/rotator-3-1-end-stop-switch-mounting/3463 community post]&lt;br /&gt;
*[https://community.libre.space/t/rotator-3-1-worm-gear-issues/1858/7 Running the worm gear] and [https://community.libre.space/t/rotator-3-1-worm-gear-issues/1858/9 lapping the worm gear] to get gear box running smooth&lt;br /&gt;
*[https://community.libre.space/t/stepper-motor-bolts-v3-1/3388 Collision between bolts and motor], this issue can be created by using wrong M4 screws(H1100-5) and washers(H1110-1)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;180&amp;quot; heights=&amp;quot;180&amp;quot; perrow=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
File:A1010-1.png|Step 1, Prepare the assembly of worm gear&lt;br /&gt;
File:A1011.png|Step 2, Prepare the assembly of worm gear mount, 2 variants -1 and -2 (mirror)&lt;br /&gt;
File:A1020-1.png|Step 3, Prepare the assembly of shaft collar for worm wheel&lt;br /&gt;
File:A1033-1.png|Step 4, Prepare the encoder gear&lt;br /&gt;
File:A1070-1.png|Step 5, Prepare the Motor mount&lt;br /&gt;
File:A1060-1.png|Step 6, In case of DC motor configuration&lt;br /&gt;
File:A1031-1.png|Step 7, Bearing side without encoder and end-stop mounts&lt;br /&gt;
File:A1032-1.png|Step 8, Bearing side with encoder and end-stop mounts&lt;br /&gt;
File:A1030.png|Step 9, Prepare symmetric and asymmetric axis, 2 variants -1 and -3&lt;br /&gt;
File:A1001-3.png|Step 10, Frame with worm gear mount and A1001-1 assembly&lt;br /&gt;
File:A1040.png|Step 11, Rotator module 2 Variants -1 and -3, symmetric and asymetric  [[:File:Tip for Step 11 (A1040) -- Note 10 - use of M5 Nuts to attach Drill.jpg|(Assembly Tip - Note 10:Jam two M5 nuts together at end of shaft to easily run gearbox manually)]]&lt;br /&gt;
File:A1050-1.png|Step 12, Final step of Antenna Rotator&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Rotator Controller====&lt;br /&gt;
The default way of controlling the rotator is to use the [[SatNOGS Rotator Controller]].This works for both stepper motor and DC motor set ups (Note: If you are uing the [https://wiki.satnogs.org/SatNOGS_Rotator_Controller#Encoders the rotary encoders] these will need to be set up). An alternative is to use the [[SatNOGS_Arduino_Uno/CNC_Shield_Based_Rotator_Controller]], whih has been used as a stand alone set up for use with GPredict. &lt;br /&gt;
&lt;br /&gt;
It's also possible to use a standard 3d printing RAMPs 1.4 board as an alternative, though note that these are designed for steppers which may cause extra RF noise. A RAMPs 1.4 [https://github.com/TheSkorm/satnogs-rotator-ramps14 firmware] has been developed. &lt;br /&gt;
&lt;br /&gt;
====Cover Box - Cabling====&lt;br /&gt;
Prepare the cover box and install it to antenna rotator with rotator controller and cables.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200&amp;quot; heights=&amp;quot;200&amp;quot; perrow=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
File:Cover_box_1.JPG| Put the C1080-3 with screws M4 L10 DIN912, C1084-1 and washers M4 DIN125 to the azimuth module. The screw with the Phillips Rounded Head Screws For Sheet Metal, M3,5 X 6,5, DIN 7981,INOX A2, C1082-5 to the C1080-3 and put the C1083-1. Note screw only the middle screw.&lt;br /&gt;
File:Power_cable_1.JPG| The power - data cable must be passed inside the azimuth axis. This solution is tested [https://network.satnogs.org/stations/200/ in station 200] without problem.&lt;br /&gt;
File:Power_cable_2.JPG| In the other side of power cable must be installed a connector with  4 terminals and waterproof like [https://grobotronics.com/connector-sp-4-pin-male.html Weipu - SP1310/P4I]. Also it is needed to have the female connector for cable that connected to the client. For cheaper solution use a bigger cable to connect the rotator with client and power source.&lt;br /&gt;
File:Other_cables_2.JPG|The 3 CAT5e UTP cables are 2x sensors (encoders - end stops) 1x power and data (RS-485). For color code use [https://en.wikipedia.org/wiki/Power_over_Ethernet#Pinouts 802.3af Standards A and B] from the power sourcing equipment perspective.&lt;br /&gt;
File:Other_cables_3.JPG|The other cables are for DC motor or stepper motors. In each side of the CAT5e UTP cables must be put a Heat-shrinkable asreferred in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator/blob/master/rotator-bom.ods BOM]. Also a Heat-shrinkable must be putin the cable gland in rotator controller for motor cables.&lt;br /&gt;
File:Other_cables_1.JPG|Pass all the cables though the hole in the bottom of C1080-3 &lt;br /&gt;
File:Motor_ferrite_bead.JPG|Add ferrite beads for motor cables, dimensions L25mm and OD 13mm&lt;br /&gt;
File:Velcro_for_controller_1.JPG|Add velcro to mount the rotator controller outside the box. Velcro tape specifications: Heavy duty, stick on, max 7Kg, 50mm x 100mm. The tape might be used to mount [https://wiki.satnogs.org/No_rotator client box]  in the rotator.&lt;br /&gt;
File:Rotator_controller_1.JPG| Cabling management inside the rotator controller. The controller is mounted to the rotator by using a tape as mentioned previously.&lt;br /&gt;
File:Rotator controller 2.JPG| Cabling management outside the rotator controller&lt;br /&gt;
File:Testing_1.JPG| The rotator is ready for testing, before the final step do not put the C1081-3, in order to most of components must be accessible&lt;br /&gt;
File:Testing 2.JPG| The final step. If everything is working properly, must be put the C1081-3 by using sheet metal screws as mentioned previously. In this step if the holes of C1081-3 are not aligned with the holes of the other two parts, C1082-5 and C1080-3, drill new holes and screw them, take a look in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator/issues/73 issue 73]. Put stickers!!!!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Testing====&lt;br /&gt;
You are ready! Proceed with [https://wiki.satnogs.org/SatNOGS_Rotator_Controller#Troubleshooting_hints testing].&lt;br /&gt;
&lt;br /&gt;
====Heading Calibration====&lt;br /&gt;
The heading calibration is a manual process:&lt;br /&gt;
&lt;br /&gt;
*Power the rotator, it starts moving in order to find the home position, to find the end-stops&lt;br /&gt;
*Remove the power from the rotator, the rotator is in home position&lt;br /&gt;
*Install the rotator to vertical axis by using U-Bolt clamps&lt;br /&gt;
*The azimuth axis it must be heading to the North, this is achieved by using a compass (e.g. from smart phone)&lt;br /&gt;
*Secure the rotator in the vertical axis&lt;br /&gt;
*Install the elevation axis with the same process, now the zero elevation is achieved by using a pocket level&lt;br /&gt;
*Secure the elevation axis&lt;br /&gt;
*In the case of wrong rotation:&lt;br /&gt;
**For stepper motors swap a pair of two stepper motor cables ([https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/issues/15 it exists an open issue to be done by a command])&lt;br /&gt;
**For DC motors, [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/commit/961fb696536e35642f2b7064cc3c64676ebebb17 change the sign of encoder reading], it is a hacky method but it would be resolved by [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/issues/15 this issue]&lt;br /&gt;
&lt;br /&gt;
====Counterweight for Antenna====&lt;br /&gt;
It is necessary to balance the antenna in elevation and azimuth axis in order to not wear the gear box of rotator. In elevation axis would be done either by using back mounted antennas or by mounting the center of antenna mass in the mast. For a back mounted antenna, it is necessary to use counter-balance weights. An idea is to use weights that is used for training (it's cheap). The parts that used to mount weights to [https://www.wimo.com/en/x-quad X-quad antenna] are this [https://gitlab.com/librespacefoundation/satnogs/satnogs-hardware-misc/-/tree/master/mount-counterweight 3D printing part], a square aluminum profile 15x15 mm, weights with inner hole D28mm and M5 hex nuts DIN934 with M5 screws DIN912 L12 stainless steel to lock the weights in specific distance. Another way to [https://community.libre.space/t/quartapounds-satnogs-rotator-v3-1/3453/57 balance the antenna].&lt;br /&gt;
&lt;br /&gt;
[[File:Counter-weight.jpg|thumb|center|800x420px|alt=|Counterweights]]&lt;br /&gt;
&lt;br /&gt;
==Mechanical Analysis [WIP]==&lt;br /&gt;
&lt;br /&gt;
====Brake Torque====&lt;br /&gt;
The greatest force the tracker needs to withstand is the force created by strong wind. The worst case is when one antenna is elevated at 90 degs, facing the direction of the wind. We based our calculations on an [http://k7nv.com/notebook/topics/windload.html article] found online after comparing it to others. We “translated” the second table in metric (because we don’t understand imperial and because we needed same units system in our calculations)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Method&lt;br /&gt;
!Wind Zone(km/h)&lt;br /&gt;
!Height (m)&lt;br /&gt;
!Pressure(N/m^2)&lt;br /&gt;
|-&lt;br /&gt;
|EIA-222-C&lt;br /&gt;
|160&lt;br /&gt;
|N/A&lt;br /&gt;
|1280&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|EIA-222-F&lt;br /&gt;
|128&lt;br /&gt;
|14&lt;br /&gt;
|1260&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|EIA-222-F&lt;br /&gt;
|128&lt;br /&gt;
|21&lt;br /&gt;
|1390&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|EIA-222-F&lt;br /&gt;
|128&lt;br /&gt;
|30&lt;br /&gt;
|1500&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|UBC'97&lt;br /&gt;
|128&lt;br /&gt;
|14&lt;br /&gt;
|1290&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|UBC'97&lt;br /&gt;
|128&lt;br /&gt;
|21&lt;br /&gt;
|1160&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|UBC'97&lt;br /&gt;
|128&lt;br /&gt;
|21&lt;br /&gt;
|1390&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|UBC'97&lt;br /&gt;
|128&lt;br /&gt;
|30&lt;br /&gt;
|1260&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|UBC'97&lt;br /&gt;
|128&lt;br /&gt;
|42&lt;br /&gt;
|990&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|UBC'97&lt;br /&gt;
|128&lt;br /&gt;
|42&lt;br /&gt;
|1360&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Generic Formula&lt;br /&gt;
|150&lt;br /&gt;
|N/A&lt;br /&gt;
|1270&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
and we applied the worst case model (EIA-222-F) in 3 different antennas: in the biggest one of our designs, and in two others, for which we obtained data from [http://download.qrz.ru/pub/hamradio/antenna/rotators/G-800SA_1000SA.pdf yaesu G800 rotator manual at page 3]. We assumed that antennas are mounted in 1m away from the azimuth axis. For our antenna with 2m length (actual, not wavelength), made by 2cm square tube, the generated torque was ≈600Kg*cm. For the 144MHz 10-elements Yagi from the article is ≈6000Kg*cm and for the third 430MHz, 12-elements Yagi is ≈1800Kg*cm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Moment of inertia====&lt;br /&gt;
Now for the moment of inertia: (for all installation methods we assumed that antennas are counterbalanced in the elevation axis) the worst case scenario here is to use two 3kg (our designs are less than 1kg) back mounted yagis with 3kg counterbalances both mounted in 0.75m away from azimuth axis. The torque you need in order to accelerate this system from ω=0deg/s angular velocity to ω=5deg/s (the math about angular velocity is below) in one second is about 60kg*cm.&lt;br /&gt;
&lt;br /&gt;
Note: we suppose that the mass of antennas is near to the altitude axis, so the torque of this axis that is needed to accelerate is approximately 0.&lt;br /&gt;
&lt;br /&gt;
*M1: torque of Azimuth axis&lt;br /&gt;
*L: length of center of mass of antennas from azimuth axis (0.75m)&lt;br /&gt;
*m: mass of antennas and of counterweight (3kg + 3kg = 6kg)&lt;br /&gt;
*I: moment inertia&lt;br /&gt;
*a: angular acceleration of azimuth axis 5deg/s^2&lt;br /&gt;
*I = I1 + I2 = m*L^2 + m*L^2 = 2*m*L^2 = 6.75 kg*m^2&lt;br /&gt;
*M1 = I*a = 6.75kgm^2 * 0.087rad/s^2 = 0.58 Nm = 5.8 kgm = 58 kgcm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Angular velocity====&lt;br /&gt;
(How well do you remember trigonometry?)For the angular velocity max needed in altitude axis the things are straightforward. The closer is the satellite the larger the velocity. According to the wikipedia article about LEO, the lowest height limit is 160 km and the speed unit to orbit earth in this altitude is 7,8 km/s. As a result, maximum velocity in ALT axis is 2,8 deg/s. In ALT AZ rotator design there is a well known limitation: the closer something passes near zenith the biggest gets the velocity of the AZ axis. Therefore, we have analyzed this problem to figure out the optimal velocity and how high we are allowed to track a target in relation to AZ velocity. The picture below illustrates a ground station B which tracks a satellite Γ in X degrees altitude. The satellite velocity at this point is vertical to the screen (page) plane.&lt;br /&gt;
&lt;br /&gt;
[[File:Anglular_velocity.png|thumb|center|800x420px|alt=|Angular Velocity]]&lt;br /&gt;
&lt;br /&gt;
The equations that lead to maximum altitude at which we can track in relation to AZ angular velocity are&lt;br /&gt;
&lt;br /&gt;
*ω : angular velocity of AZ DOF in rad/s&lt;br /&gt;
*H = ΑΕ + ΕΓ : Minimum Height of LEO, 160 km&lt;br /&gt;
*R = ΑΕ : Radius of Earth, 6500 km&lt;br /&gt;
*u : linear velocity of satellite that rotates in 160km height is 7.8 km/s&lt;br /&gt;
*ΒΔ = u / ω : ΒΔ in km&lt;br /&gt;
*α = atan(ΒΔ / R)&lt;br /&gt;
*δ = π - α&lt;br /&gt;
*γ = asin( sqrt(R^2+ΒΔ^2) * sin(δ) / (H+R) )&lt;br /&gt;
*ά = π - δ - γ&lt;br /&gt;
*ΓΔ = (H+R) * sin(ά) / sin(δ)&lt;br /&gt;
*χ = atan(ΓΔ / ΒΔ)&lt;br /&gt;
&lt;br /&gt;
Below you can see the plot of the equations mentioned above, where horizontal axis represents angular velocity (ω) in deg/s and vertical axis shows the max track altitude (χ) for lower bound of LEO.&lt;br /&gt;
&lt;br /&gt;
[[File:Anglular_velocity_plot.png|thumb|center|800x420px|alt=|Angular Velocity Plot]]&lt;br /&gt;
&lt;br /&gt;
After studying this diagram, we came up to the conclusion that an angular velocity of 5 deg/s is adequate. For this decision, we took into consideration the main lobe of antenna (Δ3db) which in most situations is about 20 deg.&lt;br /&gt;
&lt;br /&gt;
====Pulleys/Belts/Gearing====&lt;br /&gt;
Horizontal distance between pulleys (P1, P2) is 58mm.&lt;br /&gt;
Vertical distance between pulleys (P1, P2) is w = 9.5mm.&lt;br /&gt;
&lt;br /&gt;
Pulleys and Belt are GT2, 2mm pitch. &lt;br /&gt;
Belt width, 6mm. &lt;br /&gt;
Belt thickness, 1.38mm (0.76 tooth). &lt;br /&gt;
&lt;br /&gt;
Wrap angle in both pulleys is larger than 60deg. &lt;br /&gt;
At least 6 teeth in contact with the pulley at any given time. &lt;br /&gt;
In practice that means you want a minimum of a 12 tooth pulley, and usually try to get at least 18 teeth. &lt;br /&gt;
&lt;br /&gt;
Outer Diameter of pulleys:&lt;br /&gt;
&lt;br /&gt;
P(T) | OD(mm) &amp;lt;br /&amp;gt;&lt;br /&gt;
16   | 10.2 &amp;lt;br /&amp;gt;&lt;br /&gt;
20   | 12.7 &amp;lt;br /&amp;gt;&lt;br /&gt;
36   | 22.9 &amp;lt;br /&amp;gt;&lt;br /&gt;
40   | 25.5 &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Belt calculation (according to calculator):&lt;br /&gt;
&lt;br /&gt;
Ratio    | P1(T)   | P2(T)   | Belt(T) | L(mm)  &amp;lt;br /&amp;gt;&lt;br /&gt;
2.25|16|36|85/86|58.65/59.66  &amp;lt;br /&amp;gt;&lt;br /&gt;
1.8|20|36|86/87/88|57.78/58.78/59.78  &amp;lt;br /&amp;gt;&lt;br /&gt;
2.5|16|40|87/88|58.5/59.5 &amp;lt;br /&amp;gt;&lt;br /&gt;
2|20|40|89/90|58.65/59.66 &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Motor Maximun no-load speed, 200RPM = 1200deg/s &lt;br /&gt;
Motor Maximum stall-torue, 1.2Nm &lt;br /&gt;
&lt;br /&gt;
[[File:Motor_perfomance_graph.png|thumb|center|800x420px|alt=|Angular Velocity]]&lt;br /&gt;
&lt;br /&gt;
Position of idler do not care, or min 1.3*P1, max 1.5*P1 (for 20T, ~16mm/~20mm).&lt;br /&gt;
&lt;br /&gt;
Belt gear selection:&lt;br /&gt;
&lt;br /&gt;
*20/36 with 1.8 ratio and 86T/172mm belt without idler&lt;br /&gt;
*20/40 with 2 ratio and 90T/190mm belt with idler&lt;br /&gt;
&lt;br /&gt;
To calculate Deflection force, (page T-31, sdp - design-guidelines)&lt;br /&gt;
&lt;br /&gt;
*Y = 2.05, Tst = 1.3kg&lt;br /&gt;
*span length, t = 57.64mm&lt;br /&gt;
*Belt pitch length, L = 180mm&lt;br /&gt;
*Fd,min =&lt;br /&gt;
*Fd,max =&lt;br /&gt;
*2.8kg Working Tension [shapeoko - Belts and Pulleys](https://www.shapeoko.com/wiki/index.php/Belts_and_Pulleys#Tensile_Cord_Materials)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   P3  &amp;lt;br /&amp;gt;&lt;br /&gt;
  /  \  &amp;lt;br /&amp;gt;&lt;br /&gt;
 P1  P2  &amp;lt;br /&amp;gt;&lt;br /&gt;
     |  &amp;lt;br /&amp;gt;&lt;br /&gt;
     P4-P5  &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Determination of design load&lt;br /&gt;
&lt;br /&gt;
According to perfomance graph of DC motor, the optimal output power is Tm = 0.6Nm  with efficiency of 0.2 and 100RPM = 600deg/s. &lt;br /&gt;
Select a service factor of 1.5 (service factors between 1.5 and 2.0 are generally recommended when&lt;br /&gt;
designing small pitch synchronous drives). &lt;br /&gt;
Tpeak = SF*Tm = 1.5*0.6 = 0.9Nm &lt;br /&gt;
&lt;br /&gt;
*Choice of belt pitch&lt;br /&gt;
&lt;br /&gt;
Due to backslash and accuracy in both directions of movements and volume constrains, we choose GT2, pitch 2mm.&lt;br /&gt;
&lt;br /&gt;
*Check belt pitch selection based on individual graphs&lt;br /&gt;
&lt;br /&gt;
Due to Tpeak = 0.9Nm No-load speed,(Speed of fastest shaft) = 100RPM = 600deg/s &lt;br /&gt;
GT2 pitch 2mm belt is the better solution for our application. &lt;br /&gt;
&lt;br /&gt;
*Determine speed ratio&lt;br /&gt;
&lt;br /&gt;
Speed ratio 1.8-2.25 according to specification of output rotation speed of 5deg/s.&lt;br /&gt;
&lt;br /&gt;
*Check belt speed&lt;br /&gt;
&lt;br /&gt;
V(m/s) = 0.0000524 x pulley PD (mm) x pulley rpm = 0.066548m/s &lt;br /&gt;
Belt speeds up to 6,500 fpm (33.02 m/s) do not require special pulleys. &lt;br /&gt;
&lt;br /&gt;
*Determine belt length&lt;br /&gt;
&lt;br /&gt;
Table 'Belt calculation (according to calculator)'&lt;br /&gt;
Teeth in mesh: 9&lt;br /&gt;
&lt;br /&gt;
*Determine the belt width&lt;br /&gt;
&lt;br /&gt;
From Table 43 &lt;br /&gt;
torque = 0.17Nm &lt;br /&gt;
Length Correction Factor = 0.9 &lt;br /&gt;
width multiplier = 1.00 &lt;br /&gt;
torque*Length Correction Factor*width multiplier = 0.17*0.9*1.00 = 0.153Nm &lt;br /&gt;
Teeth in mesh: 9 &lt;br /&gt;
Tpeak = 0.9Nm, so belt width is nice for our application &lt;br /&gt;
&lt;br /&gt;
*Check the number of teeth in mesh&lt;br /&gt;
&lt;br /&gt;
Teeth in mesh: 9 according to calculator &lt;br /&gt;
&lt;br /&gt;
*Determine proper belt installation tension&lt;br /&gt;
&lt;br /&gt;
SECTION 10, on page T50, look at 'To calculate Deflection force, (page T-31, sdp - design-guidelines)' &lt;br /&gt;
&lt;br /&gt;
*Y = 2.05, Tst = 0.812*DQ/d + mS^2 = 12.8lb + 0 = 5.8kg&lt;br /&gt;
*DQ = Tpeak = 0.9Nm = 7.9lb-in&lt;br /&gt;
*d = 12.7mm = 0.5in&lt;br /&gt;
*S = (0.5*100/3.82)/1000 = 0.0131ft/min&lt;br /&gt;
*m = 0.039&lt;br /&gt;
*span length, t = sqrt(CD^2 - (PD-pd/2)^2) = 57.64mm&lt;br /&gt;
*Belt pitch length, L = 180mm&lt;br /&gt;
*t/L = 0.32&lt;br /&gt;
*Fd,min = 0.8lb = 0.36kg&lt;br /&gt;
*Fd,max = 0.9lb = 0.41kg&lt;br /&gt;
&lt;br /&gt;
*Safety factor 1.5&lt;br /&gt;
&lt;br /&gt;
*P2 timing pulley torque - Maximum radial load of timing belt ball bearing 625zz&lt;br /&gt;
&lt;br /&gt;
Tpeak = 0.9Nm &lt;br /&gt;
TorqueP2 = 2*0.9Nm = 1.8Nm, PDp2 = 25.5mm &lt;br /&gt;
Radial static load of 625ZZ is 0.38kN &lt;br /&gt;
T-39&lt;br /&gt;
&lt;br /&gt;
*Maximum thrust load of timing belt ball bearing 625zz&lt;br /&gt;
&lt;br /&gt;
*Maximum radial and thrust load of output ball bearings 6008zz&lt;br /&gt;
&lt;br /&gt;
Calculate or evaluate correct loads for deep groove ball bearings&lt;br /&gt;
radial static load = 11.6kN &lt;br /&gt;
thrust static load = 0.7*11.6kN = 8.12kN &lt;br /&gt;
This type of construction permits the bearings to support relatively high thrust load in either direction. &lt;br /&gt;
In fact the thrust load capacity is about 70% of the radial load capacity. A ball bearing primarily  designed &lt;br /&gt;
to support radial load can also support high thrust load; because only few balls carry the radial load, &lt;br /&gt;
whereas all the balls can withstand the thrust load. &lt;br /&gt;
&lt;br /&gt;
*Maximum self-locking or back-drivable torque of gear box (according to more weak component)&lt;br /&gt;
&lt;br /&gt;
It necessary to achieve [specs](https://community.libre.space/t/satnogs-rotator-version-3/226), 60Nm (6Kg in 1 meter)&lt;br /&gt;
&lt;br /&gt;
*Nominal torque of drivable torque of gear box (according to more weak component) and maximum rotational speed of gear box&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
*[https://sdp-si.com/eStore/CenterDistanceDesigner sdp distance calculator]&lt;br /&gt;
*[http://www.ebay.com/itm/2GT-Timing-Belt-L-172-232-240-244-640-810-GT2-Belts-closed-loop-5pcs-lot-/221977955532?var=&amp;amp;hash=item33aeeacccc:m:me5GvSt_amrm6RWT03Ut4JA belt GT2-6mm wide, 172mm]&lt;br /&gt;
*[https://www.ebay.com/itm/2GT-GT2-synchronous-Timing-belt-Perimeter-98-194mm-width-6-9mm-Cogged-close-loop/222574382655?ssPageName=STRK%3AMEBIDX%3AIT&amp;amp;var=521434616407&amp;amp;_trksid=p2060353.m2749.l2649 belt GT2-6mm wide, 180mm]&lt;br /&gt;
*[http://www.ebay.com/itm/5pcs-Timing-Pulley-GT2-Idler-16-20T-gear-Bearing-Reprap-6mm-Belt-3-5mm-Bore-3D-/132195520937?var=&amp;amp;hash=item1ec77791a9:m:mljSYBViBlKOgXr3Gy-u0Tg idler pulley, no-teeth-ID3mm-OD18mm]&lt;br /&gt;
*[http://www.brecoflex.com/products/pulleys/design-guidelines/ brecoflex - design-guidelines]&lt;br /&gt;
*[http://www.shreegeeimpex.com/TECH_DATA_PAG/idlers_ten.htm shreegeeimpex - design-guidelines]&lt;br /&gt;
*[http://www.sdp-si.com/PDFS/Technical-Section-Timing.pdf sdp - design-guidelines]&lt;br /&gt;
&lt;br /&gt;
====Motor Specification====&lt;br /&gt;
&lt;br /&gt;
General Specification about motors. The voltage and current consumption also it depends from the motor controller which is (maybe) different&lt;br /&gt;
from [https://wiki.satnogs.org/SatNOGS_Rotator_Controller SatNOGS Rotator Controller].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Specification&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|Min-Max Stall Torque (Nm)&lt;br /&gt;
|0.4 - 1.5&lt;br /&gt;
|-&lt;br /&gt;
|Min-Max Speed (RPM)&lt;br /&gt;
|100 - 200&lt;br /&gt;
|-&lt;br /&gt;
|Size (mm) (LxWxH)&lt;br /&gt;
|47x42x64&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200&amp;quot; heights=&amp;quot;200&amp;quot; perrow=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
File:Motor mount dimensions.png|Motor mount dimensions&lt;br /&gt;
File:Max motor height.png|Maximum Motor Height&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Worm Gear Box Calculations====&lt;br /&gt;
&lt;br /&gt;
*Gear ratio: i12 = 30&lt;br /&gt;
*Angle between axis of gears: δ = 90 deg&lt;br /&gt;
*Number of threads in worm: If i12 &amp;gt;= 30 then z1 = 1&lt;br /&gt;
*Number of teeth in worm wheel: z2 = i12*z1 = 30&lt;br /&gt;
*Center distance: initial case a = 45.5 mm&lt;br /&gt;
*Worm reference diameter: AGMA d01&amp;gt;= 11.5*(a/25.4)^0.875 = 19.15 mm, so d01 = 19.5mm&lt;br /&gt;
*Worm wheel reference: d02 = 2*a - d01 = 71.5 mm&lt;br /&gt;
*Axial module: ms = d02/z2 = 2.38 , so ms = 2.5&lt;br /&gt;
&lt;br /&gt;
Recalculate d02, a with new axial module&lt;br /&gt;
&lt;br /&gt;
*d02 = z2*ms = 75mm, a = (d02+d01)/2 = 47.25mm&lt;br /&gt;
*Axial pitch: ts = π*ms = 7.854mm&lt;br /&gt;
*Reference lead angle: γ0 = atan(d02/(i12*d01)) = 7.3 deg&lt;br /&gt;
*Worm tip diameter: dk1 = d01 + 2*hk = 24.5mm&lt;br /&gt;
**Worm teeth reference addendum in axial section: hk = hk* *ms = 2.5mm&lt;br /&gt;
**Worm tooth reference addendum coefficient: hk* = 1&lt;br /&gt;
*Worm root diameter: df1 = d01 - 2*hf = 13.5mm&lt;br /&gt;
**Worm tooth reference dedendum: hf = hf* _ms = 1.2_ms = 3mm&lt;br /&gt;
**Dedendum coefficient: hf* = 1.2&lt;br /&gt;
*Worm length: L = 2.5_ms_sqrt(z2+2) = 35.36mm&lt;br /&gt;
*Worm tooth thickness: smx1 = smx1* * ts = 3.927mm&lt;br /&gt;
**Tooth thickness coefficient: smx1* = 0.5&lt;br /&gt;
*Normal pressure angle: aon = 20 deg&lt;br /&gt;
*Worm wheel throat diameter: dk2 = d02+2*hk = 80mm&lt;br /&gt;
*Worm wheel root diameter: df2 = d02 - 2*hf = 69mm&lt;br /&gt;
*Worm wheel outside diameter: de2 = dk2 + 2*mx = 83.5mm&lt;br /&gt;
**Worm wheel tooth external addendum: mx = n*ms, 0.4&amp;lt;=n&amp;lt;=1.5&lt;br /&gt;
*Effective worm wheel face width: b2H,max = sqrt((2_a - df2)^2 - (2_a - de2)^2) = 23mm&lt;br /&gt;
&lt;br /&gt;
[[Category:Build]]&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:Rotator]]&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_v3&amp;diff=3792</id>
		<title>SatNOGS Rotator v3</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_v3&amp;diff=3792"/>
		<updated>2021-10-26T13:54:55Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: Fix broken URL to v3.0.1 documentation (OHAI)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Rotator&lt;br /&gt;
|Rotator-Name=SatNOGS Rotator v3&lt;br /&gt;
|image=V3.jpg&lt;br /&gt;
|type= Az/El&lt;br /&gt;
|cost=~220 USD&lt;br /&gt;
|status= Beta&lt;br /&gt;
|latest-release= https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator/tags/v3.1-pre-release&lt;br /&gt;
|latest-release-name= v3.1&lt;br /&gt;
|source-repo= https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator/&lt;br /&gt;
|documentation= [https://ohai.libre.space/project/satnogs-rotator-v3-mechanical-assembly/satnogs/ v3.0.1] [https://wiki.satnogs.org/SatNOGS_Rotator_v3#Build_Sequence v3.1]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
v3 marks a major re-haul of the SatNOGS Rotator design, with learnings from [[SatNOGS Rotator v2|v2]] applied. You can see a lot of the thinking and background research that was conducted prior to v3 development in this [https://community.satnogs.org/t/satnogs-rotator-version-3/226 thread]. Also in this wiki page you can also find a &amp;quot;How to build the rotator&amp;quot;, mechanical analysis and all documentation about the [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator SatNOGS rotator].&lt;br /&gt;
&lt;br /&gt;
Also in this [https://ethercalc.net/v3specs list] is presented different rotators, either commercial or DIY builds.&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''SatNOGS v3 Rotator'''&lt;br /&gt;
|-&lt;br /&gt;
|Plastic Parts||15&lt;br /&gt;
|-&lt;br /&gt;
|Non Printed Parts||38&lt;br /&gt;
|-&lt;br /&gt;
|Cost||~ $220&lt;br /&gt;
|-&lt;br /&gt;
|Controller Electronics||[[SatNOGS Rotator Controller]]&lt;br /&gt;
|-&lt;br /&gt;
|Type||AZ/EL (possible X/Y)&lt;br /&gt;
|-&lt;br /&gt;
|Motors||2x NEMA 17 Stepper or 2x DC Motors&lt;br /&gt;
|-&lt;br /&gt;
|Frame Material||Aluminum T-slot 20x20&lt;br /&gt;
|-&lt;br /&gt;
|Speed (deg/sec)||7&lt;br /&gt;
|-&lt;br /&gt;
|Torque (Nm)||?, ~30&lt;br /&gt;
|-&lt;br /&gt;
|Brake Torque (Nm)||?&lt;br /&gt;
|-&lt;br /&gt;
|Dimensions (mm)||280x140x140 (AZ/EL)&lt;br /&gt;
|-&lt;br /&gt;
|Weight (kg)||~5&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Design Goals====&lt;br /&gt;
Considering the specifications as detailed in the [https://wiki.satnogs.org/SatNOGS_Rotator_v3#Mechanical_Analysis_.5BWIP.5D Mechanical Analysis], we would also like for the 3rd version of SatNOGS rotator to be:&lt;br /&gt;
&lt;br /&gt;
*inexpensive (less than €300, if possible)&lt;br /&gt;
*lightweight and portable (~6Kg, size:~300x~150x~150mm)&lt;br /&gt;
*rigid and durable&lt;br /&gt;
*easy to build and fix (try to use easily available materials)&lt;br /&gt;
*weatherproof&lt;br /&gt;
*electromagnetically shielded, so that noise in reception is reduced&lt;br /&gt;
*accurate (&amp;lt;1deg, backlash reduction and use of encoders at the axis)&lt;br /&gt;
&lt;br /&gt;
==Sourcing==&lt;br /&gt;
&lt;br /&gt;
'''3d Printing at a Fab Lab or your local hackerspace:''' If you don't have your own 3d printer, then a local Fab Lab or hackerspace may be able to do it for you. Fab Labs and hackerspaces are places that have invested in the machinery and you can take the designs to them. Generally they need .stl files to import into the software that runs the machines, but this should be discussed with the Fab Lab or hackerspace. You then pay for the material, time or a combination of the two for each of the parts or any other agreement in place.&lt;br /&gt;
&lt;br /&gt;
*[http://www.fabfoundation.org/fab-labs FabLabs]&lt;br /&gt;
*[https://wiki.hackerspaces.org/List_of_Hacker_Spaces List of hacker spaces]&lt;br /&gt;
&lt;br /&gt;
Most people building the rotator have had success builds with simple ABS material for the 3D printing parts.&lt;br /&gt;
&lt;br /&gt;
'''T Slot''' - If you don't want to cut the pieces yourself, then you may be able to find a supplier that will do this for you.   ([http://www.kjnltd.co.uk/ Here's one in the United Kingdom].)&lt;br /&gt;
&lt;br /&gt;
Hidden corner connectors - AliExpress gave the cheapest supplier&lt;br /&gt;
&lt;br /&gt;
A good US source is [http://us.misumi-ec.com/ MISUMI-USA]; they will also cut to length.  MISUMI has several other global locations [https://www.misumi-ec.com].&lt;br /&gt;
&lt;br /&gt;
Beware, the 20-series T-slot from [https://8020.net/ 80/20 Inc.] in the US has slots that are only 5.2mm wide.  The hidden corner connectors from e.g. AliExpress '''will not fit'''.&lt;br /&gt;
&lt;br /&gt;
'''Stepper Motors''' - eBay&lt;br /&gt;
&lt;br /&gt;
'''Belts''' - eBay&lt;br /&gt;
&lt;br /&gt;
'''Fixings / Pipe''' - eBay&lt;br /&gt;
&lt;br /&gt;
====Vendors Table====&lt;br /&gt;
&lt;br /&gt;
Like the [https://reprap.org/wiki/RepRap_Buyers%27_Guide RepRap Buyers' Guide wiki], feel free to populate the table. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Vendor&lt;br /&gt;
!Location&lt;br /&gt;
!Parts&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.pololu.com/ pololu]&lt;br /&gt;
|USA, Worldwide&lt;br /&gt;
|Motors, electronics&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[http://mouser.com/ mouser]&lt;br /&gt;
|Worldwide&lt;br /&gt;
|Motors, electronics&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.ebay.com/ ebay]&lt;br /&gt;
|Worldwide&lt;br /&gt;
|Motors, electronics, Fasteners, T-Slots, pulleys, Tubes&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.aliexpress.com/ aliexpress]&lt;br /&gt;
|Worldwide&lt;br /&gt;
|Motors, electronics, Fasteners, T-Slots, pulleys, Tubes&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://grobotronics.com/ grobotronics]&lt;br /&gt;
|GR, EU&lt;br /&gt;
|Motors, electronics, Fasteners, T-Slots, pulleys&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.motedis.com/shop/index.php motedis]&lt;br /&gt;
|DE, EU&lt;br /&gt;
|T-Slots, Tubes&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://uk.misumi-ec.com/ Misumi]&lt;br /&gt;
|Worldwide&lt;br /&gt;
|T-Slots, Tubes, Fasteners, Pulleys&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.omc-stepperonline.com/ omc-stepperonline]&lt;br /&gt;
|Worldwide&lt;br /&gt;
|Stepper motors&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.fastenal.ca/ fastenal]&lt;br /&gt;
|USA&lt;br /&gt;
|Fasteners&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.mcmaster.com/ mcmaster]&lt;br /&gt;
|USA&lt;br /&gt;
|Fasteners&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.rs-online.com/ rs]&lt;br /&gt;
|Worldwide&lt;br /&gt;
|Electronics, fasteners, motors&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://8020.net/ 80/20]&lt;br /&gt;
|USA&lt;br /&gt;
|T-Slots&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.pcbway.com/ pcbway]&lt;br /&gt;
|CN&lt;br /&gt;
|PCB fabrication&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.servocity.com/ servocity]&lt;br /&gt;
|USA&lt;br /&gt;
|Motors, T-slots, fasteners&lt;br /&gt;
|Most of parts are not metric&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Build Sequence==&lt;br /&gt;
&lt;br /&gt;
====Tools &amp;amp; Consumables====&lt;br /&gt;
Here are presented tools and consumables about part fabrication, port-processing and assembly process.&lt;br /&gt;
Most of the tools are available in every hackerspace, makerspaces, FabLabs etc. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Tool/Consumable&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Drill bits&lt;br /&gt;
|2mm for aluminum, 3mm, 4mm and 5mm for plastic&lt;br /&gt;
|-&lt;br /&gt;
|Drill driver&lt;br /&gt;
|For aluminum tube drill hole, 3D printed part&lt;br /&gt;
|-&lt;br /&gt;
|Sandpaper&lt;br /&gt;
|80(dry), 120(dry), 240(dry) and 1000(wet) grit&lt;br /&gt;
|-&lt;br /&gt;
|Acetone&lt;br /&gt;
|For acetone vapor bath&lt;br /&gt;
|-&lt;br /&gt;
|Hacksaw&lt;br /&gt;
|For aluminum Tube&lt;br /&gt;
|-&lt;br /&gt;
|Square File&lt;br /&gt;
|For worm axis, for use on steel&lt;br /&gt;
|-&lt;br /&gt;
|Precision Knife&lt;br /&gt;
|For general use, especially in 3d-Printed parts&lt;br /&gt;
|-&lt;br /&gt;
|Caliper&lt;br /&gt;
|Measuring Range 0-150mm&lt;br /&gt;
|-&lt;br /&gt;
|Combination Wrenches&lt;br /&gt;
|5.5mm, 7mm and 8mm&lt;br /&gt;
|-&lt;br /&gt;
|Thread-locker&lt;br /&gt;
|Like Loctite 271&lt;br /&gt;
|-&lt;br /&gt;
|Cyano acrylic glue&lt;br /&gt;
|Like Loctite 401&lt;br /&gt;
|-&lt;br /&gt;
|Screw driver&lt;br /&gt;
|Number 1 Phillips&lt;br /&gt;
|-&lt;br /&gt;
|Heat Gun&lt;br /&gt;
|For Heat-shrinkables or use a lighter&lt;br /&gt;
|-&lt;br /&gt;
|Ball-End L-Keys&lt;br /&gt;
|Hex 1.5mm, 2mm, 2.5mm, and 3mm&lt;br /&gt;
|-&lt;br /&gt;
|Soldering iron and consumables&lt;br /&gt;
|For cables&lt;br /&gt;
|-&lt;br /&gt;
|Wire Cutter&lt;br /&gt;
|For cables&lt;br /&gt;
|-&lt;br /&gt;
|Long-Nose Plier&lt;br /&gt;
|General purpose&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Parts====&lt;br /&gt;
Make sure you have all parts, according to [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator/blob/master/rotator-bom.ods BOM].&lt;br /&gt;
&lt;br /&gt;
Most of the parts could be fabricated by a FDM 3D-printer. Some parts have only 2D geometry so could be&lt;br /&gt;
fabricated by a laser cutter. Other parts have modifications of common(hardware) parts like threaded rods or&lt;br /&gt;
aluminum pipes. Also you could find a lot of guides for [https://www.3dhubs.com/knowledge-base/post-processing-fdm-printed-parts post processing for FDM printed parts].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200&amp;quot; heights=&amp;quot;200&amp;quot; perrow=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
File:C1001.png|C1001, Aluminum Tube 6063 OD40mm TH1.5mm L240mm, 2 variants -1 and -3&lt;br /&gt;
File:C1010-3.png|C1010-3, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
File:C1011-3.png|C1011-3, laser cut in 3mm Acrylic Sheet or in FDM-3Dprinter with same fabrication parameters as C1010-3&lt;br /&gt;
File:C1020-1.png|C1020-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material, [http://sinkhacks.com/building-acetone-vapor-bath-smoothing-3d-printed-parts/ Smoothing the part with acetone vapor bath]&lt;br /&gt;
File:C1021-1.png|C1021-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material, [http://sinkhacks.com/building-acetone-vapor-bath-smoothing-3d-printed-parts/ Smoothing the part with acetone vapor bath], [https://community.libre.space/t/version-3-1-stepper-varient-with-v2-controller/1430/5 Imperial variant], [https://community.libre.space/t/help-to-buy-metric-tubing-for-v3-rotator/784/6 tool that helps to build imperial part]&lt;br /&gt;
File:C1022-3.png|C1022-3, laser cut in 3mm Acrylic Sheet or in FDM-3Dprinter with same fabrication parameters as C1010-3&lt;br /&gt;
File:C1030-1.png|C1030-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
File:C1040-1.png|C1040-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material, [https://community.libre.space/t/version-3-1-stepper-varient-with-v2-controller/1430/5 Imperial variant], [https://community.libre.space/t/help-to-buy-metric-tubing-for-v3-rotator/784/6 tool that helps to build imperial part]&lt;br /&gt;
File:C1041-1.png|C1041-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material, [https://community.libre.space/t/version-3-1-stepper-varient-with-v2-controller/1430/5 Imperial variant], [https://community.libre.space/t/help-to-buy-metric-tubing-for-v3-rotator/784/6 tool that helps to build imperial part]&lt;br /&gt;
File:C1042-1.png|C1042-1, laser cut in 3mm Acrylic Sheet or in FDM-3Dprinter with same fabrication parameters as C1010-3&lt;br /&gt;
File:C1043-1.png|C1043-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], Support material, Brim Width: 2 mm&lt;br /&gt;
File:C1050.png|C1050, Aluminum Profile 20x20 B-type slot 6, 2 variants -1 and -5&lt;br /&gt;
File:C1060-1.png|C1060-1, M5 Threaded rod A2 stainless steel(304)&lt;br /&gt;
File:C1061.png|C1061, 2 variants -5 and -6, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
File:C1062-1.png|C1062-1, It is recommended to build in laser sintering like Shapeways with White Versatile Plastic (cost ~10€) or like C1030-1 and [http://sinkhacks.com/building-acetone-vapor-bath-smoothing-3d-printed-parts/ Smoothing the part with acetone vapor bath]&lt;br /&gt;
File:C1070-1.png|C1070-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
File:C1071-1.png|C1071-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
File:C1072-1.png|C1072-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
File:C1083-1.png|C1083-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
File:C1080-3 2.png|C1080-3, Cover Box bottom part, galvanized steel sheet, thickness 0.5mm&lt;br /&gt;
File:C1081-3 2.png|C1081-3, Cover Box top part, galvanized steel sheet, thickness 0.5mm&lt;br /&gt;
File:C1082-5.png|C1082-5, Cover Box side part, galvanized steel sheet, thickness 0.5mm&lt;br /&gt;
File:C1084-1.png|C1084-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Assembly====&lt;br /&gt;
Follow the [https://ohai.satnogs.org/project/satnogs-rotator-v3-mechanical-assembly/hardware/ instructions for mechanical assembly] and also you can [https://www.youtube.com/watch?v=D6P9HK23Gmo watch timelapse]&lt;br /&gt;
Also, exploded views and instructions are present here.&lt;br /&gt;
&lt;br /&gt;
{{Message|&lt;br /&gt;
Prior to Step 8, the rotary encoders must be ready and prior to Step 11 the motor must be mounted in A1070-1. For the rotary encoder assembly look at the next section [https://wiki.satnogs.org/SatNOGS_Rotator_v3#Rotator_Controller Rotator_Controller].}}&lt;br /&gt;
&lt;br /&gt;
Some notes for assembly:&lt;br /&gt;
&lt;br /&gt;
*Resolve collision between of end-stop arm and C1042-1 end-stop mount, [https://community.libre.space/t/rotator-3-1-end-stop-switch-mounting/3463 community post]&lt;br /&gt;
*[https://community.libre.space/t/rotator-3-1-worm-gear-issues/1858/7 Running the worm gear] and [https://community.libre.space/t/rotator-3-1-worm-gear-issues/1858/9 lapping the worm gear] to get gear box running smooth&lt;br /&gt;
*[https://community.libre.space/t/stepper-motor-bolts-v3-1/3388 Collision between bolts and motor], this issue can be created by using wrong M4 screws(H1100-5) and washers(H1110-1)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;180&amp;quot; heights=&amp;quot;180&amp;quot; perrow=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
File:A1010-1.png|Step 1, Prepare the assembly of worm gear&lt;br /&gt;
File:A1011.png|Step 2, Prepare the assembly of worm gear mount, 2 variants -1 and -2 (mirror)&lt;br /&gt;
File:A1020-1.png|Step 3, Prepare the assembly of shaft collar for worm wheel&lt;br /&gt;
File:A1033-1.png|Step 4, Prepare the encoder gear&lt;br /&gt;
File:A1070-1.png|Step 5, Prepare the Motor mount&lt;br /&gt;
File:A1060-1.png|Step 6, In case of DC motor configuration&lt;br /&gt;
File:A1031-1.png|Step 7, Bearing side without encoder and end-stop mounts&lt;br /&gt;
File:A1032-1.png|Step 8, Bearing side with encoder and end-stop mounts&lt;br /&gt;
File:A1030.png|Step 9, Prepare symmetric and asymmetric axis, 2 variants -1 and -3&lt;br /&gt;
File:A1001-3.png|Step 10, Frame with worm gear mount and A1001-1 assembly&lt;br /&gt;
File:A1040.png|Step 11, Rotator module 2 Variants -1 and -3, symmetric and asymetric  [[:File:Tip for Step 11 (A1040) -- Note 10 - use of M5 Nuts to attach Drill.jpg|(Assembly Tip - Note 10:Jam two M5 nuts together at end of shaft to easily run gearbox manually)]]&lt;br /&gt;
File:A1050-1.png|Step 12, Final step of Antenna Rotator&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Rotator Controller====&lt;br /&gt;
The default way of controlling the rotator is to use the [[SatNOGS Rotator Controller]].This works for both stepper motor and DC motor set ups (Note: If you are uing the [https://wiki.satnogs.org/SatNOGS_Rotator_Controller#Encoders the rotary encoders] these will need to be set up). An alternative is to use the [[SatNOGS_Arduino_Uno/CNC_Shield_Based_Rotator_Controller]], whih has been used as a stand alone set up for use with GPredict. &lt;br /&gt;
&lt;br /&gt;
It's also possible to use a standard 3d printing RAMPs 1.4 board as an alternative, though note that these are designed for steppers which may cause extra RF noise. A RAMPs 1.4 [https://github.com/TheSkorm/satnogs-rotator-ramps14 firmware] has been developed. &lt;br /&gt;
&lt;br /&gt;
====Cover Box - Cabling====&lt;br /&gt;
Prepare the cover box and install it to antenna rotator with rotator controller and cables.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200&amp;quot; heights=&amp;quot;200&amp;quot; perrow=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
File:Cover_box_1.JPG| Put the C1080-3 with screws M4 L10 DIN912, C1084-1 and washers M4 DIN125 to the azimuth module. The screw with the Phillips Rounded Head Screws For Sheet Metal, M3,5 X 6,5, DIN 7981,INOX A2, C1082-5 to the C1080-3 and put the C1083-1. Note screw only the middle screw.&lt;br /&gt;
File:Power_cable_1.JPG| The power - data cable must be passed inside the azimuth axis. This solution is tested [https://network.satnogs.org/stations/200/ in station 200] without problem.&lt;br /&gt;
File:Power_cable_2.JPG| In the other side of power cable must be installed a connector with  4 terminals and waterproof like [https://grobotronics.com/connector-sp-4-pin-male.html Weipu - SP1310/P4I]. Also it is needed to have the female connector for cable that connected to the client. For cheaper solution use a bigger cable to connect the rotator with client and power source.&lt;br /&gt;
File:Other_cables_2.JPG|The 3 CAT5e UTP cables are 2x sensors (encoders - end stops) 1x power and data (RS-485). For color code use [https://en.wikipedia.org/wiki/Power_over_Ethernet#Pinouts 802.3af Standards A and B] from the power sourcing equipment perspective.&lt;br /&gt;
File:Other_cables_3.JPG|The other cables are for DC motor or stepper motors. In each side of the CAT5e UTP cables must be put a Heat-shrinkable asreferred in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator/blob/master/rotator-bom.ods BOM]. Also a Heat-shrinkable must be putin the cable gland in rotator controller for motor cables.&lt;br /&gt;
File:Other_cables_1.JPG|Pass all the cables though the hole in the bottom of C1080-3 &lt;br /&gt;
File:Motor_ferrite_bead.JPG|Add ferrite beads for motor cables, dimensions L25mm and OD 13mm&lt;br /&gt;
File:Velcro_for_controller_1.JPG|Add velcro to mount the rotator controller outside the box. Velcro tape specifications: Heavy duty, stick on, max 7Kg, 50mm x 100mm. The tape might be used to mount [https://wiki.satnogs.org/No_rotator client box]  in the rotator.&lt;br /&gt;
File:Rotator_controller_1.JPG| Cabling management inside the rotator controller. The controller is mounted to the rotator by using a tape as mentioned previously.&lt;br /&gt;
File:Rotator controller 2.JPG| Cabling management outside the rotator controller&lt;br /&gt;
File:Testing_1.JPG| The rotator is ready for testing, before the final step do not put the C1081-3, in order to most of components must be accessible&lt;br /&gt;
File:Testing 2.JPG| The final step. If everything is working properly, must be put the C1081-3 by using sheet metal screws as mentioned previously. In this step if the holes of C1081-3 are not aligned with the holes of the other two parts, C1082-5 and C1080-3, drill new holes and screw them, take a look in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator/issues/73 issue 73]. Put stickers!!!!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Testing====&lt;br /&gt;
You are ready! Proceed with [https://wiki.satnogs.org/SatNOGS_Rotator_Controller#Troubleshooting_hints testing].&lt;br /&gt;
&lt;br /&gt;
====Heading Calibration====&lt;br /&gt;
The heading calibration is a manual process:&lt;br /&gt;
&lt;br /&gt;
*Power the rotator, it starts moving in order to find the home position, to find the end-stops&lt;br /&gt;
*Remove the power from the rotator, the rotator is in home position&lt;br /&gt;
*Install the rotator to vertical axis by using U-Bolt clamps&lt;br /&gt;
*The azimuth axis it must be heading to the North, this is achieved by using a compass (e.g. from smart phone)&lt;br /&gt;
*Secure the rotator in the vertical axis&lt;br /&gt;
*Install the elevation axis with the same process, now the zero elevation is achieved by using a pocket level&lt;br /&gt;
*Secure the elevation axis&lt;br /&gt;
*In the case of wrong rotation:&lt;br /&gt;
**For stepper motors swap a pair of two stepper motor cables ([https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/issues/15 it exists an open issue to be done by a command])&lt;br /&gt;
**For DC motors, [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/commit/961fb696536e35642f2b7064cc3c64676ebebb17 change the sign of encoder reading], it is a hacky method but it would be resolved by [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/issues/15 this issue]&lt;br /&gt;
&lt;br /&gt;
====Counterweight for Antenna====&lt;br /&gt;
It is necessary to balance the antenna in elevation and azimuth axis in order to not wear the gear box of rotator. In elevation axis would be done either by using back mounted antennas or by mounting the center of antenna mass in the mast. For a back mounted antenna, it is necessary to use counter-balance weights. An idea is to use weights that is used for training (it's cheap). The parts that used to mount weights to [https://www.wimo.com/en/x-quad X-quad antenna] are this [https://gitlab.com/librespacefoundation/satnogs/satnogs-hardware-misc/-/tree/master/mount-counterweight 3D printing part], a square aluminum profile 15x15 mm, weights with inner hole D28mm and M5 hex nuts DIN934 with M5 screws DIN912 L12 stainless steel to lock the weights in specific distance. Another way to [https://community.libre.space/t/quartapounds-satnogs-rotator-v3-1/3453/57 balance the antenna].&lt;br /&gt;
&lt;br /&gt;
[[File:Counter-weight.jpg|thumb|center|800x420px|alt=|Counterweights]]&lt;br /&gt;
&lt;br /&gt;
==Mechanical Analysis [WIP]==&lt;br /&gt;
&lt;br /&gt;
====Brake Torque====&lt;br /&gt;
The greatest force the tracker needs to withstand is the force created by strong wind. The worst case is when one antenna is elevated at 90 degs, facing the direction of the wind. We based our calculations on an [http://k7nv.com/notebook/topics/windload.html article] found online after comparing it to others. We “translated” the second table in metric (because we don’t understand imperial and because we needed same units system in our calculations)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Method&lt;br /&gt;
!Wind Zone(km/h)&lt;br /&gt;
!Height (m)&lt;br /&gt;
!Pressure(N/m^2)&lt;br /&gt;
|-&lt;br /&gt;
|EIA-222-C&lt;br /&gt;
|160&lt;br /&gt;
|N/A&lt;br /&gt;
|1280&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|EIA-222-F&lt;br /&gt;
|128&lt;br /&gt;
|14&lt;br /&gt;
|1260&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|EIA-222-F&lt;br /&gt;
|128&lt;br /&gt;
|21&lt;br /&gt;
|1390&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|EIA-222-F&lt;br /&gt;
|128&lt;br /&gt;
|30&lt;br /&gt;
|1500&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|UBC'97&lt;br /&gt;
|128&lt;br /&gt;
|14&lt;br /&gt;
|1290&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|UBC'97&lt;br /&gt;
|128&lt;br /&gt;
|21&lt;br /&gt;
|1160&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|UBC'97&lt;br /&gt;
|128&lt;br /&gt;
|21&lt;br /&gt;
|1390&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|UBC'97&lt;br /&gt;
|128&lt;br /&gt;
|30&lt;br /&gt;
|1260&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|UBC'97&lt;br /&gt;
|128&lt;br /&gt;
|42&lt;br /&gt;
|990&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|UBC'97&lt;br /&gt;
|128&lt;br /&gt;
|42&lt;br /&gt;
|1360&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Generic Formula&lt;br /&gt;
|150&lt;br /&gt;
|N/A&lt;br /&gt;
|1270&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
and we applied the worst case model (EIA-222-F) in 3 different antennas: in the biggest one of our designs, and in two others, for which we obtained data from [http://download.qrz.ru/pub/hamradio/antenna/rotators/G-800SA_1000SA.pdf yaesu G800 rotator manual at page 3]. We assumed that antennas are mounted in 1m away from the azimuth axis. For our antenna with 2m length (actual, not wavelength), made by 2cm square tube, the generated torque was ≈600Kg*cm. For the 144MHz 10-elements Yagi from the article is ≈6000Kg*cm and for the third 430MHz, 12-elements Yagi is ≈1800Kg*cm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Moment of inertia====&lt;br /&gt;
Now for the moment of inertia: (for all installation methods we assumed that antennas are counterbalanced in the elevation axis) the worst case scenario here is to use two 3kg (our designs are less than 1kg) back mounted yagis with 3kg counterbalances both mounted in 0.75m away from azimuth axis. The torque you need in order to accelerate this system from ω=0deg/s angular velocity to ω=5deg/s (the math about angular velocity is below) in one second is about 60kg*cm.&lt;br /&gt;
&lt;br /&gt;
Note: we suppose that the mass of antennas is near to the altitude axis, so the torque of this axis that is needed to accelerate is approximately 0.&lt;br /&gt;
&lt;br /&gt;
*M1: torque of Azimuth axis&lt;br /&gt;
*L: length of center of mass of antennas from azimuth axis (0.75m)&lt;br /&gt;
*m: mass of antennas and of counterweight (3kg + 3kg = 6kg)&lt;br /&gt;
*I: moment inertia&lt;br /&gt;
*a: angular acceleration of azimuth axis 5deg/s^2&lt;br /&gt;
*I = I1 + I2 = m*L^2 + m*L^2 = 2*m*L^2 = 6.75 kg*m^2&lt;br /&gt;
*M1 = I*a = 6.75kgm^2 * 0.087rad/s^2 = 0.58 Nm = 5.8 kgm = 58 kgcm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Angular velocity====&lt;br /&gt;
(How well do you remember trigonometry?)For the angular velocity max needed in altitude axis the things are straightforward. The closer is the satellite the larger the velocity. According to the wikipedia article about LEO, the lowest height limit is 160 km and the speed unit to orbit earth in this altitude is 7,8 km/s. As a result, maximum velocity in ALT axis is 2,8 deg/s. In ALT AZ rotator design there is a well known limitation: the closer something passes near zenith the biggest gets the velocity of the AZ axis. Therefore, we have analyzed this problem to figure out the optimal velocity and how high we are allowed to track a target in relation to AZ velocity. The picture below illustrates a ground station B which tracks a satellite Γ in X degrees altitude. The satellite velocity at this point is vertical to the screen (page) plane.&lt;br /&gt;
&lt;br /&gt;
[[File:Anglular_velocity.png|thumb|center|800x420px|alt=|Angular Velocity]]&lt;br /&gt;
&lt;br /&gt;
The equations that lead to maximum altitude at which we can track in relation to AZ angular velocity are&lt;br /&gt;
&lt;br /&gt;
*ω : angular velocity of AZ DOF in rad/s&lt;br /&gt;
*H = ΑΕ + ΕΓ : Minimum Height of LEO, 160 km&lt;br /&gt;
*R = ΑΕ : Radius of Earth, 6500 km&lt;br /&gt;
*u : linear velocity of satellite that rotates in 160km height is 7.8 km/s&lt;br /&gt;
*ΒΔ = u / ω : ΒΔ in km&lt;br /&gt;
*α = atan(ΒΔ / R)&lt;br /&gt;
*δ = π - α&lt;br /&gt;
*γ = asin( sqrt(R^2+ΒΔ^2) * sin(δ) / (H+R) )&lt;br /&gt;
*ά = π - δ - γ&lt;br /&gt;
*ΓΔ = (H+R) * sin(ά) / sin(δ)&lt;br /&gt;
*χ = atan(ΓΔ / ΒΔ)&lt;br /&gt;
&lt;br /&gt;
Below you can see the plot of the equations mentioned above, where horizontal axis represents angular velocity (ω) in deg/s and vertical axis shows the max track altitude (χ) for lower bound of LEO.&lt;br /&gt;
&lt;br /&gt;
[[File:Anglular_velocity_plot.png|thumb|center|800x420px|alt=|Angular Velocity Plot]]&lt;br /&gt;
&lt;br /&gt;
After studying this diagram, we came up to the conclusion that an angular velocity of 5 deg/s is adequate. For this decision, we took into consideration the main lobe of antenna (Δ3db) which in most situations is about 20 deg.&lt;br /&gt;
&lt;br /&gt;
====Pulleys/Belts/Gearing====&lt;br /&gt;
Horizontal distance between pulleys (P1, P2) is 58mm.&lt;br /&gt;
Vertical distance between pulleys (P1, P2) is w = 9.5mm.&lt;br /&gt;
&lt;br /&gt;
Pulleys and Belt are GT2, 2mm pitch. &lt;br /&gt;
Belt width, 6mm. &lt;br /&gt;
Belt thickness, 1.38mm (0.76 tooth). &lt;br /&gt;
&lt;br /&gt;
Wrap angle in both pulleys is larger than 60deg. &lt;br /&gt;
At least 6 teeth in contact with the pulley at any given time. &lt;br /&gt;
In practice that means you want a minimum of a 12 tooth pulley, and usually try to get at least 18 teeth. &lt;br /&gt;
&lt;br /&gt;
Outer Diameter of pulleys:&lt;br /&gt;
&lt;br /&gt;
P(T) | OD(mm) &amp;lt;br /&amp;gt;&lt;br /&gt;
16   | 10.2 &amp;lt;br /&amp;gt;&lt;br /&gt;
20   | 12.7 &amp;lt;br /&amp;gt;&lt;br /&gt;
36   | 22.9 &amp;lt;br /&amp;gt;&lt;br /&gt;
40   | 25.5 &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Belt calculation (according to calculator):&lt;br /&gt;
&lt;br /&gt;
Ratio    | P1(T)   | P2(T)   | Belt(T) | L(mm)  &amp;lt;br /&amp;gt;&lt;br /&gt;
2.25|16|36|85/86|58.65/59.66  &amp;lt;br /&amp;gt;&lt;br /&gt;
1.8|20|36|86/87/88|57.78/58.78/59.78  &amp;lt;br /&amp;gt;&lt;br /&gt;
2.5|16|40|87/88|58.5/59.5 &amp;lt;br /&amp;gt;&lt;br /&gt;
2|20|40|89/90|58.65/59.66 &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Motor Maximun no-load speed, 200RPM = 1200deg/s &lt;br /&gt;
Motor Maximum stall-torue, 1.2Nm &lt;br /&gt;
&lt;br /&gt;
[[File:Motor_perfomance_graph.png|thumb|center|800x420px|alt=|Angular Velocity]]&lt;br /&gt;
&lt;br /&gt;
Position of idler do not care, or min 1.3*P1, max 1.5*P1 (for 20T, ~16mm/~20mm).&lt;br /&gt;
&lt;br /&gt;
Belt gear selection:&lt;br /&gt;
&lt;br /&gt;
*20/36 with 1.8 ratio and 86T/172mm belt without idler&lt;br /&gt;
*20/40 with 2 ratio and 90T/190mm belt with idler&lt;br /&gt;
&lt;br /&gt;
To calculate Deflection force, (page T-31, sdp - design-guidelines)&lt;br /&gt;
&lt;br /&gt;
*Y = 2.05, Tst = 1.3kg&lt;br /&gt;
*span length, t = 57.64mm&lt;br /&gt;
*Belt pitch length, L = 180mm&lt;br /&gt;
*Fd,min =&lt;br /&gt;
*Fd,max =&lt;br /&gt;
*2.8kg Working Tension [shapeoko - Belts and Pulleys](https://www.shapeoko.com/wiki/index.php/Belts_and_Pulleys#Tensile_Cord_Materials)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   P3  &amp;lt;br /&amp;gt;&lt;br /&gt;
  /  \  &amp;lt;br /&amp;gt;&lt;br /&gt;
 P1  P2  &amp;lt;br /&amp;gt;&lt;br /&gt;
     |  &amp;lt;br /&amp;gt;&lt;br /&gt;
     P4-P5  &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Determination of design load&lt;br /&gt;
&lt;br /&gt;
According to perfomance graph of DC motor, the optimal output power is Tm = 0.6Nm  with efficiency of 0.2 and 100RPM = 600deg/s. &lt;br /&gt;
Select a service factor of 1.5 (service factors between 1.5 and 2.0 are generally recommended when&lt;br /&gt;
designing small pitch synchronous drives). &lt;br /&gt;
Tpeak = SF*Tm = 1.5*0.6 = 0.9Nm &lt;br /&gt;
&lt;br /&gt;
*Choice of belt pitch&lt;br /&gt;
&lt;br /&gt;
Due to backslash and accuracy in both directions of movements and volume constrains, we choose GT2, pitch 2mm.&lt;br /&gt;
&lt;br /&gt;
*Check belt pitch selection based on individual graphs&lt;br /&gt;
&lt;br /&gt;
Due to Tpeak = 0.9Nm No-load speed,(Speed of fastest shaft) = 100RPM = 600deg/s &lt;br /&gt;
GT2 pitch 2mm belt is the better solution for our application. &lt;br /&gt;
&lt;br /&gt;
*Determine speed ratio&lt;br /&gt;
&lt;br /&gt;
Speed ratio 1.8-2.25 according to specification of output rotation speed of 5deg/s.&lt;br /&gt;
&lt;br /&gt;
*Check belt speed&lt;br /&gt;
&lt;br /&gt;
V(m/s) = 0.0000524 x pulley PD (mm) x pulley rpm = 0.066548m/s &lt;br /&gt;
Belt speeds up to 6,500 fpm (33.02 m/s) do not require special pulleys. &lt;br /&gt;
&lt;br /&gt;
*Determine belt length&lt;br /&gt;
&lt;br /&gt;
Table 'Belt calculation (according to calculator)'&lt;br /&gt;
Teeth in mesh: 9&lt;br /&gt;
&lt;br /&gt;
*Determine the belt width&lt;br /&gt;
&lt;br /&gt;
From Table 43 &lt;br /&gt;
torque = 0.17Nm &lt;br /&gt;
Length Correction Factor = 0.9 &lt;br /&gt;
width multiplier = 1.00 &lt;br /&gt;
torque*Length Correction Factor*width multiplier = 0.17*0.9*1.00 = 0.153Nm &lt;br /&gt;
Teeth in mesh: 9 &lt;br /&gt;
Tpeak = 0.9Nm, so belt width is nice for our application &lt;br /&gt;
&lt;br /&gt;
*Check the number of teeth in mesh&lt;br /&gt;
&lt;br /&gt;
Teeth in mesh: 9 according to calculator &lt;br /&gt;
&lt;br /&gt;
*Determine proper belt installation tension&lt;br /&gt;
&lt;br /&gt;
SECTION 10, on page T50, look at 'To calculate Deflection force, (page T-31, sdp - design-guidelines)' &lt;br /&gt;
&lt;br /&gt;
*Y = 2.05, Tst = 0.812*DQ/d + mS^2 = 12.8lb + 0 = 5.8kg&lt;br /&gt;
*DQ = Tpeak = 0.9Nm = 7.9lb-in&lt;br /&gt;
*d = 12.7mm = 0.5in&lt;br /&gt;
*S = (0.5*100/3.82)/1000 = 0.0131ft/min&lt;br /&gt;
*m = 0.039&lt;br /&gt;
*span length, t = sqrt(CD^2 - (PD-pd/2)^2) = 57.64mm&lt;br /&gt;
*Belt pitch length, L = 180mm&lt;br /&gt;
*t/L = 0.32&lt;br /&gt;
*Fd,min = 0.8lb = 0.36kg&lt;br /&gt;
*Fd,max = 0.9lb = 0.41kg&lt;br /&gt;
&lt;br /&gt;
*Safety factor 1.5&lt;br /&gt;
&lt;br /&gt;
*P2 timing pulley torque - Maximum radial load of timing belt ball bearing 625zz&lt;br /&gt;
&lt;br /&gt;
Tpeak = 0.9Nm &lt;br /&gt;
TorqueP2 = 2*0.9Nm = 1.8Nm, PDp2 = 25.5mm &lt;br /&gt;
Radial static load of 625ZZ is 0.38kN &lt;br /&gt;
T-39&lt;br /&gt;
&lt;br /&gt;
*Maximum thrust load of timing belt ball bearing 625zz&lt;br /&gt;
&lt;br /&gt;
*Maximum radial and thrust load of output ball bearings 6008zz&lt;br /&gt;
&lt;br /&gt;
Calculate or evaluate correct loads for deep groove ball bearings&lt;br /&gt;
radial static load = 11.6kN &lt;br /&gt;
thrust static load = 0.7*11.6kN = 8.12kN &lt;br /&gt;
This type of construction permits the bearings to support relatively high thrust load in either direction. &lt;br /&gt;
In fact the thrust load capacity is about 70% of the radial load capacity. A ball bearing primarily  designed &lt;br /&gt;
to support radial load can also support high thrust load; because only few balls carry the radial load, &lt;br /&gt;
whereas all the balls can withstand the thrust load. &lt;br /&gt;
&lt;br /&gt;
*Maximum self-locking or back-drivable torque of gear box (according to more weak component)&lt;br /&gt;
&lt;br /&gt;
It necessary to achieve [specs](https://community.libre.space/t/satnogs-rotator-version-3/226), 60Nm (6Kg in 1 meter)&lt;br /&gt;
&lt;br /&gt;
*Nominal torque of drivable torque of gear box (according to more weak component) and maximum rotational speed of gear box&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
*[https://sdp-si.com/eStore/CenterDistanceDesigner sdp distance calculator]&lt;br /&gt;
*[http://www.ebay.com/itm/2GT-Timing-Belt-L-172-232-240-244-640-810-GT2-Belts-closed-loop-5pcs-lot-/221977955532?var=&amp;amp;hash=item33aeeacccc:m:me5GvSt_amrm6RWT03Ut4JA belt GT2-6mm wide, 172mm]&lt;br /&gt;
*[https://www.ebay.com/itm/2GT-GT2-synchronous-Timing-belt-Perimeter-98-194mm-width-6-9mm-Cogged-close-loop/222574382655?ssPageName=STRK%3AMEBIDX%3AIT&amp;amp;var=521434616407&amp;amp;_trksid=p2060353.m2749.l2649 belt GT2-6mm wide, 180mm]&lt;br /&gt;
*[http://www.ebay.com/itm/5pcs-Timing-Pulley-GT2-Idler-16-20T-gear-Bearing-Reprap-6mm-Belt-3-5mm-Bore-3D-/132195520937?var=&amp;amp;hash=item1ec77791a9:m:mljSYBViBlKOgXr3Gy-u0Tg idler pulley, no-teeth-ID3mm-OD18mm]&lt;br /&gt;
*[http://www.brecoflex.com/products/pulleys/design-guidelines/ brecoflex - design-guidelines]&lt;br /&gt;
*[http://www.shreegeeimpex.com/TECH_DATA_PAG/idlers_ten.htm shreegeeimpex - design-guidelines]&lt;br /&gt;
*[http://www.sdp-si.com/PDFS/Technical-Section-Timing.pdf sdp - design-guidelines]&lt;br /&gt;
&lt;br /&gt;
====Motor Specification====&lt;br /&gt;
&lt;br /&gt;
General Specification about motors. The voltage and current consumption also it depends from the motor controller which is (maybe) different&lt;br /&gt;
from [https://wiki.satnogs.org/SatNOGS_Rotator_Controller SatNOGS Rotator Controller].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Specification&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|Min-Max Stall Torque (Nm)&lt;br /&gt;
|0.4 - 1.5&lt;br /&gt;
|-&lt;br /&gt;
|Min-Max Speed (RPM)&lt;br /&gt;
|100 - 200&lt;br /&gt;
|-&lt;br /&gt;
|Size (mm) (LxWxH)&lt;br /&gt;
|47x42x64&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200&amp;quot; heights=&amp;quot;200&amp;quot; perrow=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
File:Motor mount dimensions.png|Motor mount dimensions&lt;br /&gt;
File:Max motor height.png|Maximum Motor Height&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Worm Gear Box Calculations====&lt;br /&gt;
&lt;br /&gt;
*Gear ratio: i12 = 30&lt;br /&gt;
*Angle between axis of gears: δ = 90 deg&lt;br /&gt;
*Number of threads in worm: If i12 &amp;gt;= 30 then z1 = 1&lt;br /&gt;
*Number of teeth in worm wheel: z2 = i12*z1 = 30&lt;br /&gt;
*Center distance: initial case a = 45.5 mm&lt;br /&gt;
*Worm reference diameter: AGMA d01&amp;gt;= 11.5*(a/25.4)^0.875 = 19.15 mm, so d01 = 19.5mm&lt;br /&gt;
*Worm wheel reference: d02 = 2*a - d01 = 71.5 mm&lt;br /&gt;
*Axial module: ms = d02/z2 = 2.38 , so ms = 2.5&lt;br /&gt;
&lt;br /&gt;
Recalculate d02, a with new axial module&lt;br /&gt;
&lt;br /&gt;
*d02 = z2*ms = 75mm, a = (d02+d01)/2 = 47.25mm&lt;br /&gt;
*Axial pitch: ts = π*ms = 7.854mm&lt;br /&gt;
*Reference lead angle: γ0 = atan(d02/(i12*d01)) = 7.3 deg&lt;br /&gt;
*Worm tip diameter: dk1 = d01 + 2*hk = 24.5mm&lt;br /&gt;
**Worm teeth reference addendum in axial section: hk = hk* *ms = 2.5mm&lt;br /&gt;
**Worm tooth reference addendum coefficient: hk* = 1&lt;br /&gt;
*Worm root diameter: df1 = d01 - 2*hf = 13.5mm&lt;br /&gt;
**Worm tooth reference dedendum: hf = hf* _ms = 1.2_ms = 3mm&lt;br /&gt;
**Dedendum coefficient: hf* = 1.2&lt;br /&gt;
*Worm length: L = 2.5_ms_sqrt(z2+2) = 35.36mm&lt;br /&gt;
*Worm tooth thickness: smx1 = smx1* * ts = 3.927mm&lt;br /&gt;
**Tooth thickness coefficient: smx1* = 0.5&lt;br /&gt;
*Normal pressure angle: aon = 20 deg&lt;br /&gt;
*Worm wheel throat diameter: dk2 = d02+2*hk = 80mm&lt;br /&gt;
*Worm wheel root diameter: df2 = d02 - 2*hf = 69mm&lt;br /&gt;
*Worm wheel outside diameter: de2 = dk2 + 2*mx = 83.5mm&lt;br /&gt;
**Worm wheel tooth external addendum: mx = n*ms, 0.4&amp;lt;=n&amp;lt;=1.5&lt;br /&gt;
*Effective worm wheel face width: b2H,max = sqrt((2_a - df2)^2 - (2_a - de2)^2) = 23mm&lt;br /&gt;
&lt;br /&gt;
[[Category:Build]]&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:Rotator]]&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Omnidirectional_Station_How_To&amp;diff=3791</id>
		<title>Omnidirectional Station How To</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Omnidirectional_Station_How_To&amp;diff=3791"/>
		<updated>2021-10-26T11:10:13Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: /* Installing Image on Linux/Windows/MacOS (using Rasperry Pi Imager) */ Fix Raspberry Pi Imager link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Omnidirectional VHF Turnstile Antenna.jpg|alt=VHF Turnstile Antenna|thumb|VHF Turnstile antenna, [https://network.satnogs.org/stations/23/ SatNOGS Station 23]]]&lt;br /&gt;
This How-To is written to get you quickly receiving satellite data with an Omnidirectional antenna (an antenna that does not move).&lt;br /&gt;
&lt;br /&gt;
==Prerequisites/Background==&lt;br /&gt;
I'm assuming that you are a bit familiar with amateur radio, or linux in general, or you already have a Raspberry Pi. &lt;br /&gt;
&lt;br /&gt;
===Expectation Management===&lt;br /&gt;
First off, I'd like to set some expectations around a SatNOGS station with an omnidirectional antenna. Yes, you will be able to hear satellites, Morse code beacons, maybe even some voice contacts on a FM transponder. But for CubeSats with 1 watt transmitters at 9600 baud, it's going to be really difficult to actually decode any data with an omni antenna. You'll definitely see squiggly lines on the waterfall plot, but demodulating the signal and extracting satellite telemetry is going to be pretty difficult.&lt;br /&gt;
&lt;br /&gt;
The only way to get more signal is a better antenna. And a better antenna with more gain is going to be more directional, which means you will need a way to point that antenna at the satellite, and this How-To just got a lot more complicated. So we're not going there.&lt;br /&gt;
&lt;br /&gt;
A better preamp helps a bit, see the LNA section below.&lt;br /&gt;
&lt;br /&gt;
===Hardware Required===&lt;br /&gt;
This is a list of the hardware for indoor/testing purposes:&lt;br /&gt;
&lt;br /&gt;
*Raspberry Pi&lt;br /&gt;
**Power supply + cable (see note below)&lt;br /&gt;
**Up to 16 GB Micro SD card&lt;br /&gt;
**Ethernet cable&lt;br /&gt;
*RTL SDR Blog v3 dongle&lt;br /&gt;
*Various short lengths of coax&lt;br /&gt;
*Preamp/LNA - Or not if your coax is short, see LNA section below&lt;br /&gt;
*Omnidirectional antenna - just a dual mag-mount on a cookie sheet will work OK for stronger satellites&lt;br /&gt;
&lt;br /&gt;
==Setting up the Raspberry Pi==&lt;br /&gt;
I chose the [https://www.raspberrypi.org/products/raspberry-pi-3-model-b/ Raspberry Pi 3 Model B] for my station. SatNOGS is known to work on the RPi 3B, 3B+ and 4 models. &lt;br /&gt;
&lt;br /&gt;
===Downloading/Writing the SD image===&lt;br /&gt;
The SatNOGS team has done a great job creating a Raspbian image with all the required software. &lt;br /&gt;
The latest download is given in the [[Raspberry_Pi#Download|Download section]].&lt;br /&gt;
&lt;br /&gt;
====Installing Image on Linux====&lt;br /&gt;
* Unzip the downloaded file: &lt;br /&gt;
  &amp;lt;pre&amp;gt;unzip artifacts.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Figure out which device is the SD card. SD cards are usually start with mmcblk.&lt;br /&gt;
  &amp;lt;pre&amp;gt;sudo lsblk&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Write the image. This will take a while. Make sure you don't overwrite your host OS:&lt;br /&gt;
  &amp;lt;pre&amp;gt;sudo dd if=&amp;lt;latest_image_date&amp;gt;-Raspbian-SatNOGS-lite.img of=/dev/mmcblk0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Installing Image on Linux/Windows/MacOS (using Rasperry Pi Imager)====&lt;br /&gt;
{{Warning|WARNING: This section was recently added. Please test and if it works, remove this banner.}}&lt;br /&gt;
&lt;br /&gt;
This section describes the installation of installing the previously downloaded image to an SD card using the cross-platform Raspberry Pi Imager. [https://www.raspberrypi.com/documentation/computers/getting-started.html#using-raspberry-pi-imager|This guides] explains the process using this tool in more detail.&lt;br /&gt;
&lt;br /&gt;
* Download the latest version of [https://www.raspberrypi.com/software/ Raspberry Pi Imager]&lt;br /&gt;
* Connect an SD card reader with the SD card inside&lt;br /&gt;
* Open Raspberry Pi Imager and choose the previously downloaded image from &amp;quot;Choose OS &amp;gt; Use custom &amp;gt; artifacts.zip&amp;quot;&lt;br /&gt;
* Review your selections and click '''Write''' button to begin writing data to the SD card.&lt;br /&gt;
&lt;br /&gt;
===Power notes===&lt;br /&gt;
Thinking I could save a few bucks, I used a no-name generic 2.4 amp &amp;quot;tablet&amp;quot; USB power supply I got as a freebie, and a micro-USB cable I use for charging my phone. What a mistake! The Micro-USB cable wire gauge was too small, so there was too much voltage drop on the cable, so the Raspberry Pi reported power problems every time it was doing anything.&lt;br /&gt;
&lt;br /&gt;
Power problems are indicated by either a lightning bolt in the upper right of the monitor, or the red power LED flashes on the board itself. If The Raspberry Pi processor itself is pretty forgiving of power droops because it runs at 3.3 volts. But the 5v USB ports are directly tied to input power, so undervoltage conditions will cause problems for USB devices, such as the RTL SDR dongle.&lt;br /&gt;
&lt;br /&gt;
==Software Configuration==&lt;br /&gt;
===Creating a SatNOGS Account===&lt;br /&gt;
There are several different websites to be aware of. Most of our websites use a unified login provided by Auth0, so when you create an account on one of these sites it will work across all the others as well.&lt;br /&gt;
&lt;br /&gt;
*[https://network.satnogs.org/ Network]: for registering your station and adding data to the network.&lt;br /&gt;
*[https://db.satnogs.org/ Database]: for all data on satellites and its transmitters.&lt;br /&gt;
*[https://community.libre.space Forums]: for questions and discussions.&lt;br /&gt;
*[https://wiki.satnogs.org/ Wiki]: this wiki for all kinds of documentation.&lt;br /&gt;
&lt;br /&gt;
===Registering the station===&lt;br /&gt;
You can add your new ground station [https://network.satnogs.org/stations/edit/ here]. When following the link it will ask you to login. Either use your existing account or register a new one.&lt;br /&gt;
&lt;br /&gt;
The following information is required:&lt;br /&gt;
* Station name, e.g. &amp;quot;Athens3-UHF&amp;quot;&lt;br /&gt;
* Location:&lt;br /&gt;
** Latitude (e.g., 38.0169)&lt;br /&gt;
** Longitude (e.g., 23.7312)&lt;br /&gt;
** Altitude above WGS84 in Meters (e.g., 20)&lt;br /&gt;
* At least one antenna.&lt;br /&gt;
** Click '''New antenna'''&lt;br /&gt;
** Choose the type (e.g. Turnstile)&lt;br /&gt;
** Add a range (e.g. VHF or UHF)&lt;br /&gt;
** Press '''Save changes'''&lt;br /&gt;
&lt;br /&gt;
Fill out the form, click '''Submit''' and your station will be added to the Network. You can leave the other settings unchanged for now.&lt;br /&gt;
&lt;br /&gt;
To help your fellow operators please consider placing the following information into the &amp;quot;Description&amp;quot; field for your station: Antenna gain and location, preamp info (if any), SDR device, some kind of contact info perhaps [[Get_In_Touch#Chat_with_us_on_our_Matrix_room |irc/matrix]] or [https://community.libre.space/ community forum] username or email address.&lt;br /&gt;
&lt;br /&gt;
===Booting and Configuring Raspbian===&lt;br /&gt;
{{Warning|WARNING: This section describes steps which are not always required. When using ssh for setup, the steps might be different. This section should be updated to reflect this. }}&lt;br /&gt;
&lt;br /&gt;
After you have the image burned onto a Micro-SD card, boot it! I would recommend hooking up a keyboard and HDMI monitor, you can watch the boot process. If it doesn't boot at all, double check that you wrote the SatNOGS Raspbian image correctly.&lt;br /&gt;
&lt;br /&gt;
After a successful boot, log in with username '''pi''' and password '''raspberry'''&lt;br /&gt;
&lt;br /&gt;
#Change your password! '''passwd'''&lt;br /&gt;
#Run '''sudo raspi-config''' to set up the base OS. ''Tab'' switches between the options and ''select''.&lt;br /&gt;
##4 Localisation Options: I1 Change Locale: en_US.UTF-8 UTF-8&lt;br /&gt;
##4 Localisation Options: I2 Change Timezone: None of the above: UTC&lt;br /&gt;
##4 Localisation Options: I3 Change Keyboard Layout:&lt;br /&gt;
##7 Advanced Options: A1 Expand Filesystem &amp;lt;br /&amp;gt;This will expand the ~2GB Micro-SD card partition to fill the entire SD card.&lt;br /&gt;
&lt;br /&gt;
The Raspberry Pi needs to reboot to expand the filesystem, so do this now. It might take a while. '''sudo reboot''&lt;br /&gt;
&lt;br /&gt;
====Disabling WiFi and Bluetooth====&lt;br /&gt;
{{Message|INFO: This step can be skipped. }}&lt;br /&gt;
To disable WiFi and Bluetooth, edit the /boot/config.txt file, and add the following lines at the bottom:&lt;br /&gt;
&lt;br /&gt;
 # Disable WiFi and Bluetooth&lt;br /&gt;
 dtoverlay=pi3-disable-wifi&lt;br /&gt;
 dtoverlay=pi3-disable-bt&lt;br /&gt;
&lt;br /&gt;
Then reboot again. To make sure that it worked, run '''ifconfig''' and make sure that ''wlan0'' isn't listed. I'm not sure how to tell if bluetooth is turned off.&lt;br /&gt;
&lt;br /&gt;
Note: Newer versions of Raspbian may require the following lines instead of the above.&lt;br /&gt;
&lt;br /&gt;
 # Disable WiFi and Bluetooth&lt;br /&gt;
 dtoverlay=disable-wifi&lt;br /&gt;
 dtoverlay=disable-bt&lt;br /&gt;
&lt;br /&gt;
====Additional software====&lt;br /&gt;
I like to install this additional software with '''sudo apt install bmon''' ...&lt;br /&gt;
&lt;br /&gt;
*bmon - a graphical network usage analyzer.&lt;br /&gt;
*vnstat - keeps track of your bandwidth usage&lt;br /&gt;
*vim - the world's best text editor ;)&lt;br /&gt;
*irssi - a terminal IRC client, for chatting on the #satnogs IRC channel&lt;br /&gt;
&lt;br /&gt;
If you can't tell by now, I'm always a big fan of rebooting. It certainly doesn't take that long... '''sudo reboot'''&lt;br /&gt;
&lt;br /&gt;
===Update the SatNOGS Client Software to latest version===&lt;br /&gt;
Once you have the SatNOGS OS image installed and running you should  [https://wiki.satnogs.org/SatNOGS_Client_Setup#Updating_SatNOGS_Client_Software| Update the SatNOGS Client Software].&lt;br /&gt;
&lt;br /&gt;
===Configuring the satnogs-client===&lt;br /&gt;
Now you can configure your new SatNOGS station. Plug in your RTL-SDR if you haven't already.&lt;br /&gt;
&lt;br /&gt;
====Basic Configuration====&lt;br /&gt;
Then the actual configuration of the station:&lt;br /&gt;
&lt;br /&gt;
#Run '''sudo satnogs-setup''' again.&lt;br /&gt;
#Use the up/down and TAB keys to navigate, and Enter to select an option.&lt;br /&gt;
#Basic Configuration:&lt;br /&gt;
##SATNOGS_API_TOKEN: After logging in to network.satnogs.org, this is in the upper right under &amp;quot;API Key&amp;quot; [no longer exsists? Add direct link]&lt;br /&gt;
##SATNOGS_SOAPY_RX_DEVICE: driver=rtlsdr&lt;br /&gt;
##SATNOGS_RX_SAMP_RATE: 2.048e6&lt;br /&gt;
##SATNOGS_RX_GAIN: Refer &amp;quot;Setting the gain&amp;quot; section below.&lt;br /&gt;
##SATNOGS_STATION_ELEV: station elevation in meters&lt;br /&gt;
##SATNOGS_STATION_ID: The ID number of your station.&lt;br /&gt;
##SATNOGS_STATION_LAT and LON: Latitude and Longitude in decimal degrees&lt;br /&gt;
&lt;br /&gt;
Then back to the main menu and ''Apply'' to save the configuration. Ansible will run and update the system. If you want to quit, just keep pressing cancel to exit.&lt;br /&gt;
&lt;br /&gt;
====Setting the gain====&lt;br /&gt;
The next step is to set the gain on the RTL SDR. The aim here (in the majority of cases) is to set the gain of your station to maximise sensitivity (best noise figure), but without limiting the available dynamic range of your station due to your local noise floor. This can be achieved in a fairly simple manner, by watching the level of the receivers noise floor as you slowly increase the receiver gain. At some point the noise floor will start to rise - at this point increasing the gain any further will of no use - you will only increase the noise level, and eat into your receiver's available dynamic range (for a RTLSDR, theoretically only 48 dB).&lt;br /&gt;
&lt;br /&gt;
There may be situations where strong local interferers may require the use of a lower gain setting to avoid intermodulation products appearing in the passband, though these cases would be better solved with a suitable bandpass filter somewhere in the receive chain.&lt;br /&gt;
&lt;br /&gt;
First, it is good to know the available gain range of your SDR. This can be accomplished by running &amp;lt;code&amp;gt;SoapySDRUtil --probe&amp;lt;/code&amp;gt;, which provides a considerable amount of information about the connected SDR:&lt;br /&gt;
 pi@satnogs:~ $ SoapySDRUtil --probe&lt;br /&gt;
 ######################################################&lt;br /&gt;
 ## Soapy SDR -- the SDR abstraction library&lt;br /&gt;
 ######################################################&lt;br /&gt;
 &lt;br /&gt;
 Probe device&lt;br /&gt;
 &lt;br /&gt;
 Found Rafael Micro R820T tuner&lt;br /&gt;
 [INFO] [UHD] linux; GNU C++ version 8.2.0; Boost_106700; UHD_3.13.1.0-3&lt;br /&gt;
 Found Rafael Micro R820T tuner&lt;br /&gt;
 &lt;br /&gt;
 ----------------------------------------------------&lt;br /&gt;
 -- Device identification&lt;br /&gt;
 ----------------------------------------------------&lt;br /&gt;
   driver=RTLSDR&lt;br /&gt;
   hardware=RTLSDR&lt;br /&gt;
   origin=&amp;lt;nowiki&amp;gt;https://github.com/pothosware/SoapyRTLSDR&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   rtl=0&lt;br /&gt;
 &lt;br /&gt;
 ----------------------------------------------------&lt;br /&gt;
 -- Peripheral summary&lt;br /&gt;
 ----------------------------------------------------&lt;br /&gt;
   Channels: 1 Rx, 0 Tx&lt;br /&gt;
   Timestamps: NO&lt;br /&gt;
   Other Settings:&lt;br /&gt;
      * Direct Sampling - RTL-SDR Direct Sampling Mode&lt;br /&gt;
        [key=direct_samp, default=0, type=string, options=(0, 1, 2)]&lt;br /&gt;
      * Offset Tune - RTL-SDR Offset Tuning Mode&lt;br /&gt;
        [key=offset_tune, default=false, type=bool]&lt;br /&gt;
      * I/Q Swap - RTL-SDR I/Q Swap Mode&lt;br /&gt;
        [key=iq_swap, default=false, type=bool]&lt;br /&gt;
 &lt;br /&gt;
 ----------------------------------------------------&lt;br /&gt;
 -- RX Channel 0&lt;br /&gt;
 ----------------------------------------------------&lt;br /&gt;
   Full-duplex: YES&lt;br /&gt;
   Supports AGC: YES&lt;br /&gt;
   Stream formats: CS8, CS16, CF32&lt;br /&gt;
   Native format: CS8 [full-scale=128]&lt;br /&gt;
   Stream args:&lt;br /&gt;
      * Buffer Size - Number of bytes per buffer, multiples of 512 only.&lt;br /&gt;
        [key=bufflen, units=bytes, default=262144, type=int]&lt;br /&gt;
      * Ring buffers - Number of buffers in the ring.&lt;br /&gt;
        [key=buffers, units=buffers, default=15, type=int]&lt;br /&gt;
      * Async buffers - Number of async usb buffers (advanced).&lt;br /&gt;
        [key=asyncBuffs, units=buffers, default=0, type=int]&lt;br /&gt;
   Antennas: RX&lt;br /&gt;
   Full gain range: [0, 49.6] dB&lt;br /&gt;
     TUNER gain range: [0, 49.6] dB&lt;br /&gt;
   Full freq range: [23.999, 1764] MHz&lt;br /&gt;
     RF freq range: [24, 1764] MHz&lt;br /&gt;
     CORR freq range: [-0.001, 0.001] MHz&lt;br /&gt;
   Sample rates: 0.25, 1.024, 1.536, 1.792, 1.92, 2.048, 2.16, 2.56, 2.88, 3.2 MSps&lt;br /&gt;
The above output is for a RTLSDR, and we can see that there is information on the 'Full gain range', and 'TUNER' gain. The Full gain setting is an 'abstracted' gain range, which in this case just directly links to the 'TUNER' gain, as that is the only gain setting presented by the RTLSDR driver. Other SDRs (e.g. AirSpy) may present more gain controls. Anyway, we can see that the gain range is 0 through 49.6 dB. It's quite possible that there are only discrete gain steps within this range (and this is very true for the RTLSDR), but SoapySDR will hide that from us and automatically use the nearest valid setting.&lt;br /&gt;
&lt;br /&gt;
Next up, we want a way of seeing a live spectrum from the SDR. This might be difficult, especially if you're just gone and mounted a RTLSDR in a metal box up a pole! Well, SoapySDR comes to the rescue again with SoapySDR Server - this allows us to serve up the SDR on the network, and access it with a client.&lt;br /&gt;
&lt;br /&gt;
Note: SoapySDR Server is not currently installed by default. It can be installed by running the commands:&lt;br /&gt;
 $ sudo apt-get install soapyremote-server&lt;br /&gt;
By default, SoapySDR Server may be configured to startup on boot. We probably don't want this, so run the following commands to ensure it is stopped, and will not startup on boot:&lt;br /&gt;
 $ sudo systemctl stop soapyremote-server&lt;br /&gt;
 $ sudo systemctl disable soapyremote-server&lt;br /&gt;
&lt;br /&gt;
(These commands may result in errors indicating that the server wasn't running and/or enabled. This is OK! &lt;br /&gt;
&lt;br /&gt;
[https://cubicsdr.com/ CubicSDR] is a good cross-platform client that can connect to a SoapySDR Server, and you can [https://github.com/cjcliffe/CubicSDR/releases download the latest release by clicking here].  &lt;br /&gt;
&lt;br /&gt;
On the RPi, you can manually start SoapySDR Server by running: &amp;lt;code&amp;gt;SoapySDRServer --bind=&amp;quot;0.0.0.0:55132&amp;quot;&amp;lt;/code&amp;gt;  Leave this running. &lt;br /&gt;
&lt;br /&gt;
Note: If you need to use the Bias-T option of an RTLSDR, you will need to activate this manually prior to running SoapySDRServer. This can be accomplished by [[Software Defined Radio#Using RTL-SDR.com V3 Dongle.27s Bias-T Power Supply|compiling the rtl_biast utility]], and running it with &amp;lt;code&amp;gt;./rtl_biast -b 1&amp;lt;/code&amp;gt; .  ('''NOTE: This advice may be outdated - need to confirm how to set the RTLSDRs bias on more recent SoapySDR versions)''' &lt;br /&gt;
&lt;br /&gt;
Open up CubicSDR on another computer, on the same network as your SatNOGS station. It will pop up a window asking you to select a SDR device. With any luck, it will have auto-detected your SoapySDR Server, and it will show up in the 'Local Net' list. If not, you will need to select 'Remote', click 'Add', and then enter the IP address of your station. You should then have a SDR showing up in the list.&lt;br /&gt;
[[File:Screen Shot 2020-03-19 at 10.41.52 pm.png|alt=CubicSDR SDR Devices List|none|thumb|600x600px|CubicSDR SDR Devices List]]&lt;br /&gt;
You should now be able to click 'Start', and end up with a waterfall display. If the waterfall appears to glitch, or show a 'lumpy' pattern near the centre of the display, then this indicates packet loss between the SatNOGS station and your client. Try and connect via a direct LAN connection if possible. &lt;br /&gt;
In the settings menu of CubicSDR, disable &amp;quot;Automatic Gain&amp;quot; if it is set. This will allow manual control over the gain settings via sliders that will show up at the top left of the window.&lt;br /&gt;
[[File:CubicSDR Main Window.png|alt=CubicSDR Main Window (Annotated)|none|thumb|900x900px|CubicSDR Main Window (Annotated)]]&lt;br /&gt;
The above Figure shows the CubicSDR window, with the spectrum area, frequency selection, and gain settings annotated. Set the frequency to something suitable for your station. For example, if you are setting up a 70cm station, set a frequency of 437 MHz (437000000 Hz). For a 2m station, try 146 MHz.&lt;br /&gt;
Drag the gain slider so that the gain (visible at the bottom of the slider) is set to zero. Then, slowly drag it up until you see the noise floor start to rise. The gain at which this occurs is the gain you should set in SATNOGS_RF_GAIN.  &lt;br /&gt;
&lt;br /&gt;
To set the gain in satnogs go back to the RPI and stop the soapy remote server with ctrl-c.  Run satnogs-setup, open the 'Advanced' menu, then the Radio settings.  Set the gain in the SATNOGS_RF_GAIN variable.&lt;br /&gt;
[[File:SATNOGS RF GAIN.png|center|frame|Setting SATNOGS_RF_GAIN]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some SDRs may present more than one gain slider. In these situations, you will need to configure SatNOGS with each gain set individually. [[Software Defined Radio#E4000 Tuner Gain Settings|Refer here]] for more information on how to do this.&lt;br /&gt;
&lt;br /&gt;
As an example, the following figure shows the noise floor observed on a station with a RTLSDR and a ~25dB masthead preamplifier, as gain levels on the RTLSDR are increased:&lt;br /&gt;
[[File:RTLSDR Noise Floor Variation with Gain Adjustment.png|alt=RTLSDR Noise Floor Variation with Gain Adjustment|none|thumb|900x900px|RTLSDR Noise Floor Variation with Gain Adjustment]]&lt;br /&gt;
We can see that between 0 db and 20 dB of gain there is essentially no change in the noise floor - this indicates the receive system is limited by the noise figure of the RTLSDR. As the gain increases through 30 dB, the noise floor starts to lift, indicating that we are now most likely limited by either the noise figure of the preamplifier, or the local noise environment. Any increase in gain past this point just results in reduction of the available receiver dynamic range.&lt;br /&gt;
&lt;br /&gt;
CubicSDR DOES NOT autorange its waterfall, in contrast, SatNOGS DOES autorange its waterfall.  When you adjust the gain in CubicSDR the waterfall background will dramatically change, but when you adjust the gain in SatNOGS the waterfall background will not change color.  See the web page documenting  autoranging waterfalls:&lt;br /&gt;
&lt;br /&gt;
https://docs.satnogs.org/projects/satnogs-client/en/stable/userguide.html#satnogs-waterfall-autorange&lt;br /&gt;
&lt;br /&gt;
'''Important Note: While CubicSDR is connected to the SDR, your SatNOGS ground station cannot run observations! Make sure to close CubicSDR when you have finished setting the gain.'''&lt;br /&gt;
&lt;br /&gt;
===Hardware Configuration===&lt;br /&gt;
Basic hardware configuration is Antenna &amp;gt; Short coax &amp;gt; LNA &amp;gt; Coax &amp;gt; RTL SDR -&amp;gt; Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
===LNA===&lt;br /&gt;
The way to measure the performance of an antenna is using a figure of merit called the Antenna gain-to-noise-temperature (G/T). It's a positive unitless number, higher the better.&lt;br /&gt;
&lt;br /&gt;
G/T is comprised of antenna gain (in dB) on the top, and the system noise temperature (in Kelvins) on the bottom. There's a lot of somewhat-hard math involved, but here's the bottom line: to make your system perform better, you either need to increase the antenna gain or decrease the system noise temp. [https://en.wikipedia.org/wiki/Antenna_gain-to-noise-temperature Wikipedia]&lt;br /&gt;
&lt;br /&gt;
Increasing the antenna gain is difficult, only because we decided on an omnidirectional antenna as the basis for this How-To. Omnidirectional antennas top out at maybe 4-6 dBi gain or so, and that's just from pushing the radiation pattern up to the sky away from the ground. Any more gain than that and it's not an omni antenna; it's got a direction that the antenna needs to be pointed in. And we want to stay away from pointing antennas for now.&lt;br /&gt;
&lt;br /&gt;
Reducing the system temperature is the the way forward then. The RTL-SDR dongle has a noise figure of 6dB or so, depending on frequency, which is pretty horrible. But it turns out that the system noise temperature is largely determined by the first device in the receive chain. Since we can't change the antenna, adding a low-noise amplifier helps quite a bit. See this [https://www.youtube.com/watch?v=snifc_x_2sE youtube video] from Adam 9A4QV on how a LNA helps. (Also check out his other videos about the RTL SDR dongle, and SDR in general)&lt;br /&gt;
&lt;br /&gt;
More info on SDR noise figures:&lt;br /&gt;
&lt;br /&gt;
*[https://gitlab.com/librespacefoundation/sdrmakerspace/sdreval/-/raw/master/Report/pdf/Evaluation_of_SDR_Boards-1.0.pdf Evaluation of SDR Boards and Toolchains] from the [https://sdrmaker.space/ SDR Makerspace]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More info on noise and preamps:&lt;br /&gt;
&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Noise_temperature System noise from wikipedia], pretty high-level&lt;br /&gt;
*[https://www.rtl-sdr.com/tutorial-on-properly-positioning-a-preamp-lna-in-a-radio-system/ Where to put an LNA], from rtl-sdr.com&lt;br /&gt;
*[[SPF1589 LNA measurements|SPF5189 LNA measurements]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adding a LNA can also add its own set of problems, in that it may amplify strong local signals which may overload your SDR. When adding a LNA, you will likely need to back off the gain on your SDR to avoid this. It's also possible that the strong local signals may cause distortion to occur in the LNA itself, in which case you should consider the use of a filter between the LNA and the antenna. Some example products:&lt;br /&gt;
&lt;br /&gt;
*If you are experiencing issues with FM broadcast stations, a [https://www.rtl-sdr.com/rtl-sdr-com-broadcast-fm-band-stop-filter-88-108-mhz-reject-now-for-sale/ FM band-stop filter] may help.&lt;br /&gt;
*[https://www.minikits.com.au/electronic-kits/rf-amplifiers/rf-preamplifiers MiniKits masthead preamps] include fairly low-loss bandpass filters for their target bands (2m, 70cm).&lt;br /&gt;
&lt;br /&gt;
All filters will have some inherent loss, which adds to the system noise figure (or temperature, as discussed above), but this is a compromise that may need to be made to avoid distortion issues.&lt;br /&gt;
&lt;br /&gt;
Finally, using a LNA near the antenna means that we can accept some losses from a long coaxial cable run between the LNA and the receiver, allowing us to situate the antenna away from sources of local noise that may impact overall performance.&lt;br /&gt;
&lt;br /&gt;
As briefly discussed above, it's the first device in the receive chain which dominates the overall system noise temperature (or noise figure). In brief, as long as the losses in the coaxial cable are less than the gain of the LNA, your overall system noise figure won't degrade too much. As an example a 20m run of RG58 has a loss of ~10dB at 434 MHz. Using a LNA with a gain of 20dB and a noise figure of 1dB, the overall system noise figure is still only ~1.4 dB, and acceptable degradation.&lt;br /&gt;
&lt;br /&gt;
===Antenna===&lt;br /&gt;
For testing on the bench, pretty much any antenna will do, however set your expectations accordingly:&lt;br /&gt;
&lt;br /&gt;
*A vertical antenna (e.g. the telescopic whips that come with many RTLSDRs) will not receive high-elevation passes well, as they have a 'null' in their antenna pattern directly overhead. When a satellite is at a lower elevation it is further away, and so will be weaker.&lt;br /&gt;
*A dipole antenna (be it a straight, or a v-dipole) will have similar issues, though where the null is located will depend on how you orient the dipole. Either way, there will be some portions of a satellite pass with poor performance.&lt;br /&gt;
*If your antenna is located inside, near to your house mains wiring, or near other electrical devices, it may end up being swamped by lots of local electrical noise and end up being 'deaf' - in this situation a LNA will only make the situation worse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Refer to the [[Antennas|Antennas page]] for more information on antennas which are well suited to satellite observations.&lt;br /&gt;
&lt;br /&gt;
==Testing the station==&lt;br /&gt;
[[File:Pass predictions.png|300px|right]]&lt;br /&gt;
Now that you have the hardware and software up and running, go ahead and schedule some passes. Navigate to your station page, and click on the Schedule button on the right side of some promising passes. The green and red bars beneath the satellite name is a quick visual indication of the number of Good and Bad passes on the network. Unfortunately, this data is not time-stamped at all, so a satellite that had a lot of Good observations a long time ago, but recently died, would still show as Green.&lt;br /&gt;
&lt;br /&gt;
===Recommended Satellite Transmitters for Station Performance Benchmarking===&lt;br /&gt;
A few known-good satellite transmitters to test with with (as of November 2020) are:&lt;br /&gt;
&lt;br /&gt;
*For a station operating on the VHF Band:&lt;br /&gt;
**NOAA 15, 18, 19- The APT transmitters (very strong signals - considered to be the 'hello world' of satellite observations)&lt;br /&gt;
**ISS - If operating, the APRS transmitter is very strong, but may only transmit intermittently throughout a pass.&lt;br /&gt;
**CAS4A / CAS4B - Continuous CW and GMSK transmitters - a good example of a 'weaker' cube-sat signal.&lt;br /&gt;
**Max Valier Sat - Another weaker CW signal.&lt;br /&gt;
*For a station operating on the UHF band:&lt;br /&gt;
**FalconSat3 - The FSK downlink transmits continuously, and is an excellent benchmark for overall station performance. A high performing station may receive upwards of 600 data packets in a single pass.&lt;br /&gt;
**SpooQy-1 - Regular GMSK packets.&lt;br /&gt;
**OPS-SAT - Regular GMSK packets, fairly strong.&lt;br /&gt;
**ARMADILLO - A higher data rate signal, requiring a fairly good SNR to be able to decode the (hillarious) 19.2kbps GFSK packets.&lt;br /&gt;
**LUSAT - CW Signal Generator in space. Continuous, strong signal.&lt;br /&gt;
&lt;br /&gt;
===Rating an Observation===&lt;br /&gt;
[[File:Waterfall Vetting Buttons.png|right|frameless]]&lt;br /&gt;
After each observation, you should rate it. More information [https://wiki.satnogs.org/Operation#Rating_observations here], but the bottom line is rate the observation:&lt;br /&gt;
&lt;br /&gt;
*'''Good''' if the satellite is seen in the waterfall at all. Different modulations appear differently in the waterfall, but will appear&lt;br /&gt;
*'''Bad''' if the satellite is not seen.&lt;br /&gt;
&lt;br /&gt;
Observations which do not produce any artefacts (Waterfall, audio, data packets) will automatically be considered as failed, and will eventually be deleted.&lt;br /&gt;
&lt;br /&gt;
For a more detailed guide on testing, see [[Operation]]&lt;br /&gt;
&lt;br /&gt;
===Calibrating frequency offset (PPM)===&lt;br /&gt;
If your observations result in signals which appear to be 'off centre' of the waterfall, then you may need to set a frequency offset correction. Guides on how to determine this correction via a few different methods are available here: [[Adjusting the SatNOGS Client#Frequency Offset Calibration]]&lt;br /&gt;
&lt;br /&gt;
===Mitigating Local Noise===&lt;br /&gt;
If you are finding the signal-to-noise of your observation seems a bit low, or you aren't seeing any signals from the known-good satellites listed above, then your station may be limited by local electrical noise. A more comprehensive guide on how to identify sources of noise is being developed, but as a starting point:&lt;br /&gt;
&lt;br /&gt;
*Turn on/off nearby electrical devices while an observation is running (or while looking at a waterfall using CubicSDR as described further above).&lt;br /&gt;
*Common sources of electrical noise include:&lt;br /&gt;
**LED lightbulbs or floodlights&lt;br /&gt;
**USB Chargers (or really any switch-mode power supply)&lt;br /&gt;
**Power-over-Ethernet systems&lt;br /&gt;
**Unshielded ethernet cables (or even shielded cables)&lt;br /&gt;
**HDMI and DVI cables, and computer monitors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Next Steps==&lt;br /&gt;
Now that you've got this station working on the bench, what's next?&lt;br /&gt;
&lt;br /&gt;
*Buy/Build an antenna suited to satellite observations. Check out the [[Antennas|Antennas page]] for ideas.&lt;br /&gt;
*Mount your antenna away from obstructions, and ideally away from sources of electrical noise like ethernet cables, LED lights, and other electronic equipment.&lt;br /&gt;
*Situate your SDR and Raspberry Pi (or other computer) as far away as practical from your antenna. If you absolutely must mount it on the mast beneath the antenna and use a metal box, and run a separate DC power supply instead of using PoE (which can produce considerable amount of RF noise)&lt;br /&gt;
&lt;br /&gt;
===Building a Box===&lt;br /&gt;
&lt;br /&gt;
*[https://wiki.satnogs.org/No_rotator No-Rotator setup]  (Note the warning at the top of this page)&lt;br /&gt;
&lt;br /&gt;
[[ Category:Build ]]&lt;br /&gt;
[[ Category:Hardware ]]&lt;br /&gt;
[[ Category:Antenna ]]&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Glossary&amp;diff=3790</id>
		<title>Glossary</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Glossary&amp;diff=3790"/>
		<updated>2021-10-22T15:47:03Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: Add link to spacecraft attitude&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;This is a list of common terms and abbreviations used in the satellite community. __NOTOC__&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Altitude&amp;lt;/strong&amp;gt; - Sometimes referred to as elevation, is the angle between the object and the observer's local horizon. For visible objects it is an angle between 0 degrees to 90 degrees&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Attitude&amp;lt;/strong&amp;gt; - Spacecraft orientation in space, see [https://en.wikipedia.org/wiki/Attitude_control#Spacecraft_attitude_control Spacecraft Attitude Control] &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Azimuth&amp;lt;/strong&amp;gt; - The azimuth is the angle between the north vector and the perpendicular projection of the satellite (or star) down onto the horizon. Azimuth is usually measured in degrees (&amp;amp;deg;). The concept is used in navigation, astronomy, engineering, mapping, mining and artillery.&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Dashboard&amp;lt;/strong&amp;gt; -&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Decoder&amp;lt;/strong&amp;gt; -&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Demodulator&amp;lt;/strong&amp;gt; -&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Elevation&amp;lt;/strong&amp;gt; - The elevation is the angle above the horizon. Elevation is normally measured in degrees (&amp;amp;deg;).The concept is used in navigation, astronomy, engineering, mapping, mining and artillery.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Fixed Ground Station&amp;lt;/strong&amp;gt; - A ground station that uses fixed antennas that wait for the satllite to pass overhead. There are no moving parts in this system.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Glouton&amp;lt;/strong&amp;gt; -&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Ground Station&amp;lt;/strong&amp;gt; - A hardware and software combination that comprises primarily of a receiver, SatNOGS client and antenna. There are two main types. Fixed and Steerable.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Helical Antenna&amp;lt;/strong&amp;gt; -&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Horizontal Co-ordinate System&amp;lt;/strong&amp;gt; - Sometimes also called the az/el system, the Alt/Az system or the altazimuth system (from the name of the altazimuth mount for telescopes, whose two axes follow altitude and azimuth) is a celestial coordinate system that uses the observer's local horizon as the fundamental plane. It is expressed in terms of altitude (or elevation) angle and azimuth.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Observation&amp;lt;/strong&amp;gt; - The scheduling and vetting of a particular satellite through a specific ground station. Observations are scheduled using the SatNOGS Network&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;RTL-SDR&amp;lt;/strong&amp;gt; - A cheal USB 'dongle' based on a commonly available chipset that can be used as a broadband VHF and UHF receiver. There are a huge variety of dongles with a price ranging from $3 to $30+&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Rotator&amp;lt;/strong&amp;gt; - The Rotator is the mechanism that points the antenna at a satellite, and follows it as it passes overhead. There are multiple versions of the SatNOGS Rotator: * [[SatNOGS Rotator v1|Version 1]] * [[SatNOGS Rotator v2|Version 2]] * [[SatNOGS Rotator v3|Version 3]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;SatNOGS Client&amp;lt;/strong&amp;gt; - Software used to handle scheduling and controlling observations at the ground station&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;SatNOGS DB&amp;lt;/strong&amp;gt; - A database of all of the satellites that can be observed through the SatNOGS system. The database contains a brief explanation fo the satelitte, its transmitters and TLE's required to conduct an observation.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;SatNOGS Network&amp;lt;/strong&amp;gt; - The infrastructure based around a client and server that handles observations and the results of the obervations.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Satellite&amp;lt;/strong&amp;gt; - In the context of spaceflight, a satellite is an artificial object which has been intentionally placed into orbit. Such objects are sometimes called artificial satellites to distinguish them from natural satellites such as Earth's Moon. Satellites are used for a large number of purposes. Common types include military and civilian Earth observation satellites, communications satellites, navigation satellites, weather satellites, and research satellites. Space stations and human spacecraft in orbit are also satellites. Satellite orbits vary greatly, depending on the purpose of the satellite, and are classified in a number of ways.&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Steerable Ground Station&amp;lt;/strong&amp;gt; - A ground station that makes use of a rotator to point antennas at a satellite as it passes overhead. This set up will require a rotator.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;TLE&amp;lt;/strong&amp;gt; -&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Turnstile Antenna&amp;lt;/strong&amp;gt; -&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Yagi Antenna&amp;lt;/strong&amp;gt; -&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:Software]]&lt;br /&gt;
[[Category:Build]]&lt;br /&gt;
[[Category:Operate]]&lt;br /&gt;
[[Category:Develop]]&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Omnidirectional_Station_How_To&amp;diff=3789</id>
		<title>Omnidirectional Station How To</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Omnidirectional_Station_How_To&amp;diff=3789"/>
		<updated>2021-10-22T15:01:23Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: /* Configuring the satnogs-client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Omnidirectional VHF Turnstile Antenna.jpg|alt=VHF Turnstile Antenna|thumb|VHF Turnstile antenna, [https://network.satnogs.org/stations/23/ SatNOGS Station 23]]]&lt;br /&gt;
This How-To is written to get you quickly receiving satellite data with an Omnidirectional antenna (an antenna that does not move).&lt;br /&gt;
&lt;br /&gt;
==Prerequisites/Background==&lt;br /&gt;
I'm assuming that you are a bit familiar with amateur radio, or linux in general, or you already have a Raspberry Pi. &lt;br /&gt;
&lt;br /&gt;
===Expectation Management===&lt;br /&gt;
First off, I'd like to set some expectations around a SatNOGS station with an omnidirectional antenna. Yes, you will be able to hear satellites, Morse code beacons, maybe even some voice contacts on a FM transponder. But for CubeSats with 1 watt transmitters at 9600 baud, it's going to be really difficult to actually decode any data with an omni antenna. You'll definitely see squiggly lines on the waterfall plot, but demodulating the signal and extracting satellite telemetry is going to be pretty difficult.&lt;br /&gt;
&lt;br /&gt;
The only way to get more signal is a better antenna. And a better antenna with more gain is going to be more directional, which means you will need a way to point that antenna at the satellite, and this How-To just got a lot more complicated. So we're not going there.&lt;br /&gt;
&lt;br /&gt;
A better preamp helps a bit, see the LNA section below.&lt;br /&gt;
&lt;br /&gt;
===Hardware Required===&lt;br /&gt;
This is a list of the hardware for indoor/testing purposes:&lt;br /&gt;
&lt;br /&gt;
*Raspberry Pi&lt;br /&gt;
**Power supply + cable (see note below)&lt;br /&gt;
**Up to 16 GB Micro SD card&lt;br /&gt;
**Ethernet cable&lt;br /&gt;
*RTL SDR Blog v3 dongle&lt;br /&gt;
*Various short lengths of coax&lt;br /&gt;
*Preamp/LNA - Or not if your coax is short, see LNA section below&lt;br /&gt;
*Omnidirectional antenna - just a dual mag-mount on a cookie sheet will work OK for stronger satellites&lt;br /&gt;
&lt;br /&gt;
==Setting up the Raspberry Pi==&lt;br /&gt;
I chose the [https://www.raspberrypi.org/products/raspberry-pi-3-model-b/ Raspberry Pi 3 Model B] for my station. SatNOGS is known to work on the RPi 3B, 3B+ and 4 models. &lt;br /&gt;
&lt;br /&gt;
===Downloading/Writing the SD image===&lt;br /&gt;
The SatNOGS team has done a great job creating a Raspbian image with all the required software. &lt;br /&gt;
The latest download is given in the [[Raspberry_Pi#Download|Download section]].&lt;br /&gt;
&lt;br /&gt;
====Installing Image on Linux====&lt;br /&gt;
* Unzip the downloaded file: &lt;br /&gt;
  &amp;lt;pre&amp;gt;unzip artifacts.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Figure out which device is the SD card. SD cards are usually start with mmcblk.&lt;br /&gt;
  &amp;lt;pre&amp;gt;sudo lsblk&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Write the image. This will take a while. Make sure you don't overwrite your host OS:&lt;br /&gt;
  &amp;lt;pre&amp;gt;sudo dd if=&amp;lt;latest_image_date&amp;gt;-Raspbian-SatNOGS-lite.img of=/dev/mmcblk0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Installing Image on Linux/Windows/MacOS (using Rasperry Pi Imager)====&lt;br /&gt;
{{Warning|WARNING: This section was recently added. Please test and if it works, remove this banner.}}&lt;br /&gt;
&lt;br /&gt;
This section describes the installation of installing the previously downloaded image to an SD card using the cross-platform Raspberry Pi Imager. [https://www.raspberrypi.com/documentation/computers/getting-started.html#using-raspberry-pi-imager|This guides] explains the process using this tool in more detail.&lt;br /&gt;
&lt;br /&gt;
* Download the latest version of [https://www.raspberrypi.com/software/|Raspberry Pi Imager]&lt;br /&gt;
* Connect an SD card reader with the SD card inside&lt;br /&gt;
* Open Raspberry Pi Imager and choose the previously downloaded image from &amp;quot;Choose OS &amp;gt; Use custom &amp;gt; artifacts.zip&amp;quot;&lt;br /&gt;
* Review your selections and click '''Write''' button to begin writing data to the SD card.&lt;br /&gt;
&lt;br /&gt;
===Power notes===&lt;br /&gt;
Thinking I could save a few bucks, I used a no-name generic 2.4 amp &amp;quot;tablet&amp;quot; USB power supply I got as a freebie, and a micro-USB cable I use for charging my phone. What a mistake! The Micro-USB cable wire gauge was too small, so there was too much voltage drop on the cable, so the Raspberry Pi reported power problems every time it was doing anything.&lt;br /&gt;
&lt;br /&gt;
Power problems are indicated by either a lightning bolt in the upper right of the monitor, or the red power LED flashes on the board itself. If The Raspberry Pi processor itself is pretty forgiving of power droops because it runs at 3.3 volts. But the 5v USB ports are directly tied to input power, so undervoltage conditions will cause problems for USB devices, such as the RTL SDR dongle.&lt;br /&gt;
&lt;br /&gt;
==Software Configuration==&lt;br /&gt;
===Creating a SatNOGS Account===&lt;br /&gt;
There are several different websites to be aware of. Most of our websites use a unified login provided by Auth0, so when you create an account on one of these sites it will work across all the others as well.&lt;br /&gt;
&lt;br /&gt;
*[https://network.satnogs.org/ Network]: for registering your station and adding data to the network.&lt;br /&gt;
*[https://db.satnogs.org/ Database]: for all data on satellites and its transmitters.&lt;br /&gt;
*[https://community.libre.space Forums]: for questions and discussions.&lt;br /&gt;
*[https://wiki.satnogs.org/ Wiki]: this wiki for all kinds of documentation.&lt;br /&gt;
&lt;br /&gt;
===Registering the station===&lt;br /&gt;
You can add your new ground station [https://network.satnogs.org/stations/edit/ here]. When following the link it will ask you to login. Either use your existing account or register a new one.&lt;br /&gt;
&lt;br /&gt;
The following information is required:&lt;br /&gt;
* Station name, e.g. &amp;quot;Athens3-UHF&amp;quot;&lt;br /&gt;
* Location:&lt;br /&gt;
** Latitude (e.g., 38.0169)&lt;br /&gt;
** Longitude (e.g., 23.7312)&lt;br /&gt;
** Altitude above WGS84 in Meters (e.g., 20)&lt;br /&gt;
* At least one antenna.&lt;br /&gt;
** Click '''New antenna'''&lt;br /&gt;
** Choose the type (e.g. Turnstile)&lt;br /&gt;
** Add a range (e.g. VHF or UHF)&lt;br /&gt;
** Press '''Save changes'''&lt;br /&gt;
&lt;br /&gt;
Fill out the form, click '''Submit''' and your station will be added to the Network. You can leave the other settings unchanged for now.&lt;br /&gt;
&lt;br /&gt;
To help your fellow operators please consider placing the following information into the &amp;quot;Description&amp;quot; field for your station: Antenna gain and location, preamp info (if any), SDR device, some kind of contact info perhaps [[Get_In_Touch#Chat_with_us_on_our_Matrix_room |irc/matrix]] or [https://community.libre.space/ community forum] username or email address.&lt;br /&gt;
&lt;br /&gt;
===Booting and Configuring Raspbian===&lt;br /&gt;
{{Warning|WARNING: This section describes steps which are not always required. When using ssh for setup, the steps might be different. This section should be updated to reflect this. }}&lt;br /&gt;
&lt;br /&gt;
After you have the image burned onto a Micro-SD card, boot it! I would recommend hooking up a keyboard and HDMI monitor, you can watch the boot process. If it doesn't boot at all, double check that you wrote the SatNOGS Raspbian image correctly.&lt;br /&gt;
&lt;br /&gt;
After a successful boot, log in with username '''pi''' and password '''raspberry'''&lt;br /&gt;
&lt;br /&gt;
#Change your password! '''passwd'''&lt;br /&gt;
#Run '''sudo raspi-config''' to set up the base OS. ''Tab'' switches between the options and ''select''.&lt;br /&gt;
##4 Localisation Options: I1 Change Locale: en_US.UTF-8 UTF-8&lt;br /&gt;
##4 Localisation Options: I2 Change Timezone: None of the above: UTC&lt;br /&gt;
##4 Localisation Options: I3 Change Keyboard Layout:&lt;br /&gt;
##7 Advanced Options: A1 Expand Filesystem &amp;lt;br /&amp;gt;This will expand the ~2GB Micro-SD card partition to fill the entire SD card.&lt;br /&gt;
&lt;br /&gt;
The Raspberry Pi needs to reboot to expand the filesystem, so do this now. It might take a while. '''sudo reboot''&lt;br /&gt;
&lt;br /&gt;
====Disabling WiFi and Bluetooth====&lt;br /&gt;
{{Message|INFO: This step can be skipped. }}&lt;br /&gt;
To disable WiFi and Bluetooth, edit the /boot/config.txt file, and add the following lines at the bottom:&lt;br /&gt;
&lt;br /&gt;
 # Disable WiFi and Bluetooth&lt;br /&gt;
 dtoverlay=pi3-disable-wifi&lt;br /&gt;
 dtoverlay=pi3-disable-bt&lt;br /&gt;
&lt;br /&gt;
Then reboot again. To make sure that it worked, run '''ifconfig''' and make sure that ''wlan0'' isn't listed. I'm not sure how to tell if bluetooth is turned off.&lt;br /&gt;
&lt;br /&gt;
Note: Newer versions of Raspbian may require the following lines instead of the above.&lt;br /&gt;
&lt;br /&gt;
 # Disable WiFi and Bluetooth&lt;br /&gt;
 dtoverlay=disable-wifi&lt;br /&gt;
 dtoverlay=disable-bt&lt;br /&gt;
&lt;br /&gt;
====Additional software====&lt;br /&gt;
I like to install this additional software with '''sudo apt install bmon''' ...&lt;br /&gt;
&lt;br /&gt;
*bmon - a graphical network usage analyzer.&lt;br /&gt;
*vnstat - keeps track of your bandwidth usage&lt;br /&gt;
*vim - the world's best text editor ;)&lt;br /&gt;
*irssi - a terminal IRC client, for chatting on the #satnogs IRC channel&lt;br /&gt;
&lt;br /&gt;
If you can't tell by now, I'm always a big fan of rebooting. It certainly doesn't take that long... '''sudo reboot'''&lt;br /&gt;
&lt;br /&gt;
===Update the SatNOGS Client Software to latest version===&lt;br /&gt;
Once you have the SatNOGS OS image installed and running you should  [https://wiki.satnogs.org/SatNOGS_Client_Setup#Updating_SatNOGS_Client_Software| Update the SatNOGS Client Software].&lt;br /&gt;
&lt;br /&gt;
===Configuring the satnogs-client===&lt;br /&gt;
Now you can configure your new SatNOGS station. Plug in your RTL-SDR if you haven't already.&lt;br /&gt;
&lt;br /&gt;
====Basic Configuration====&lt;br /&gt;
Then the actual configuration of the station:&lt;br /&gt;
&lt;br /&gt;
#Run '''sudo satnogs-setup''' again.&lt;br /&gt;
#Use the up/down and TAB keys to navigate, and Enter to select an option.&lt;br /&gt;
#Basic Configuration:&lt;br /&gt;
##SATNOGS_API_TOKEN: After logging in to network.satnogs.org, this is in the upper right under &amp;quot;API Key&amp;quot; [no longer exsists? Add direct link]&lt;br /&gt;
##SATNOGS_SOAPY_RX_DEVICE: driver=rtlsdr&lt;br /&gt;
##SATNOGS_RX_SAMP_RATE: 2.048e6&lt;br /&gt;
##SATNOGS_RX_GAIN: Refer &amp;quot;Setting the gain&amp;quot; section below.&lt;br /&gt;
##SATNOGS_STATION_ELEV: station elevation in meters&lt;br /&gt;
##SATNOGS_STATION_ID: The ID number of your station.&lt;br /&gt;
##SATNOGS_STATION_LAT and LON: Latitude and Longitude in decimal degrees&lt;br /&gt;
&lt;br /&gt;
Then back to the main menu and ''Apply'' to save the configuration. Ansible will run and update the system. If you want to quit, just keep pressing cancel to exit.&lt;br /&gt;
&lt;br /&gt;
====Setting the gain====&lt;br /&gt;
The next step is to set the gain on the RTL SDR. The aim here (in the majority of cases) is to set the gain of your station to maximise sensitivity (best noise figure), but without limiting the available dynamic range of your station due to your local noise floor. This can be achieved in a fairly simple manner, by watching the level of the receivers noise floor as you slowly increase the receiver gain. At some point the noise floor will start to rise - at this point increasing the gain any further will of no use - you will only increase the noise level, and eat into your receiver's available dynamic range (for a RTLSDR, theoretically only 48 dB).&lt;br /&gt;
&lt;br /&gt;
There may be situations where strong local interferers may require the use of a lower gain setting to avoid intermodulation products appearing in the passband, though these cases would be better solved with a suitable bandpass filter somewhere in the receive chain.&lt;br /&gt;
&lt;br /&gt;
First, it is good to know the available gain range of your SDR. This can be accomplished by running &amp;lt;code&amp;gt;SoapySDRUtil --probe&amp;lt;/code&amp;gt;, which provides a considerable amount of information about the connected SDR:&lt;br /&gt;
 pi@satnogs:~ $ SoapySDRUtil --probe&lt;br /&gt;
 ######################################################&lt;br /&gt;
 ## Soapy SDR -- the SDR abstraction library&lt;br /&gt;
 ######################################################&lt;br /&gt;
 &lt;br /&gt;
 Probe device&lt;br /&gt;
 &lt;br /&gt;
 Found Rafael Micro R820T tuner&lt;br /&gt;
 [INFO] [UHD] linux; GNU C++ version 8.2.0; Boost_106700; UHD_3.13.1.0-3&lt;br /&gt;
 Found Rafael Micro R820T tuner&lt;br /&gt;
 &lt;br /&gt;
 ----------------------------------------------------&lt;br /&gt;
 -- Device identification&lt;br /&gt;
 ----------------------------------------------------&lt;br /&gt;
   driver=RTLSDR&lt;br /&gt;
   hardware=RTLSDR&lt;br /&gt;
   origin=&amp;lt;nowiki&amp;gt;https://github.com/pothosware/SoapyRTLSDR&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   rtl=0&lt;br /&gt;
 &lt;br /&gt;
 ----------------------------------------------------&lt;br /&gt;
 -- Peripheral summary&lt;br /&gt;
 ----------------------------------------------------&lt;br /&gt;
   Channels: 1 Rx, 0 Tx&lt;br /&gt;
   Timestamps: NO&lt;br /&gt;
   Other Settings:&lt;br /&gt;
      * Direct Sampling - RTL-SDR Direct Sampling Mode&lt;br /&gt;
        [key=direct_samp, default=0, type=string, options=(0, 1, 2)]&lt;br /&gt;
      * Offset Tune - RTL-SDR Offset Tuning Mode&lt;br /&gt;
        [key=offset_tune, default=false, type=bool]&lt;br /&gt;
      * I/Q Swap - RTL-SDR I/Q Swap Mode&lt;br /&gt;
        [key=iq_swap, default=false, type=bool]&lt;br /&gt;
 &lt;br /&gt;
 ----------------------------------------------------&lt;br /&gt;
 -- RX Channel 0&lt;br /&gt;
 ----------------------------------------------------&lt;br /&gt;
   Full-duplex: YES&lt;br /&gt;
   Supports AGC: YES&lt;br /&gt;
   Stream formats: CS8, CS16, CF32&lt;br /&gt;
   Native format: CS8 [full-scale=128]&lt;br /&gt;
   Stream args:&lt;br /&gt;
      * Buffer Size - Number of bytes per buffer, multiples of 512 only.&lt;br /&gt;
        [key=bufflen, units=bytes, default=262144, type=int]&lt;br /&gt;
      * Ring buffers - Number of buffers in the ring.&lt;br /&gt;
        [key=buffers, units=buffers, default=15, type=int]&lt;br /&gt;
      * Async buffers - Number of async usb buffers (advanced).&lt;br /&gt;
        [key=asyncBuffs, units=buffers, default=0, type=int]&lt;br /&gt;
   Antennas: RX&lt;br /&gt;
   Full gain range: [0, 49.6] dB&lt;br /&gt;
     TUNER gain range: [0, 49.6] dB&lt;br /&gt;
   Full freq range: [23.999, 1764] MHz&lt;br /&gt;
     RF freq range: [24, 1764] MHz&lt;br /&gt;
     CORR freq range: [-0.001, 0.001] MHz&lt;br /&gt;
   Sample rates: 0.25, 1.024, 1.536, 1.792, 1.92, 2.048, 2.16, 2.56, 2.88, 3.2 MSps&lt;br /&gt;
The above output is for a RTLSDR, and we can see that there is information on the 'Full gain range', and 'TUNER' gain. The Full gain setting is an 'abstracted' gain range, which in this case just directly links to the 'TUNER' gain, as that is the only gain setting presented by the RTLSDR driver. Other SDRs (e.g. AirSpy) may present more gain controls. Anyway, we can see that the gain range is 0 through 49.6 dB. It's quite possible that there are only discrete gain steps within this range (and this is very true for the RTLSDR), but SoapySDR will hide that from us and automatically use the nearest valid setting.&lt;br /&gt;
&lt;br /&gt;
Next up, we want a way of seeing a live spectrum from the SDR. This might be difficult, especially if you're just gone and mounted a RTLSDR in a metal box up a pole! Well, SoapySDR comes to the rescue again with SoapySDR Server - this allows us to serve up the SDR on the network, and access it with a client.&lt;br /&gt;
&lt;br /&gt;
Note: SoapySDR Server is not currently installed by default. It can be installed by running the commands:&lt;br /&gt;
 $ sudo apt-get install soapyremote-server&lt;br /&gt;
By default, SoapySDR Server may be configured to startup on boot. We probably don't want this, so run the following commands to ensure it is stopped, and will not startup on boot:&lt;br /&gt;
 $ sudo systemctl stop soapyremote-server&lt;br /&gt;
 $ sudo systemctl disable soapyremote-server&lt;br /&gt;
&lt;br /&gt;
(These commands may result in errors indicating that the server wasn't running and/or enabled. This is OK! &lt;br /&gt;
&lt;br /&gt;
[https://cubicsdr.com/ CubicSDR] is a good cross-platform client that can connect to a SoapySDR Server, and you can [https://github.com/cjcliffe/CubicSDR/releases download the latest release by clicking here].  &lt;br /&gt;
&lt;br /&gt;
On the RPi, you can manually start SoapySDR Server by running: &amp;lt;code&amp;gt;SoapySDRServer --bind=&amp;quot;0.0.0.0:55132&amp;quot;&amp;lt;/code&amp;gt;  Leave this running. &lt;br /&gt;
&lt;br /&gt;
Note: If you need to use the Bias-T option of an RTLSDR, you will need to activate this manually prior to running SoapySDRServer. This can be accomplished by [[Software Defined Radio#Using RTL-SDR.com V3 Dongle.27s Bias-T Power Supply|compiling the rtl_biast utility]], and running it with &amp;lt;code&amp;gt;./rtl_biast -b 1&amp;lt;/code&amp;gt; .  ('''NOTE: This advice may be outdated - need to confirm how to set the RTLSDRs bias on more recent SoapySDR versions)''' &lt;br /&gt;
&lt;br /&gt;
Open up CubicSDR on another computer, on the same network as your SatNOGS station. It will pop up a window asking you to select a SDR device. With any luck, it will have auto-detected your SoapySDR Server, and it will show up in the 'Local Net' list. If not, you will need to select 'Remote', click 'Add', and then enter the IP address of your station. You should then have a SDR showing up in the list.&lt;br /&gt;
[[File:Screen Shot 2020-03-19 at 10.41.52 pm.png|alt=CubicSDR SDR Devices List|none|thumb|600x600px|CubicSDR SDR Devices List]]&lt;br /&gt;
You should now be able to click 'Start', and end up with a waterfall display. If the waterfall appears to glitch, or show a 'lumpy' pattern near the centre of the display, then this indicates packet loss between the SatNOGS station and your client. Try and connect via a direct LAN connection if possible. &lt;br /&gt;
In the settings menu of CubicSDR, disable &amp;quot;Automatic Gain&amp;quot; if it is set. This will allow manual control over the gain settings via sliders that will show up at the top left of the window.&lt;br /&gt;
[[File:CubicSDR Main Window.png|alt=CubicSDR Main Window (Annotated)|none|thumb|900x900px|CubicSDR Main Window (Annotated)]]&lt;br /&gt;
The above Figure shows the CubicSDR window, with the spectrum area, frequency selection, and gain settings annotated. Set the frequency to something suitable for your station. For example, if you are setting up a 70cm station, set a frequency of 437 MHz (437000000 Hz). For a 2m station, try 146 MHz.&lt;br /&gt;
Drag the gain slider so that the gain (visible at the bottom of the slider) is set to zero. Then, slowly drag it up until you see the noise floor start to rise. The gain at which this occurs is the gain you should set in SATNOGS_RF_GAIN.  &lt;br /&gt;
&lt;br /&gt;
To set the gain in satnogs go back to the RPI and stop the soapy remote server with ctrl-c.  Run satnogs-setup, open the 'Advanced' menu, then the Radio settings.  Set the gain in the SATNOGS_RF_GAIN variable.&lt;br /&gt;
[[File:SATNOGS RF GAIN.png|center|frame|Setting SATNOGS_RF_GAIN]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some SDRs may present more than one gain slider. In these situations, you will need to configure SatNOGS with each gain set individually. [[Software Defined Radio#E4000 Tuner Gain Settings|Refer here]] for more information on how to do this.&lt;br /&gt;
&lt;br /&gt;
As an example, the following figure shows the noise floor observed on a station with a RTLSDR and a ~25dB masthead preamplifier, as gain levels on the RTLSDR are increased:&lt;br /&gt;
[[File:RTLSDR Noise Floor Variation with Gain Adjustment.png|alt=RTLSDR Noise Floor Variation with Gain Adjustment|none|thumb|900x900px|RTLSDR Noise Floor Variation with Gain Adjustment]]&lt;br /&gt;
We can see that between 0 db and 20 dB of gain there is essentially no change in the noise floor - this indicates the receive system is limited by the noise figure of the RTLSDR. As the gain increases through 30 dB, the noise floor starts to lift, indicating that we are now most likely limited by either the noise figure of the preamplifier, or the local noise environment. Any increase in gain past this point just results in reduction of the available receiver dynamic range.&lt;br /&gt;
&lt;br /&gt;
CubicSDR DOES NOT autorange its waterfall, in contrast, SatNOGS DOES autorange its waterfall.  When you adjust the gain in CubicSDR the waterfall background will dramatically change, but when you adjust the gain in SatNOGS the waterfall background will not change color.  See the web page documenting  autoranging waterfalls:&lt;br /&gt;
&lt;br /&gt;
https://docs.satnogs.org/projects/satnogs-client/en/stable/userguide.html#satnogs-waterfall-autorange&lt;br /&gt;
&lt;br /&gt;
'''Important Note: While CubicSDR is connected to the SDR, your SatNOGS ground station cannot run observations! Make sure to close CubicSDR when you have finished setting the gain.'''&lt;br /&gt;
&lt;br /&gt;
===Hardware Configuration===&lt;br /&gt;
Basic hardware configuration is Antenna &amp;gt; Short coax &amp;gt; LNA &amp;gt; Coax &amp;gt; RTL SDR -&amp;gt; Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
===LNA===&lt;br /&gt;
The way to measure the performance of an antenna is using a figure of merit called the Antenna gain-to-noise-temperature (G/T). It's a positive unitless number, higher the better.&lt;br /&gt;
&lt;br /&gt;
G/T is comprised of antenna gain (in dB) on the top, and the system noise temperature (in Kelvins) on the bottom. There's a lot of somewhat-hard math involved, but here's the bottom line: to make your system perform better, you either need to increase the antenna gain or decrease the system noise temp. [https://en.wikipedia.org/wiki/Antenna_gain-to-noise-temperature Wikipedia]&lt;br /&gt;
&lt;br /&gt;
Increasing the antenna gain is difficult, only because we decided on an omnidirectional antenna as the basis for this How-To. Omnidirectional antennas top out at maybe 4-6 dBi gain or so, and that's just from pushing the radiation pattern up to the sky away from the ground. Any more gain than that and it's not an omni antenna; it's got a direction that the antenna needs to be pointed in. And we want to stay away from pointing antennas for now.&lt;br /&gt;
&lt;br /&gt;
Reducing the system temperature is the the way forward then. The RTL-SDR dongle has a noise figure of 6dB or so, depending on frequency, which is pretty horrible. But it turns out that the system noise temperature is largely determined by the first device in the receive chain. Since we can't change the antenna, adding a low-noise amplifier helps quite a bit. See this [https://www.youtube.com/watch?v=snifc_x_2sE youtube video] from Adam 9A4QV on how a LNA helps. (Also check out his other videos about the RTL SDR dongle, and SDR in general)&lt;br /&gt;
&lt;br /&gt;
More info on SDR noise figures:&lt;br /&gt;
&lt;br /&gt;
*[https://gitlab.com/librespacefoundation/sdrmakerspace/sdreval/-/raw/master/Report/pdf/Evaluation_of_SDR_Boards-1.0.pdf Evaluation of SDR Boards and Toolchains] from the [https://sdrmaker.space/ SDR Makerspace]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More info on noise and preamps:&lt;br /&gt;
&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Noise_temperature System noise from wikipedia], pretty high-level&lt;br /&gt;
*[https://www.rtl-sdr.com/tutorial-on-properly-positioning-a-preamp-lna-in-a-radio-system/ Where to put an LNA], from rtl-sdr.com&lt;br /&gt;
*[[SPF1589 LNA measurements|SPF5189 LNA measurements]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adding a LNA can also add its own set of problems, in that it may amplify strong local signals which may overload your SDR. When adding a LNA, you will likely need to back off the gain on your SDR to avoid this. It's also possible that the strong local signals may cause distortion to occur in the LNA itself, in which case you should consider the use of a filter between the LNA and the antenna. Some example products:&lt;br /&gt;
&lt;br /&gt;
*If you are experiencing issues with FM broadcast stations, a [https://www.rtl-sdr.com/rtl-sdr-com-broadcast-fm-band-stop-filter-88-108-mhz-reject-now-for-sale/ FM band-stop filter] may help.&lt;br /&gt;
*[https://www.minikits.com.au/electronic-kits/rf-amplifiers/rf-preamplifiers MiniKits masthead preamps] include fairly low-loss bandpass filters for their target bands (2m, 70cm).&lt;br /&gt;
&lt;br /&gt;
All filters will have some inherent loss, which adds to the system noise figure (or temperature, as discussed above), but this is a compromise that may need to be made to avoid distortion issues.&lt;br /&gt;
&lt;br /&gt;
Finally, using a LNA near the antenna means that we can accept some losses from a long coaxial cable run between the LNA and the receiver, allowing us to situate the antenna away from sources of local noise that may impact overall performance.&lt;br /&gt;
&lt;br /&gt;
As briefly discussed above, it's the first device in the receive chain which dominates the overall system noise temperature (or noise figure). In brief, as long as the losses in the coaxial cable are less than the gain of the LNA, your overall system noise figure won't degrade too much. As an example a 20m run of RG58 has a loss of ~10dB at 434 MHz. Using a LNA with a gain of 20dB and a noise figure of 1dB, the overall system noise figure is still only ~1.4 dB, and acceptable degradation.&lt;br /&gt;
&lt;br /&gt;
===Antenna===&lt;br /&gt;
For testing on the bench, pretty much any antenna will do, however set your expectations accordingly:&lt;br /&gt;
&lt;br /&gt;
*A vertical antenna (e.g. the telescopic whips that come with many RTLSDRs) will not receive high-elevation passes well, as they have a 'null' in their antenna pattern directly overhead. When a satellite is at a lower elevation it is further away, and so will be weaker.&lt;br /&gt;
*A dipole antenna (be it a straight, or a v-dipole) will have similar issues, though where the null is located will depend on how you orient the dipole. Either way, there will be some portions of a satellite pass with poor performance.&lt;br /&gt;
*If your antenna is located inside, near to your house mains wiring, or near other electrical devices, it may end up being swamped by lots of local electrical noise and end up being 'deaf' - in this situation a LNA will only make the situation worse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Refer to the [[Antennas|Antennas page]] for more information on antennas which are well suited to satellite observations.&lt;br /&gt;
&lt;br /&gt;
==Testing the station==&lt;br /&gt;
[[File:Pass predictions.png|300px|right]]&lt;br /&gt;
Now that you have the hardware and software up and running, go ahead and schedule some passes. Navigate to your station page, and click on the Schedule button on the right side of some promising passes. The green and red bars beneath the satellite name is a quick visual indication of the number of Good and Bad passes on the network. Unfortunately, this data is not time-stamped at all, so a satellite that had a lot of Good observations a long time ago, but recently died, would still show as Green.&lt;br /&gt;
&lt;br /&gt;
===Recommended Satellite Transmitters for Station Performance Benchmarking===&lt;br /&gt;
A few known-good satellite transmitters to test with with (as of November 2020) are:&lt;br /&gt;
&lt;br /&gt;
*For a station operating on the VHF Band:&lt;br /&gt;
**NOAA 15, 18, 19- The APT transmitters (very strong signals - considered to be the 'hello world' of satellite observations)&lt;br /&gt;
**ISS - If operating, the APRS transmitter is very strong, but may only transmit intermittently throughout a pass.&lt;br /&gt;
**CAS4A / CAS4B - Continuous CW and GMSK transmitters - a good example of a 'weaker' cube-sat signal.&lt;br /&gt;
**Max Valier Sat - Another weaker CW signal.&lt;br /&gt;
*For a station operating on the UHF band:&lt;br /&gt;
**FalconSat3 - The FSK downlink transmits continuously, and is an excellent benchmark for overall station performance. A high performing station may receive upwards of 600 data packets in a single pass.&lt;br /&gt;
**SpooQy-1 - Regular GMSK packets.&lt;br /&gt;
**OPS-SAT - Regular GMSK packets, fairly strong.&lt;br /&gt;
**ARMADILLO - A higher data rate signal, requiring a fairly good SNR to be able to decode the (hillarious) 19.2kbps GFSK packets.&lt;br /&gt;
**LUSAT - CW Signal Generator in space. Continuous, strong signal.&lt;br /&gt;
&lt;br /&gt;
===Rating an Observation===&lt;br /&gt;
[[File:Waterfall Vetting Buttons.png|right|frameless]]&lt;br /&gt;
After each observation, you should rate it. More information [https://wiki.satnogs.org/Operation#Rating_observations here], but the bottom line is rate the observation:&lt;br /&gt;
&lt;br /&gt;
*'''Good''' if the satellite is seen in the waterfall at all. Different modulations appear differently in the waterfall, but will appear&lt;br /&gt;
*'''Bad''' if the satellite is not seen.&lt;br /&gt;
&lt;br /&gt;
Observations which do not produce any artefacts (Waterfall, audio, data packets) will automatically be considered as failed, and will eventually be deleted.&lt;br /&gt;
&lt;br /&gt;
For a more detailed guide on testing, see [[Operation]]&lt;br /&gt;
&lt;br /&gt;
===Calibrating frequency offset (PPM)===&lt;br /&gt;
If your observations result in signals which appear to be 'off centre' of the waterfall, then you may need to set a frequency offset correction. Guides on how to determine this correction via a few different methods are available here: [[Adjusting the SatNOGS Client#Frequency Offset Calibration]]&lt;br /&gt;
&lt;br /&gt;
===Mitigating Local Noise===&lt;br /&gt;
If you are finding the signal-to-noise of your observation seems a bit low, or you aren't seeing any signals from the known-good satellites listed above, then your station may be limited by local electrical noise. A more comprehensive guide on how to identify sources of noise is being developed, but as a starting point:&lt;br /&gt;
&lt;br /&gt;
*Turn on/off nearby electrical devices while an observation is running (or while looking at a waterfall using CubicSDR as described further above).&lt;br /&gt;
*Common sources of electrical noise include:&lt;br /&gt;
**LED lightbulbs or floodlights&lt;br /&gt;
**USB Chargers (or really any switch-mode power supply)&lt;br /&gt;
**Power-over-Ethernet systems&lt;br /&gt;
**Unshielded ethernet cables (or even shielded cables)&lt;br /&gt;
**HDMI and DVI cables, and computer monitors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Next Steps==&lt;br /&gt;
Now that you've got this station working on the bench, what's next?&lt;br /&gt;
&lt;br /&gt;
*Buy/Build an antenna suited to satellite observations. Check out the [[Antennas|Antennas page]] for ideas.&lt;br /&gt;
*Mount your antenna away from obstructions, and ideally away from sources of electrical noise like ethernet cables, LED lights, and other electronic equipment.&lt;br /&gt;
*Situate your SDR and Raspberry Pi (or other computer) as far away as practical from your antenna. If you absolutely must mount it on the mast beneath the antenna and use a metal box, and run a separate DC power supply instead of using PoE (which can produce considerable amount of RF noise)&lt;br /&gt;
&lt;br /&gt;
===Building a Box===&lt;br /&gt;
&lt;br /&gt;
*[https://wiki.satnogs.org/No_rotator No-Rotator setup]  (Note the warning at the top of this page)&lt;br /&gt;
&lt;br /&gt;
[[ Category:Build ]]&lt;br /&gt;
[[ Category:Hardware ]]&lt;br /&gt;
[[ Category:Antenna ]]&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Omnidirectional_Station_How_To&amp;diff=3788</id>
		<title>Omnidirectional Station How To</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Omnidirectional_Station_How_To&amp;diff=3788"/>
		<updated>2021-10-22T14:59:19Z</updated>

		<summary type="html">&lt;p&gt;Kerel+satnogs: /* Configuring the satnogs-client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Omnidirectional VHF Turnstile Antenna.jpg|alt=VHF Turnstile Antenna|thumb|VHF Turnstile antenna, [https://network.satnogs.org/stations/23/ SatNOGS Station 23]]]&lt;br /&gt;
This How-To is written to get you quickly receiving satellite data with an Omnidirectional antenna (an antenna that does not move).&lt;br /&gt;
&lt;br /&gt;
==Prerequisites/Background==&lt;br /&gt;
I'm assuming that you are a bit familiar with amateur radio, or linux in general, or you already have a Raspberry Pi. &lt;br /&gt;
&lt;br /&gt;
===Expectation Management===&lt;br /&gt;
First off, I'd like to set some expectations around a SatNOGS station with an omnidirectional antenna. Yes, you will be able to hear satellites, Morse code beacons, maybe even some voice contacts on a FM transponder. But for CubeSats with 1 watt transmitters at 9600 baud, it's going to be really difficult to actually decode any data with an omni antenna. You'll definitely see squiggly lines on the waterfall plot, but demodulating the signal and extracting satellite telemetry is going to be pretty difficult.&lt;br /&gt;
&lt;br /&gt;
The only way to get more signal is a better antenna. And a better antenna with more gain is going to be more directional, which means you will need a way to point that antenna at the satellite, and this How-To just got a lot more complicated. So we're not going there.&lt;br /&gt;
&lt;br /&gt;
A better preamp helps a bit, see the LNA section below.&lt;br /&gt;
&lt;br /&gt;
===Hardware Required===&lt;br /&gt;
This is a list of the hardware for indoor/testing purposes:&lt;br /&gt;
&lt;br /&gt;
*Raspberry Pi&lt;br /&gt;
**Power supply + cable (see note below)&lt;br /&gt;
**Up to 16 GB Micro SD card&lt;br /&gt;
**Ethernet cable&lt;br /&gt;
*RTL SDR Blog v3 dongle&lt;br /&gt;
*Various short lengths of coax&lt;br /&gt;
*Preamp/LNA - Or not if your coax is short, see LNA section below&lt;br /&gt;
*Omnidirectional antenna - just a dual mag-mount on a cookie sheet will work OK for stronger satellites&lt;br /&gt;
&lt;br /&gt;
==Setting up the Raspberry Pi==&lt;br /&gt;
I chose the [https://www.raspberrypi.org/products/raspberry-pi-3-model-b/ Raspberry Pi 3 Model B] for my station. SatNOGS is known to work on the RPi 3B, 3B+ and 4 models. &lt;br /&gt;
&lt;br /&gt;
===Downloading/Writing the SD image===&lt;br /&gt;
The SatNOGS team has done a great job creating a Raspbian image with all the required software. &lt;br /&gt;
The latest download is given in the [[Raspberry_Pi#Download|Download section]].&lt;br /&gt;
&lt;br /&gt;
====Installing Image on Linux====&lt;br /&gt;
* Unzip the downloaded file: &lt;br /&gt;
  &amp;lt;pre&amp;gt;unzip artifacts.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Figure out which device is the SD card. SD cards are usually start with mmcblk.&lt;br /&gt;
  &amp;lt;pre&amp;gt;sudo lsblk&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Write the image. This will take a while. Make sure you don't overwrite your host OS:&lt;br /&gt;
  &amp;lt;pre&amp;gt;sudo dd if=&amp;lt;latest_image_date&amp;gt;-Raspbian-SatNOGS-lite.img of=/dev/mmcblk0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Installing Image on Linux/Windows/MacOS (using Rasperry Pi Imager)====&lt;br /&gt;
{{Warning|WARNING: This section was recently added. Please test and if it works, remove this banner.}}&lt;br /&gt;
&lt;br /&gt;
This section describes the installation of installing the previously downloaded image to an SD card using the cross-platform Raspberry Pi Imager. [https://www.raspberrypi.com/documentation/computers/getting-started.html#using-raspberry-pi-imager|This guides] explains the process using this tool in more detail.&lt;br /&gt;
&lt;br /&gt;
* Download the latest version of [https://www.raspberrypi.com/software/|Raspberry Pi Imager]&lt;br /&gt;
* Connect an SD card reader with the SD card inside&lt;br /&gt;
* Open Raspberry Pi Imager and choose the previously downloaded image from &amp;quot;Choose OS &amp;gt; Use custom &amp;gt; artifacts.zip&amp;quot;&lt;br /&gt;
* Review your selections and click '''Write''' button to begin writing data to the SD card.&lt;br /&gt;
&lt;br /&gt;
===Power notes===&lt;br /&gt;
Thinking I could save a few bucks, I used a no-name generic 2.4 amp &amp;quot;tablet&amp;quot; USB power supply I got as a freebie, and a micro-USB cable I use for charging my phone. What a mistake! The Micro-USB cable wire gauge was too small, so there was too much voltage drop on the cable, so the Raspberry Pi reported power problems every time it was doing anything.&lt;br /&gt;
&lt;br /&gt;
Power problems are indicated by either a lightning bolt in the upper right of the monitor, or the red power LED flashes on the board itself. If The Raspberry Pi processor itself is pretty forgiving of power droops because it runs at 3.3 volts. But the 5v USB ports are directly tied to input power, so undervoltage conditions will cause problems for USB devices, such as the RTL SDR dongle.&lt;br /&gt;
&lt;br /&gt;
==Software Configuration==&lt;br /&gt;
===Creating a SatNOGS Account===&lt;br /&gt;
There are several different websites to be aware of. Most of our websites use a unified login provided by Auth0, so when you create an account on one of these sites it will work across all the others as well.&lt;br /&gt;
&lt;br /&gt;
*[https://network.satnogs.org/ Network]: for registering your station and adding data to the network.&lt;br /&gt;
*[https://db.satnogs.org/ Database]: for all data on satellites and its transmitters.&lt;br /&gt;
*[https://community.libre.space Forums]: for questions and discussions.&lt;br /&gt;
*[https://wiki.satnogs.org/ Wiki]: this wiki for all kinds of documentation.&lt;br /&gt;
&lt;br /&gt;
===Registering the station===&lt;br /&gt;
You can add your new ground station [https://network.satnogs.org/stations/edit/ here]. When following the link it will ask you to login. Either use your existing account or register a new one.&lt;br /&gt;
&lt;br /&gt;
The following information is required:&lt;br /&gt;
* Station name, e.g. &amp;quot;Athens3-UHF&amp;quot;&lt;br /&gt;
* Location:&lt;br /&gt;
** Latitude (e.g., 38.0169)&lt;br /&gt;
** Longitude (e.g., 23.7312)&lt;br /&gt;
** Altitude above WGS84 in Meters (e.g., 20)&lt;br /&gt;
* At least one antenna.&lt;br /&gt;
** Click '''New antenna'''&lt;br /&gt;
** Choose the type (e.g. Turnstile)&lt;br /&gt;
** Add a range (e.g. VHF or UHF)&lt;br /&gt;
** Press '''Save changes'''&lt;br /&gt;
&lt;br /&gt;
Fill out the form, click '''Submit''' and your station will be added to the Network. You can leave the other settings unchanged for now.&lt;br /&gt;
&lt;br /&gt;
To help your fellow operators please consider placing the following information into the &amp;quot;Description&amp;quot; field for your station: Antenna gain and location, preamp info (if any), SDR device, some kind of contact info perhaps [[Get_In_Touch#Chat_with_us_on_our_Matrix_room |irc/matrix]] or [https://community.libre.space/ community forum] username or email address.&lt;br /&gt;
&lt;br /&gt;
===Booting and Configuring Raspbian===&lt;br /&gt;
{{Warning|WARNING: This section describes steps which are not always required. When using ssh for setup, the steps might be different. This section should be updated to reflect this. }}&lt;br /&gt;
&lt;br /&gt;
After you have the image burned onto a Micro-SD card, boot it! I would recommend hooking up a keyboard and HDMI monitor, you can watch the boot process. If it doesn't boot at all, double check that you wrote the SatNOGS Raspbian image correctly.&lt;br /&gt;
&lt;br /&gt;
After a successful boot, log in with username '''pi''' and password '''raspberry'''&lt;br /&gt;
&lt;br /&gt;
#Change your password! '''passwd'''&lt;br /&gt;
#Run '''sudo raspi-config''' to set up the base OS. ''Tab'' switches between the options and ''select''.&lt;br /&gt;
##4 Localisation Options: I1 Change Locale: en_US.UTF-8 UTF-8&lt;br /&gt;
##4 Localisation Options: I2 Change Timezone: None of the above: UTC&lt;br /&gt;
##4 Localisation Options: I3 Change Keyboard Layout:&lt;br /&gt;
##7 Advanced Options: A1 Expand Filesystem &amp;lt;br /&amp;gt;This will expand the ~2GB Micro-SD card partition to fill the entire SD card.&lt;br /&gt;
&lt;br /&gt;
The Raspberry Pi needs to reboot to expand the filesystem, so do this now. It might take a while. '''sudo reboot''&lt;br /&gt;
&lt;br /&gt;
====Disabling WiFi and Bluetooth====&lt;br /&gt;
{{Message|INFO: This step can be skipped. }}&lt;br /&gt;
To disable WiFi and Bluetooth, edit the /boot/config.txt file, and add the following lines at the bottom:&lt;br /&gt;
&lt;br /&gt;
 # Disable WiFi and Bluetooth&lt;br /&gt;
 dtoverlay=pi3-disable-wifi&lt;br /&gt;
 dtoverlay=pi3-disable-bt&lt;br /&gt;
&lt;br /&gt;
Then reboot again. To make sure that it worked, run '''ifconfig''' and make sure that ''wlan0'' isn't listed. I'm not sure how to tell if bluetooth is turned off.&lt;br /&gt;
&lt;br /&gt;
Note: Newer versions of Raspbian may require the following lines instead of the above.&lt;br /&gt;
&lt;br /&gt;
 # Disable WiFi and Bluetooth&lt;br /&gt;
 dtoverlay=disable-wifi&lt;br /&gt;
 dtoverlay=disable-bt&lt;br /&gt;
&lt;br /&gt;
====Additional software====&lt;br /&gt;
I like to install this additional software with '''sudo apt install bmon''' ...&lt;br /&gt;
&lt;br /&gt;
*bmon - a graphical network usage analyzer.&lt;br /&gt;
*vnstat - keeps track of your bandwidth usage&lt;br /&gt;
*vim - the world's best text editor ;)&lt;br /&gt;
*irssi - a terminal IRC client, for chatting on the #satnogs IRC channel&lt;br /&gt;
&lt;br /&gt;
If you can't tell by now, I'm always a big fan of rebooting. It certainly doesn't take that long... '''sudo reboot'''&lt;br /&gt;
&lt;br /&gt;
===Configuring the satnogs-client===&lt;br /&gt;
Once you have the SatNOGS OS image installed and running you can configure your new SatNOGS station. Plug in your RTL SDR if you haven't already.&lt;br /&gt;
&lt;br /&gt;
First thing to do is [https://wiki.satnogs.org/SatNOGS_Client_Setup#Updating_SatNOGS_Client_Software|Update the SatNOGS Client Software], as their might be new changes waiting to be installed since the SD card image was last created.&lt;br /&gt;
&lt;br /&gt;
====Basic Configuration====&lt;br /&gt;
Then the actual configuration of the station:&lt;br /&gt;
&lt;br /&gt;
#Run '''sudo satnogs-setup''' again.&lt;br /&gt;
#Use the up/down and TAB keys to navigate, and Enter to select an option.&lt;br /&gt;
#Basic Configuration:&lt;br /&gt;
##SATNOGS_API_TOKEN: After logging in to network.satnogs.org, this is in the upper right under &amp;quot;API Key&amp;quot; [no longer exsists? Add direct link]&lt;br /&gt;
##SATNOGS_SOAPY_RX_DEVICE: driver=rtlsdr&lt;br /&gt;
##SATNOGS_RX_SAMP_RATE: 2.048e6&lt;br /&gt;
##SATNOGS_RX_GAIN: Refer &amp;quot;Setting the gain&amp;quot; section below.&lt;br /&gt;
##SATNOGS_STATION_ELEV: station elevation in meters&lt;br /&gt;
##SATNOGS_STATION_ID: The ID number of your station.&lt;br /&gt;
##SATNOGS_STATION_LAT and LON: Latitude and Longitude in decimal degrees&lt;br /&gt;
&lt;br /&gt;
Then back to the main menu and ''Apply'' to save the configuration. Ansible will run and update the system. If you want to quit, just keep pressing cancel to exit.&lt;br /&gt;
&lt;br /&gt;
====Setting the gain====&lt;br /&gt;
The next step is to set the gain on the RTL SDR. The aim here (in the majority of cases) is to set the gain of your station to maximise sensitivity (best noise figure), but without limiting the available dynamic range of your station due to your local noise floor. This can be achieved in a fairly simple manner, by watching the level of the receivers noise floor as you slowly increase the receiver gain. At some point the noise floor will start to rise - at this point increasing the gain any further will of no use - you will only increase the noise level, and eat into your receiver's available dynamic range (for a RTLSDR, theoretically only 48 dB).&lt;br /&gt;
&lt;br /&gt;
There may be situations where strong local interferers may require the use of a lower gain setting to avoid intermodulation products appearing in the passband, though these cases would be better solved with a suitable bandpass filter somewhere in the receive chain.&lt;br /&gt;
&lt;br /&gt;
First, it is good to know the available gain range of your SDR. This can be accomplished by running &amp;lt;code&amp;gt;SoapySDRUtil --probe&amp;lt;/code&amp;gt;, which provides a considerable amount of information about the connected SDR:&lt;br /&gt;
 pi@satnogs:~ $ SoapySDRUtil --probe&lt;br /&gt;
 ######################################################&lt;br /&gt;
 ## Soapy SDR -- the SDR abstraction library&lt;br /&gt;
 ######################################################&lt;br /&gt;
 &lt;br /&gt;
 Probe device&lt;br /&gt;
 &lt;br /&gt;
 Found Rafael Micro R820T tuner&lt;br /&gt;
 [INFO] [UHD] linux; GNU C++ version 8.2.0; Boost_106700; UHD_3.13.1.0-3&lt;br /&gt;
 Found Rafael Micro R820T tuner&lt;br /&gt;
 &lt;br /&gt;
 ----------------------------------------------------&lt;br /&gt;
 -- Device identification&lt;br /&gt;
 ----------------------------------------------------&lt;br /&gt;
   driver=RTLSDR&lt;br /&gt;
   hardware=RTLSDR&lt;br /&gt;
   origin=&amp;lt;nowiki&amp;gt;https://github.com/pothosware/SoapyRTLSDR&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   rtl=0&lt;br /&gt;
 &lt;br /&gt;
 ----------------------------------------------------&lt;br /&gt;
 -- Peripheral summary&lt;br /&gt;
 ----------------------------------------------------&lt;br /&gt;
   Channels: 1 Rx, 0 Tx&lt;br /&gt;
   Timestamps: NO&lt;br /&gt;
   Other Settings:&lt;br /&gt;
      * Direct Sampling - RTL-SDR Direct Sampling Mode&lt;br /&gt;
        [key=direct_samp, default=0, type=string, options=(0, 1, 2)]&lt;br /&gt;
      * Offset Tune - RTL-SDR Offset Tuning Mode&lt;br /&gt;
        [key=offset_tune, default=false, type=bool]&lt;br /&gt;
      * I/Q Swap - RTL-SDR I/Q Swap Mode&lt;br /&gt;
        [key=iq_swap, default=false, type=bool]&lt;br /&gt;
 &lt;br /&gt;
 ----------------------------------------------------&lt;br /&gt;
 -- RX Channel 0&lt;br /&gt;
 ----------------------------------------------------&lt;br /&gt;
   Full-duplex: YES&lt;br /&gt;
   Supports AGC: YES&lt;br /&gt;
   Stream formats: CS8, CS16, CF32&lt;br /&gt;
   Native format: CS8 [full-scale=128]&lt;br /&gt;
   Stream args:&lt;br /&gt;
      * Buffer Size - Number of bytes per buffer, multiples of 512 only.&lt;br /&gt;
        [key=bufflen, units=bytes, default=262144, type=int]&lt;br /&gt;
      * Ring buffers - Number of buffers in the ring.&lt;br /&gt;
        [key=buffers, units=buffers, default=15, type=int]&lt;br /&gt;
      * Async buffers - Number of async usb buffers (advanced).&lt;br /&gt;
        [key=asyncBuffs, units=buffers, default=0, type=int]&lt;br /&gt;
   Antennas: RX&lt;br /&gt;
   Full gain range: [0, 49.6] dB&lt;br /&gt;
     TUNER gain range: [0, 49.6] dB&lt;br /&gt;
   Full freq range: [23.999, 1764] MHz&lt;br /&gt;
     RF freq range: [24, 1764] MHz&lt;br /&gt;
     CORR freq range: [-0.001, 0.001] MHz&lt;br /&gt;
   Sample rates: 0.25, 1.024, 1.536, 1.792, 1.92, 2.048, 2.16, 2.56, 2.88, 3.2 MSps&lt;br /&gt;
The above output is for a RTLSDR, and we can see that there is information on the 'Full gain range', and 'TUNER' gain. The Full gain setting is an 'abstracted' gain range, which in this case just directly links to the 'TUNER' gain, as that is the only gain setting presented by the RTLSDR driver. Other SDRs (e.g. AirSpy) may present more gain controls. Anyway, we can see that the gain range is 0 through 49.6 dB. It's quite possible that there are only discrete gain steps within this range (and this is very true for the RTLSDR), but SoapySDR will hide that from us and automatically use the nearest valid setting.&lt;br /&gt;
&lt;br /&gt;
Next up, we want a way of seeing a live spectrum from the SDR. This might be difficult, especially if you're just gone and mounted a RTLSDR in a metal box up a pole! Well, SoapySDR comes to the rescue again with SoapySDR Server - this allows us to serve up the SDR on the network, and access it with a client.&lt;br /&gt;
&lt;br /&gt;
Note: SoapySDR Server is not currently installed by default. It can be installed by running the commands:&lt;br /&gt;
 $ sudo apt-get install soapyremote-server&lt;br /&gt;
By default, SoapySDR Server may be configured to startup on boot. We probably don't want this, so run the following commands to ensure it is stopped, and will not startup on boot:&lt;br /&gt;
 $ sudo systemctl stop soapyremote-server&lt;br /&gt;
 $ sudo systemctl disable soapyremote-server&lt;br /&gt;
&lt;br /&gt;
(These commands may result in errors indicating that the server wasn't running and/or enabled. This is OK! &lt;br /&gt;
&lt;br /&gt;
[https://cubicsdr.com/ CubicSDR] is a good cross-platform client that can connect to a SoapySDR Server, and you can [https://github.com/cjcliffe/CubicSDR/releases download the latest release by clicking here].  &lt;br /&gt;
&lt;br /&gt;
On the RPi, you can manually start SoapySDR Server by running: &amp;lt;code&amp;gt;SoapySDRServer --bind=&amp;quot;0.0.0.0:55132&amp;quot;&amp;lt;/code&amp;gt;  Leave this running. &lt;br /&gt;
&lt;br /&gt;
Note: If you need to use the Bias-T option of an RTLSDR, you will need to activate this manually prior to running SoapySDRServer. This can be accomplished by [[Software Defined Radio#Using RTL-SDR.com V3 Dongle.27s Bias-T Power Supply|compiling the rtl_biast utility]], and running it with &amp;lt;code&amp;gt;./rtl_biast -b 1&amp;lt;/code&amp;gt; .  ('''NOTE: This advice may be outdated - need to confirm how to set the RTLSDRs bias on more recent SoapySDR versions)''' &lt;br /&gt;
&lt;br /&gt;
Open up CubicSDR on another computer, on the same network as your SatNOGS station. It will pop up a window asking you to select a SDR device. With any luck, it will have auto-detected your SoapySDR Server, and it will show up in the 'Local Net' list. If not, you will need to select 'Remote', click 'Add', and then enter the IP address of your station. You should then have a SDR showing up in the list.&lt;br /&gt;
[[File:Screen Shot 2020-03-19 at 10.41.52 pm.png|alt=CubicSDR SDR Devices List|none|thumb|600x600px|CubicSDR SDR Devices List]]&lt;br /&gt;
You should now be able to click 'Start', and end up with a waterfall display. If the waterfall appears to glitch, or show a 'lumpy' pattern near the centre of the display, then this indicates packet loss between the SatNOGS station and your client. Try and connect via a direct LAN connection if possible. &lt;br /&gt;
In the settings menu of CubicSDR, disable &amp;quot;Automatic Gain&amp;quot; if it is set. This will allow manual control over the gain settings via sliders that will show up at the top left of the window.&lt;br /&gt;
[[File:CubicSDR Main Window.png|alt=CubicSDR Main Window (Annotated)|none|thumb|900x900px|CubicSDR Main Window (Annotated)]]&lt;br /&gt;
The above Figure shows the CubicSDR window, with the spectrum area, frequency selection, and gain settings annotated. Set the frequency to something suitable for your station. For example, if you are setting up a 70cm station, set a frequency of 437 MHz (437000000 Hz). For a 2m station, try 146 MHz.&lt;br /&gt;
Drag the gain slider so that the gain (visible at the bottom of the slider) is set to zero. Then, slowly drag it up until you see the noise floor start to rise. The gain at which this occurs is the gain you should set in SATNOGS_RF_GAIN.  &lt;br /&gt;
&lt;br /&gt;
To set the gain in satnogs go back to the RPI and stop the soapy remote server with ctrl-c.  Run satnogs-setup, open the 'Advanced' menu, then the Radio settings.  Set the gain in the SATNOGS_RF_GAIN variable.&lt;br /&gt;
[[File:SATNOGS RF GAIN.png|center|frame|Setting SATNOGS_RF_GAIN]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some SDRs may present more than one gain slider. In these situations, you will need to configure SatNOGS with each gain set individually. [[Software Defined Radio#E4000 Tuner Gain Settings|Refer here]] for more information on how to do this.&lt;br /&gt;
&lt;br /&gt;
As an example, the following figure shows the noise floor observed on a station with a RTLSDR and a ~25dB masthead preamplifier, as gain levels on the RTLSDR are increased:&lt;br /&gt;
[[File:RTLSDR Noise Floor Variation with Gain Adjustment.png|alt=RTLSDR Noise Floor Variation with Gain Adjustment|none|thumb|900x900px|RTLSDR Noise Floor Variation with Gain Adjustment]]&lt;br /&gt;
We can see that between 0 db and 20 dB of gain there is essentially no change in the noise floor - this indicates the receive system is limited by the noise figure of the RTLSDR. As the gain increases through 30 dB, the noise floor starts to lift, indicating that we are now most likely limited by either the noise figure of the preamplifier, or the local noise environment. Any increase in gain past this point just results in reduction of the available receiver dynamic range.&lt;br /&gt;
&lt;br /&gt;
CubicSDR DOES NOT autorange its waterfall, in contrast, SatNOGS DOES autorange its waterfall.  When you adjust the gain in CubicSDR the waterfall background will dramatically change, but when you adjust the gain in SatNOGS the waterfall background will not change color.  See the web page documenting  autoranging waterfalls:&lt;br /&gt;
&lt;br /&gt;
https://docs.satnogs.org/projects/satnogs-client/en/stable/userguide.html#satnogs-waterfall-autorange&lt;br /&gt;
&lt;br /&gt;
'''Important Note: While CubicSDR is connected to the SDR, your SatNOGS ground station cannot run observations! Make sure to close CubicSDR when you have finished setting the gain.'''&lt;br /&gt;
&lt;br /&gt;
===Hardware Configuration===&lt;br /&gt;
Basic hardware configuration is Antenna &amp;gt; Short coax &amp;gt; LNA &amp;gt; Coax &amp;gt; RTL SDR -&amp;gt; Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
===LNA===&lt;br /&gt;
The way to measure the performance of an antenna is using a figure of merit called the Antenna gain-to-noise-temperature (G/T). It's a positive unitless number, higher the better.&lt;br /&gt;
&lt;br /&gt;
G/T is comprised of antenna gain (in dB) on the top, and the system noise temperature (in Kelvins) on the bottom. There's a lot of somewhat-hard math involved, but here's the bottom line: to make your system perform better, you either need to increase the antenna gain or decrease the system noise temp. [https://en.wikipedia.org/wiki/Antenna_gain-to-noise-temperature Wikipedia]&lt;br /&gt;
&lt;br /&gt;
Increasing the antenna gain is difficult, only because we decided on an omnidirectional antenna as the basis for this How-To. Omnidirectional antennas top out at maybe 4-6 dBi gain or so, and that's just from pushing the radiation pattern up to the sky away from the ground. Any more gain than that and it's not an omni antenna; it's got a direction that the antenna needs to be pointed in. And we want to stay away from pointing antennas for now.&lt;br /&gt;
&lt;br /&gt;
Reducing the system temperature is the the way forward then. The RTL-SDR dongle has a noise figure of 6dB or so, depending on frequency, which is pretty horrible. But it turns out that the system noise temperature is largely determined by the first device in the receive chain. Since we can't change the antenna, adding a low-noise amplifier helps quite a bit. See this [https://www.youtube.com/watch?v=snifc_x_2sE youtube video] from Adam 9A4QV on how a LNA helps. (Also check out his other videos about the RTL SDR dongle, and SDR in general)&lt;br /&gt;
&lt;br /&gt;
More info on SDR noise figures:&lt;br /&gt;
&lt;br /&gt;
*[https://gitlab.com/librespacefoundation/sdrmakerspace/sdreval/-/raw/master/Report/pdf/Evaluation_of_SDR_Boards-1.0.pdf Evaluation of SDR Boards and Toolchains] from the [https://sdrmaker.space/ SDR Makerspace]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More info on noise and preamps:&lt;br /&gt;
&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Noise_temperature System noise from wikipedia], pretty high-level&lt;br /&gt;
*[https://www.rtl-sdr.com/tutorial-on-properly-positioning-a-preamp-lna-in-a-radio-system/ Where to put an LNA], from rtl-sdr.com&lt;br /&gt;
*[[SPF1589 LNA measurements|SPF5189 LNA measurements]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adding a LNA can also add its own set of problems, in that it may amplify strong local signals which may overload your SDR. When adding a LNA, you will likely need to back off the gain on your SDR to avoid this. It's also possible that the strong local signals may cause distortion to occur in the LNA itself, in which case you should consider the use of a filter between the LNA and the antenna. Some example products:&lt;br /&gt;
&lt;br /&gt;
*If you are experiencing issues with FM broadcast stations, a [https://www.rtl-sdr.com/rtl-sdr-com-broadcast-fm-band-stop-filter-88-108-mhz-reject-now-for-sale/ FM band-stop filter] may help.&lt;br /&gt;
*[https://www.minikits.com.au/electronic-kits/rf-amplifiers/rf-preamplifiers MiniKits masthead preamps] include fairly low-loss bandpass filters for their target bands (2m, 70cm).&lt;br /&gt;
&lt;br /&gt;
All filters will have some inherent loss, which adds to the system noise figure (or temperature, as discussed above), but this is a compromise that may need to be made to avoid distortion issues.&lt;br /&gt;
&lt;br /&gt;
Finally, using a LNA near the antenna means that we can accept some losses from a long coaxial cable run between the LNA and the receiver, allowing us to situate the antenna away from sources of local noise that may impact overall performance.&lt;br /&gt;
&lt;br /&gt;
As briefly discussed above, it's the first device in the receive chain which dominates the overall system noise temperature (or noise figure). In brief, as long as the losses in the coaxial cable are less than the gain of the LNA, your overall system noise figure won't degrade too much. As an example a 20m run of RG58 has a loss of ~10dB at 434 MHz. Using a LNA with a gain of 20dB and a noise figure of 1dB, the overall system noise figure is still only ~1.4 dB, and acceptable degradation.&lt;br /&gt;
&lt;br /&gt;
===Antenna===&lt;br /&gt;
For testing on the bench, pretty much any antenna will do, however set your expectations accordingly:&lt;br /&gt;
&lt;br /&gt;
*A vertical antenna (e.g. the telescopic whips that come with many RTLSDRs) will not receive high-elevation passes well, as they have a 'null' in their antenna pattern directly overhead. When a satellite is at a lower elevation it is further away, and so will be weaker.&lt;br /&gt;
*A dipole antenna (be it a straight, or a v-dipole) will have similar issues, though where the null is located will depend on how you orient the dipole. Either way, there will be some portions of a satellite pass with poor performance.&lt;br /&gt;
*If your antenna is located inside, near to your house mains wiring, or near other electrical devices, it may end up being swamped by lots of local electrical noise and end up being 'deaf' - in this situation a LNA will only make the situation worse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Refer to the [[Antennas|Antennas page]] for more information on antennas which are well suited to satellite observations.&lt;br /&gt;
&lt;br /&gt;
==Testing the station==&lt;br /&gt;
[[File:Pass predictions.png|300px|right]]&lt;br /&gt;
Now that you have the hardware and software up and running, go ahead and schedule some passes. Navigate to your station page, and click on the Schedule button on the right side of some promising passes. The green and red bars beneath the satellite name is a quick visual indication of the number of Good and Bad passes on the network. Unfortunately, this data is not time-stamped at all, so a satellite that had a lot of Good observations a long time ago, but recently died, would still show as Green.&lt;br /&gt;
&lt;br /&gt;
===Recommended Satellite Transmitters for Station Performance Benchmarking===&lt;br /&gt;
A few known-good satellite transmitters to test with with (as of November 2020) are:&lt;br /&gt;
&lt;br /&gt;
*For a station operating on the VHF Band:&lt;br /&gt;
**NOAA 15, 18, 19- The APT transmitters (very strong signals - considered to be the 'hello world' of satellite observations)&lt;br /&gt;
**ISS - If operating, the APRS transmitter is very strong, but may only transmit intermittently throughout a pass.&lt;br /&gt;
**CAS4A / CAS4B - Continuous CW and GMSK transmitters - a good example of a 'weaker' cube-sat signal.&lt;br /&gt;
**Max Valier Sat - Another weaker CW signal.&lt;br /&gt;
*For a station operating on the UHF band:&lt;br /&gt;
**FalconSat3 - The FSK downlink transmits continuously, and is an excellent benchmark for overall station performance. A high performing station may receive upwards of 600 data packets in a single pass.&lt;br /&gt;
**SpooQy-1 - Regular GMSK packets.&lt;br /&gt;
**OPS-SAT - Regular GMSK packets, fairly strong.&lt;br /&gt;
**ARMADILLO - A higher data rate signal, requiring a fairly good SNR to be able to decode the (hillarious) 19.2kbps GFSK packets.&lt;br /&gt;
**LUSAT - CW Signal Generator in space. Continuous, strong signal.&lt;br /&gt;
&lt;br /&gt;
===Rating an Observation===&lt;br /&gt;
[[File:Waterfall Vetting Buttons.png|right|frameless]]&lt;br /&gt;
After each observation, you should rate it. More information [https://wiki.satnogs.org/Operation#Rating_observations here], but the bottom line is rate the observation:&lt;br /&gt;
&lt;br /&gt;
*'''Good''' if the satellite is seen in the waterfall at all. Different modulations appear differently in the waterfall, but will appear&lt;br /&gt;
*'''Bad''' if the satellite is not seen.&lt;br /&gt;
&lt;br /&gt;
Observations which do not produce any artefacts (Waterfall, audio, data packets) will automatically be considered as failed, and will eventually be deleted.&lt;br /&gt;
&lt;br /&gt;
For a more detailed guide on testing, see [[Operation]]&lt;br /&gt;
&lt;br /&gt;
===Calibrating frequency offset (PPM)===&lt;br /&gt;
If your observations result in signals which appear to be 'off centre' of the waterfall, then you may need to set a frequency offset correction. Guides on how to determine this correction via a few different methods are available here: [[Adjusting the SatNOGS Client#Frequency Offset Calibration]]&lt;br /&gt;
&lt;br /&gt;
===Mitigating Local Noise===&lt;br /&gt;
If you are finding the signal-to-noise of your observation seems a bit low, or you aren't seeing any signals from the known-good satellites listed above, then your station may be limited by local electrical noise. A more comprehensive guide on how to identify sources of noise is being developed, but as a starting point:&lt;br /&gt;
&lt;br /&gt;
*Turn on/off nearby electrical devices while an observation is running (or while looking at a waterfall using CubicSDR as described further above).&lt;br /&gt;
*Common sources of electrical noise include:&lt;br /&gt;
**LED lightbulbs or floodlights&lt;br /&gt;
**USB Chargers (or really any switch-mode power supply)&lt;br /&gt;
**Power-over-Ethernet systems&lt;br /&gt;
**Unshielded ethernet cables (or even shielded cables)&lt;br /&gt;
**HDMI and DVI cables, and computer monitors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Next Steps==&lt;br /&gt;
Now that you've got this station working on the bench, what's next?&lt;br /&gt;
&lt;br /&gt;
*Buy/Build an antenna suited to satellite observations. Check out the [[Antennas|Antennas page]] for ideas.&lt;br /&gt;
*Mount your antenna away from obstructions, and ideally away from sources of electrical noise like ethernet cables, LED lights, and other electronic equipment.&lt;br /&gt;
*Situate your SDR and Raspberry Pi (or other computer) as far away as practical from your antenna. If you absolutely must mount it on the mast beneath the antenna and use a metal box, and run a separate DC power supply instead of using PoE (which can produce considerable amount of RF noise)&lt;br /&gt;
&lt;br /&gt;
===Building a Box===&lt;br /&gt;
&lt;br /&gt;
*[https://wiki.satnogs.org/No_rotator No-Rotator setup]  (Note the warning at the top of this page)&lt;br /&gt;
&lt;br /&gt;
[[ Category:Build ]]&lt;br /&gt;
[[ Category:Hardware ]]&lt;br /&gt;
[[ Category:Antenna ]]&lt;/div&gt;</summary>
		<author><name>Kerel+satnogs</name></author>
		
	</entry>
</feed>