<?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=Do9sd</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=Do9sd"/>
	<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/Special:Contributions/Do9sd"/>
	<updated>2026-04-07T14:52:05Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.32.0</generator>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller&amp;diff=2075</id>
		<title>SatNOGS Rotator Controller</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller&amp;diff=2075"/>
		<updated>2018-05-14T08:15:41Z</updated>

		<summary type="html">&lt;p&gt;Do9sd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Development&lt;br /&gt;
|Name= SatNOGS Rotator Controller&lt;br /&gt;
|image= Rotator controller v2.jpg&lt;br /&gt;
|type= Rotator Controller for SatNOGS rotator.&lt;br /&gt;
|cost= 60-80€&lt;br /&gt;
|status= Working&lt;br /&gt;
|latest-release-name= -&lt;br /&gt;
|latest-release= v2.2&lt;br /&gt;
|source-repo= https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller satnogs-rotator-controller - GitLab&lt;br /&gt;
|documentation= https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller SatNOGS wiki&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Intro ==&lt;br /&gt;
SatNOGS Rotator Controller refers to the set of electronics designed to operate a SatNOGS Rotator. There have been multiple iterations of the rotator controller design, but the modularity of the approach enables operations between different versions of the controller and the rotator.&lt;br /&gt;
Since the start of 2016, the rotator controller design is able to facilitate a DC-motors or stepper-motors rotator design. We intend to keep this modularity for the electronics and firmware design to facilitate the variety of build by our community.&lt;br /&gt;
&lt;br /&gt;
== Rotator Controller v2 ==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Pcb_schema_v2_revC.png&lt;br /&gt;
Pcb_board_v2_revC.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The PCB are tested in this [https://network.satnogs.org/stations/9/ ground station]. &lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* It is designed to fit the entire electronics needed to control rotator in Euroboard 80x50 mm.&lt;br /&gt;
* Main micro-controller is [https://store.arduino.cc/arduino-pro-mini Arduino pro-mini], [https://github.com/sparkfun/Arduino_Pro_Mini_328 SparkFun's Arduino Pro Mini 328] dev-board with ATmega328p.&lt;br /&gt;
* The modular design includes plug-in either [https://www.pololu.com/product/2133 DRV8825]/[https://www.pololu.com/product/1182 A4988] or [https://www.pololu.com/product/1213/resources DC motor drivers] (MC33926).&lt;br /&gt;
* The power supply in embed in the same board in contrast with previous version.&lt;br /&gt;
* Filtered power supply of micro controller.&lt;br /&gt;
* An I2C multiplexer is used to connect I2C encoders AS5601 (same ID) to get position feedback for each axis.&lt;br /&gt;
* A temperature sensor TC-74 monitoring the temperature inside the controller box in order to protect them from over-heating.&lt;br /&gt;
* There are some spare dev-pins in order to connect other peripherals like IMU or an LCD display.&lt;br /&gt;
* Pins with integrated RC-Low Pass filter for end-stops connection.&lt;br /&gt;
* Default communication interface is RS-485 but it can also be used as a UART.&lt;br /&gt;
* Using different paths for digital and power (motors) GND.&lt;br /&gt;
* Electrolytic capacitor and TVS-diode in PSU input&lt;br /&gt;
* Flashed either by using UART or ISP header&lt;br /&gt;
&lt;br /&gt;
=== Build sequence ===&lt;br /&gt;
* Make sure you have a [[SatNOGS Rotator v3|mechanical assembly]] of the rotator constructed and ready&lt;br /&gt;
* Buy the PCB.  [https://oshpark.com OshPark], [http://dirtypcbs.com DirtyPCBs.com], [https://www.elecrow.com/ Elecrow] have been used in the past with good results.&lt;br /&gt;
** You can order the v2.2 of the board directly using [https://oshpark.com/shared_projects/w0s8d4OJ this OSHPark link].&lt;br /&gt;
* Get all the necessary components according to BOM from latest tag (or the version that you want to build), [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller/tags Gitlab Tags]&lt;br /&gt;
* Assemble the PCB, by soldering the components&lt;br /&gt;
* Burn the firmware&lt;br /&gt;
* Using the wiring diagram, connect the controller to the Rotator&lt;br /&gt;
* You are ready! Proceed with testing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Assembly Guide ====&lt;br /&gt;
&lt;br /&gt;
[[File:Rotator_controller_sheet1.png|thumb|center|800x420px|alt=|Rotator Controller sheet 1/2]]&lt;br /&gt;
[[File:Rotator_controller_sheet2.png|thumb|center|800x420px|alt=|Rotator Controller sheet 2/2]]&lt;br /&gt;
&lt;br /&gt;
==== Microcontroller ====&lt;br /&gt;
&amp;lt;gallery mode=packed  heights=&amp;quot;250px&amp;quot;&amp;gt;&lt;br /&gt;
Uc.png|Microcontroller&lt;br /&gt;
Uc_orientation.png|Microcontroller Orientation&lt;br /&gt;
I2c_pullup.png|I2C pull-up resistors&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;!-- changed at feb.25th 2018&lt;br /&gt;
{|&lt;br /&gt;
[[File:Uc.png|thumb|320x240px|Microcontroller]]&lt;br /&gt;
|&lt;br /&gt;
[[File:Uc_orientation.png|thumb|320x240px|Microcontroller Orientation]]&lt;br /&gt;
|&lt;br /&gt;
[[File:I2c_pullup.png|thumb|320x240px|I2C pull-up resistors|left]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The main micro-controller of the board is arduino pro-mini 5V@16MHz, ATmega328P.&lt;br /&gt;
The +5V of the controller are produced from arduino pro-mini.&lt;br /&gt;
Some clones do not use correct parts in LDO, like the original one, with&lt;br /&gt;
result, when it powers up with +12V, burned.&lt;br /&gt;
&lt;br /&gt;
Some examples, &lt;br /&gt;
* [https://community.libre.space/t/v2-controller-board-magic-smoke/1878 SatNOGS Community]&lt;br /&gt;
* [http://westsideelectronics.com/blew-up-a-cheap-arduino-pro-mini-clone/ West Side Electronics]&lt;br /&gt;
&lt;br /&gt;
One Solution is not use clones, use [https://www.sparkfun.com/products/11113# Sparkfun's arduiuno pro-mini 5V@16MHz, ATmega328P]. &lt;br /&gt;
The second solution is to add a LDO, like [https://gr.mouser.com/datasheet/2/268/mic5205-778789.pdf MIC5205] (maybe in a new revision of v2).&lt;br /&gt;
&lt;br /&gt;
The power consumption in +5V is:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! -&lt;br /&gt;
! QTY.&lt;br /&gt;
! VCC(V)&lt;br /&gt;
! IDD(mA)&lt;br /&gt;
! Total(mA)&lt;br /&gt;
|-&lt;br /&gt;
| AS5601&lt;br /&gt;
| 2&lt;br /&gt;
| 5&lt;br /&gt;
| 6.5&lt;br /&gt;
| 13 &lt;br /&gt;
|-&lt;br /&gt;
| PCA9540B&lt;br /&gt;
| 1&lt;br /&gt;
| 5&lt;br /&gt;
| 0.1&lt;br /&gt;
| 0.1&lt;br /&gt;
|-&lt;br /&gt;
| SN65HVD485E&lt;br /&gt;
| 1&lt;br /&gt;
| 5&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| TC74&lt;br /&gt;
| 1&lt;br /&gt;
| 5&lt;br /&gt;
| 0.35&lt;br /&gt;
| 0.35&lt;br /&gt;
|-&lt;br /&gt;
| arduino pro mini&lt;br /&gt;
| 1&lt;br /&gt;
| 5&lt;br /&gt;
| 20&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| MC33926&lt;br /&gt;
| 2&lt;br /&gt;
| 5&lt;br /&gt;
| 0.2&lt;br /&gt;
| 0.4&lt;br /&gt;
|-&lt;br /&gt;
| DRV8825&lt;br /&gt;
| 2&lt;br /&gt;
| 5&lt;br /&gt;
| 0.1&lt;br /&gt;
| 0.2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The LDO MIC5205 guaranteed 150mA output, for Stepper motors ~35-40mA, for DC motors ~35-40mA.&lt;br /&gt;
&lt;br /&gt;
==== Motor Drivers ====&lt;br /&gt;
===== Stepper motor driver =====&lt;br /&gt;
[[File:Stepper_2.png|thumb|320x240px|Stepper motor driver]]&lt;br /&gt;
[[File:Stepper_1.png|thumb|320x240px|Jumpers]]&lt;br /&gt;
[[File:Stepper_orientation.jpg|thumb|320x240px|Orientation]]&lt;br /&gt;
&lt;br /&gt;
For the stepper motor driver 2 options have been tested, [https://www.pololu.com/product/2133 DRV8825] and [https://www.pololu.com/product/1182 A4988].&lt;br /&gt;
For both options it is necessary to solder:&lt;br /&gt;
* 2 electrolytic capacitors C3, C4 100uF&lt;br /&gt;
* 4 single 0.1&amp;quot; male connectors for U3, U4&lt;br /&gt;
* 2 fixed terminal blocks P7, P8, Amphenol-VI0421550000G&lt;br /&gt;
* 6 jumpers to adjust the micro-step, '''default option is Full Step'''&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''JP3/JP6'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''JP2/JP5'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''JP1/JP4'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Microstep Resolution'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f000;&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f000;&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f000;&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f000;&amp;quot;|'''Full step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot;|'''Half step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot;|'''1/4 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot;|'''1/8 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''1/16 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Do'''NOT''' solder 2 resistors 100k, R4, R7 in default configuration (full step)&lt;br /&gt;
* If you have A4988 for stepper motor drive and you want to use micro stepping, when the MS1 is HIGH&lt;br /&gt;
it is necessary to solder R4, R7 according to [https://www.pololu.com/product/1201 A4983 Stepper Motor Driver Carrier, Step (and microstep) size].&lt;br /&gt;
&lt;br /&gt;
In case of DRV8825, all pins MS1, MS2, MS3 have internal pull-up resistor.&lt;br /&gt;
&lt;br /&gt;
Be careful:&lt;br /&gt;
* [http://reprap.org/wiki/Pololu_stepper_driver_board adjust the current (current limiting) for stepper motors] &lt;br /&gt;
* add a heat-sink.&lt;br /&gt;
* plug the stepper motor drivers&lt;br /&gt;
&lt;br /&gt;
The stepper motor that is used, is [https://www.omc-stepperonline.com/hybrid-stepper-motor/nema-17-bipolar-59ncm-84ozin-2a-42x48mm-4wires-w-1m-cable-and-connector-17hs19-2004s1.html Nema 17 Bipolar 59Ncm], &lt;br /&gt;
* Size: &amp;amp;#9649;42 x 48 mm&lt;br /&gt;
* Weight: 390 g&lt;br /&gt;
* Shaft diameter: 5 mm&lt;br /&gt;
* Step Angle: 1.8 deg &lt;br /&gt;
* Nominal speed @ 12V: 720deg/s&lt;br /&gt;
* Rated Current/phase: 2.0A&lt;br /&gt;
* Stall torque @ 12V: 0.59Nm&lt;br /&gt;
&lt;br /&gt;
===== DC motor driver =====&lt;br /&gt;
[[File:Dc_motor_driver.png|thumb|320x240px|DC motor driver]]&lt;br /&gt;
&lt;br /&gt;
It is necessary to solder: &lt;br /&gt;
* Solder U6 with 0.1&amp;quot; female connectors as shown in picture&lt;br /&gt;
* Solder 2 pads in yellow circle by using ~1mm diameter wire&lt;br /&gt;
* Solder 2 2-pin 3.5mm terminal blocks for 2 DC motors&lt;br /&gt;
&lt;br /&gt;
The DC motor controller is [https://www.pololu.com/product/1213 Dual MC33926 Motor Driver Carrier ]&lt;br /&gt;
&lt;br /&gt;
* Motor driver: MC33926&lt;br /&gt;
* Motor channels: 2&lt;br /&gt;
* Minimum operating voltage: 5V&lt;br /&gt;
* Maximum operating voltage: 28V&lt;br /&gt;
* Operating voltage: 12V&lt;br /&gt;
* Continuous output current per channel: 2.5A&lt;br /&gt;
* Current sense: 	0.525 V/A&lt;br /&gt;
* Maximum PWM frequency: 	20 kHz&lt;br /&gt;
* Operating PWM frequency: 3921.5Hz (~4kHz)&lt;br /&gt;
* Minimum logic voltage: 	2.5V&lt;br /&gt;
* Operating logic voltage: 5V&lt;br /&gt;
* Maximum logic voltage: 	5.5V&lt;br /&gt;
&lt;br /&gt;
The DC motor that we use is [https://www.pololu.com/product/1104 50:1 Metal Gearmotor 37Dx54L mm], &lt;br /&gt;
* Size: 37D x 54L mm&lt;br /&gt;
* Weight: 195 g&lt;br /&gt;
* Shaft diameter: 6 mm&lt;br /&gt;
* Free-run speed @ 12V: 200 rpm&lt;br /&gt;
* Free-run current @ 12V:	300 mA&lt;br /&gt;
* Stall current @ 12V: 5000 mA&lt;br /&gt;
* Stall torque @ 12V: 1.2Nm&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Communication ====&lt;br /&gt;
===== ''UART'' =====&lt;br /&gt;
[[File:Jumper.png|thumb|320x240px|UART Jumpers]]&lt;br /&gt;
[[File:Rs 485.png|thumb|320x240px|Pin Header]]&lt;br /&gt;
&lt;br /&gt;
To use UART:&lt;br /&gt;
* solder JP7 and JP8&lt;br /&gt;
* solder pin header 0.1&amp;quot; female connector&lt;br /&gt;
* not solder C1, U2, R18, R19 R9, R8, R1, D3&lt;br /&gt;
* A is TX and B is RX&lt;br /&gt;
&lt;br /&gt;
===== ''RS-485'' =====&lt;br /&gt;
[[File:RS485_solder.png|thumb|320x240px|RS485]]&lt;br /&gt;
[[File:Missing_rs485_r19.png|thumb|320x240px|RS485]]&lt;br /&gt;
&lt;br /&gt;
To use RS485:&lt;br /&gt;
* solder pin header 0.1&amp;quot; female connector&lt;br /&gt;
* solder C1, U2, R18, R19 R9, R8, R1, D3&lt;br /&gt;
* not solder JP7 and JP8&lt;br /&gt;
&lt;br /&gt;
If you use PCB without R19 footprint, you can add it in arduino pro-mini UART header.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Power Supply ====&lt;br /&gt;
[[File:Psu.png|thumb|320x240px|Power Supply]]&lt;br /&gt;
&lt;br /&gt;
Recommended power supply for rotator controller is: 48V @ 1A DC.&lt;br /&gt;
A good choice is the [https://gr.mouser.com/ProductDetail/709-LRS50-48 MEAN WELL  LRS-50-48]&lt;br /&gt;
&lt;br /&gt;
The switching power supply could get as input voltage, 19-60V DC.&amp;lt;br&amp;gt;&lt;br /&gt;
In different input voltages, must be change the components like D4 and F1.&amp;lt;br&amp;gt;&lt;br /&gt;
Default PCB components works at 48VDC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Endstops ====&lt;br /&gt;
[[File:Endstop_part.png|thumb|320x240px|Endstop Specification]]&lt;br /&gt;
[[File:Endstop.jpg|thumb|320x240px|Endstop]]&lt;br /&gt;
&lt;br /&gt;
In reference design, mechanical endstops (the [https://www.aliexpress.com/item/10PCS-MICROSWITCH-LIMIT-SWITCH-3pin-N-O-N-C-MICRO-SWITCH-free-shipping/32692144896.html?spm=2114.search0104.8.13.2f3c2457pmCyFH&amp;amp;transAbTest=ae803_5&amp;amp;priceBeautifyAB=0 P/N SS0505] of endstop is specified in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator satnogs rotator BOM]) , are used.&lt;br /&gt;
&lt;br /&gt;
The controller has the capability to accommodate optical or magnetic endstop which connected to&lt;br /&gt;
P2 header with silkscreen, SW1, SW2, +5V and GND.&lt;br /&gt;
&lt;br /&gt;
Mechanical endstops are connected to&lt;br /&gt;
* SW1 and GND for azimuth axis &lt;br /&gt;
* SW2 and GND for elevation axis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Encoders ====&lt;br /&gt;
For stepper motor setup is optional (AS5601 encoder).&lt;br /&gt;
&lt;br /&gt;
For DC motor setup is necessary.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Encoder_sheet1.png|thumb|center|800x420px|alt=|Rotary Encoder sheet 1/2]]&lt;br /&gt;
[[File:Encoder_sheet2.png|thumb|center|800x420px|alt=|Rotary Encoder sheet 2/2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Wiring ====&lt;br /&gt;
&lt;br /&gt;
[[File:Wiring_diagram.png|thumb|center|800x420px|alt=|Wiring Diagram]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Rotator Controller enclosure - Placement ====&lt;br /&gt;
Mount the rotator controller enclosure by using two sides adhesive tape (as mentioned in BOM)&lt;br /&gt;
&lt;br /&gt;
[[File:Box_placement.png|thumb|center|800x420px|alt=|Rotator Controller enclosure - Placement]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Firmware and Pin Assignments ===&lt;br /&gt;
&lt;br /&gt;
===== Firmware =====&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware For stepper motors] &amp;lt;br&amp;gt;&lt;br /&gt;
[https://github.com/ph4as/dc_pid_control For DC motors]&lt;br /&gt;
&lt;br /&gt;
===== Pins Configuration =====&lt;br /&gt;
* M1IN1 10, Step or PWM1&lt;br /&gt;
* M1IN2 9, Direction or PWM2&lt;br /&gt;
* M1SF  7, Status flag&lt;br /&gt;
* M1FB  A1, Load measurment&lt;br /&gt;
&lt;br /&gt;
* M2IN1 11, Step or PWM1&lt;br /&gt;
* M2IN2 3, Direction or PWM2&lt;br /&gt;
* M2SF  6, Status flag&lt;br /&gt;
* M2FB  A0, Load measurment&lt;br /&gt;
&lt;br /&gt;
* MOTOR_EN 8, Enable/Disable motors&lt;br /&gt;
&lt;br /&gt;
* SW1 5, Endstop for axis 1&lt;br /&gt;
* SW2 4, Endstop for axis 2&lt;br /&gt;
&lt;br /&gt;
* RS485_DIR 2, RS485 Half Duplex direction pin&lt;br /&gt;
&lt;br /&gt;
* SDA_PIN 3, Data I2C pin&lt;br /&gt;
* SCL_PIN 4, Clock I2C pin&lt;br /&gt;
&lt;br /&gt;
* PIN12 12, Digital output pin&lt;br /&gt;
* PIN13 13, Digital output pin&lt;br /&gt;
* A2    A2, Analog input pin&lt;br /&gt;
* A3    A3, Analog input pin&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pre-Flight Check ===&lt;br /&gt;
&lt;br /&gt;
[[File:Pcb_testing_points.png|thumb|center|800x420px|alt=|Testing Points]]&lt;br /&gt;
&lt;br /&gt;
* Power your PCB with 48VDC, without plug-in arduino pro-mini and motor drivers, measure with multimeter the voltage in point 1. Expected voltage +12V (reference to GND).&lt;br /&gt;
* Plug arduino pro-mini and measure with multimeter the voltage in point 2. Expected voltage +5V (reference to GND).&lt;br /&gt;
* Plug motor drivers (for steppermotors ensure the current is adjusted properly)&lt;br /&gt;
* Connect all peripheral devices like motors, sensors, endstops&lt;br /&gt;
&lt;br /&gt;
If the two first steps fail, something is wrong (maybe there is a short circuit) in PCB. Check the connections with a multimeter.&lt;br /&gt;
&lt;br /&gt;
Then the board is ready to run the firmware, [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware satnogs-rotator-firmware].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rotator Controller v1 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Do9sd</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Adjusting_the_SatNOGS_Client&amp;diff=2072</id>
		<title>Adjusting the SatNOGS Client</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Adjusting_the_SatNOGS_Client&amp;diff=2072"/>
		<updated>2018-04-24T12:54:10Z</updated>

		<summary type="html">&lt;p&gt;Do9sd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(This page is a port of [https://community.libre.space/t/how-to-do-some-client-adjustments/1604/1 DL4PD's excellent post] to the SatNOGS forum.)&lt;br /&gt;
&lt;br /&gt;
== Prerequisites / dependencies ==&lt;br /&gt;
&lt;br /&gt;
This page assumes:&lt;br /&gt;
&lt;br /&gt;
* you've read all the [[Get Started|Getting Started]] page, as well as the pages linked under &amp;quot;Build&amp;quot; and &amp;quot;Operate&amp;quot; on the [[Main Page]]&lt;br /&gt;
* you've already made your [[Operation|first observations]] and have some waterfalls in the [[Network]]&lt;br /&gt;
* you've installed [http://gqrx.dk/download install gqrx] on your local computer.&lt;br /&gt;
&lt;br /&gt;
== SatNOGS station adjustments ==&lt;br /&gt;
&lt;br /&gt;
Now you've come to a point where you want to know how well your station is performing.  The first step is to determine your frequency offset.&lt;br /&gt;
&lt;br /&gt;
=== automatic adjustment via kalibrate-rtl ===&lt;br /&gt;
&lt;br /&gt;
As a more comfortable way to get the ppm of your SDR the tool ''kal'' from https://github.com/viraptor/kalibrate-rtl can be used.&lt;br /&gt;
At the moment you propably have to get and build it by yourself.&lt;br /&gt;
&lt;br /&gt;
see available parameters:&lt;br /&gt;
 root@raspberrypi:~# kal -h&lt;br /&gt;
 kalibrate v0.4.1-rtl, Copyright (c) 2010, Joshua Lackey&lt;br /&gt;
 modified for use with rtl-sdr devices, Copyright (c) 2012, Steve Markgraf&lt;br /&gt;
 Usage:&lt;br /&gt;
 	GSM Base Station Scan:&lt;br /&gt;
 		kal &amp;lt;-s band indicator&amp;gt; [options]&lt;br /&gt;
 &lt;br /&gt;
 	Clock Offset Calculation:&lt;br /&gt;
 		kal &amp;lt;-f frequency | -c channel&amp;gt; [options]&lt;br /&gt;
 &lt;br /&gt;
 Where options are:&lt;br /&gt;
 	-s	band to scan (GSM850, GSM-R, GSM900, EGSM, DCS, PCS)&lt;br /&gt;
 	-f	frequency of nearby GSM base station&lt;br /&gt;
 	-c	channel of nearby GSM base station&lt;br /&gt;
 	-b	band indicator (GSM850, GSM-R, GSM900, EGSM, DCS, PCS)&lt;br /&gt;
 	-g	gain in dB&lt;br /&gt;
 	-d	rtl-sdr device index&lt;br /&gt;
 	-e	initial frequency error in ppm&lt;br /&gt;
 	-E	manual frequency offset in hz&lt;br /&gt;
 	-v	verbose&lt;br /&gt;
 	-D	enable debug messages&lt;br /&gt;
 	-h	help&lt;br /&gt;
 root@raspberrypi:~#&lt;br /&gt;
&lt;br /&gt;
choose an appropriate band for scanning:&lt;br /&gt;
 root@raspberrypi:~# kal -s GSM900&lt;br /&gt;
 Found 1 device(s):&lt;br /&gt;
   0:  Generic RTL2832U OEM&lt;br /&gt;
 &lt;br /&gt;
 Using device 0: Generic RTL2832U OEM&lt;br /&gt;
 Found Elonics E4000 tuner&lt;br /&gt;
 Exact sample rate is: 270833.002142 Hz&lt;br /&gt;
 kal: Scanning for GSM-900 base stations.&lt;br /&gt;
 GSM-900:&lt;br /&gt;
     chan:   33 (941.6MHz - 155Hz)    power: 4877018.31&lt;br /&gt;
     chan:   41 (943.2MHz - 208Hz)    power: 2265226.87&lt;br /&gt;
     chan:   43 (943.6MHz - 133Hz)    power: 1287992.91&lt;br /&gt;
     chan:   55 (946.0MHz - 179Hz)    power: 1041611.46&lt;br /&gt;
     chan:   57 (946.4MHz - 252Hz)    power: 1405188.40&lt;br /&gt;
     chan:   66 (948.2MHz -  13Hz)    power: 5027059.56&lt;br /&gt;
     chan:   79 (950.8MHz - 111Hz)    power: 1088677.82&lt;br /&gt;
     chan:   84 (951.8MHz - 231Hz)    power:  945912.38&lt;br /&gt;
     chan:   86 (952.2MHz - 212Hz)    power: 2314696.93&lt;br /&gt;
     chan:  116 (958.2MHz - 180Hz)    power:  862935.90&lt;br /&gt;
 root@raspberrypi:~#&lt;br /&gt;
&lt;br /&gt;
choose a strong channel:&lt;br /&gt;
 root@raspberrypi:~# kal -c 33&lt;br /&gt;
 Found 1 device(s):&lt;br /&gt;
   0:  Generic RTL2832U OEM&lt;br /&gt;
 &lt;br /&gt;
 Using device 0: Generic RTL2832U OEM&lt;br /&gt;
 Found Elonics E4000 tuner&lt;br /&gt;
 Exact sample rate is: 270833.002142 Hz&lt;br /&gt;
 kal: Calculating clock frequency offset.&lt;br /&gt;
 Using GSM-900 channel 33 (941.6MHz)&lt;br /&gt;
 Tuned to 941.600000MHz (reported tuner error: 0Hz)&lt;br /&gt;
 average		[min, max]	(range, stddev)&lt;br /&gt;
 - 206Hz		[-293, -89]	(204, 56.913998)&lt;br /&gt;
 overruns: 0&lt;br /&gt;
 not found: 0&lt;br /&gt;
 average absolute error: 0.219 ppm&lt;br /&gt;
 root@raspberrypi:~#&lt;br /&gt;
&lt;br /&gt;
Now enter the measured ppm in satnogs-setup and you're done.&lt;br /&gt;
&lt;br /&gt;
=== manual adjustment ===&lt;br /&gt;
&lt;br /&gt;
To start, please connect to your Raspberry Pi's local web interface. By default the URL is something like &amp;quot;http://192.168.0.5:5000&amp;quot;; you'll need to figure out what it is for your client. In the upper right corner there is a big green button where you can set your ground station in standalone mode.&lt;br /&gt;
&lt;br /&gt;
Here's how it looks in network mode:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;[[File:SatNOGS_local_network_mode.png|center|600px]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And here's how it looks when it's switched to standalone mode:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;[[File:SatNOGS_local_standalone_mode.png|center|600px]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Message|&lt;br /&gt;
* Do not forget to set this back to network mode when done with your adjustments!&lt;br /&gt;
* While your station is in standalone mode, no observations from the SatNOGS network will be executed!}}&lt;br /&gt;
&lt;br /&gt;
After setting to standalone mode, please SSH to your SatNOGS Pi with your well-known user account; by default, this is the user &amp;quot;pi&amp;quot;.  After successful authorization you will see a prompt like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Linux satnogs190-dev 4.9.59-v7+ #1047 SMP Sun Oct 29 12:19:23 GMT 2017 armv7l&lt;br /&gt;
&lt;br /&gt;
 The programs included with the Debian GNU/Linux system are free software;&lt;br /&gt;
 the exact distribution terms for each program are described in the&lt;br /&gt;
 individual files in /usr/share/doc/*/copyright.&lt;br /&gt;
&lt;br /&gt;
 Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent&lt;br /&gt;
 permitted by applicable law.&lt;br /&gt;
 Last login: Fri Jan 12 07:34:11 2018 from 192.168.10.35&lt;br /&gt;
 pd@satnogs190-dev:~ $&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now go ahead and start the &amp;quot;RTL SDR spectrum server&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 $ rtl_tcp -a 0.0.0.0&lt;br /&gt;
&lt;br /&gt;
If everything is fine, you will get an output like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Found 1 device(s):&lt;br /&gt;
   0:  Generic, RTL2832U, SN: 77771111153705700&lt;br /&gt;
&lt;br /&gt;
 Using device 0: Generic RTL2832U&lt;br /&gt;
 Found Rafael Micro R820T tuner&lt;br /&gt;
 [R82XX] PLL not locked!&lt;br /&gt;
 Tuned to 100000000 Hz.&lt;br /&gt;
 listening...&lt;br /&gt;
&lt;br /&gt;
Use the device argument 'rtl_tcp=0.0.0.0:1234' in OsmoSDR (gr-osmosdr) source to receive samples in GRC and control rtl_tcp parameters (frequency, gain, ...). No further output will be generated until you connect to this server. Hitting C-c will stop it and the command line appears. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Message|You will have to stop this server if you want to go back to network mode - do not forget about this!}}&lt;br /&gt;
&lt;br /&gt;
Now go ahead and start gqrx:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;[[File:Startup_gqrx.png|center|600px]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will have to go to the setup menu, either by clicking on the &amp;quot;harde&amp;quot; symbol, or navigating through the menu item called &amp;quot;File -&amp;gt; I/O Devices&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;[[File:Gqrx_io_configuration.png|center]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Click on &amp;quot;Device&amp;quot; and chose &amp;quot;RTL-SDR Spectrum Server&amp;quot;&lt;br /&gt;
Edit &amp;quot;Device string&amp;quot; to match your Pi's IP address, Port defaults to 1234,&lt;br /&gt;
which is the same as the default setting for your server you just started on&lt;br /&gt;
the Pi.&lt;br /&gt;
Set &amp;quot;Input Rate&amp;quot; to something network friendly - we do not need the whole spectrum the RTL SDR is able to convert. 1,8 MSPS (1800000) should be OK&lt;br /&gt;
Depending on this setting your network will get very busy. Using wireless LAN is not recommended. Every sample has a data size of 16 bits, so the previous setting of 1,8MSPS/s results in a network load of 28,8 MBit/s:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;1,8 MSPS * 16 bit/s = 28,8 MBit/s&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Audio Output -&amp;gt; Device&amp;quot; and &amp;quot;-&amp;gt; Sample rate&amp;quot; should be set by default,&lt;br /&gt;
values on average soundcards would be something like &amp;quot;Default, 48 kHz&amp;quot;&lt;br /&gt;
Close the dialogue by clicking &amp;quot;OK&amp;quot;&lt;br /&gt;
Your RTL-SDR spectrum server on the Pi should now show up a connection from&lt;br /&gt;
your computer running gqrx.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 client accepted!&lt;br /&gt;
 set gain mode 1&lt;br /&gt;
 set agc mode 0&lt;br /&gt;
 set direct sampling 0&lt;br /&gt;
 Disabled direct sampling mode&lt;br /&gt;
 set offset tuning 0&lt;br /&gt;
 set sample rate 960000&lt;br /&gt;
 ll+, now 1&lt;br /&gt;
 ll+, now 2&lt;br /&gt;
 set freq correction 42&lt;br /&gt;
 set freq 144500000&lt;br /&gt;
 set gain mode 0&lt;br /&gt;
 set agc mode 1&lt;br /&gt;
 set gain 0&lt;br /&gt;
 set freq 145814000&lt;br /&gt;
 ll-, now 0&lt;br /&gt;
 ll+, now 1&lt;br /&gt;
 ll+, now 2&lt;br /&gt;
 ll+, now 3&lt;br /&gt;
 ll+, now 4&lt;br /&gt;
 ll+, now 5&lt;br /&gt;
 ll+, now 6&lt;br /&gt;
 ll+, now 7&lt;br /&gt;
 ll+, now 8&lt;br /&gt;
 ll+, now 9&lt;br /&gt;
 ll+, now 10&lt;br /&gt;
 ll+, now 11&lt;br /&gt;
 ll+, now 12&lt;br /&gt;
 ll+, now 13&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The only thing left now is to &amp;quot;Start DSP&amp;quot; - from the menu item &amp;quot;File&amp;quot;, by hitting C-d or simply clicking the Play-Button.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;[[File:Gqrx_running.png|center|600px]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Go for a known local HAM radio repeater or a CW beacon transmitter and set your demodulator accordingly. Narrow Band FM or CW is best to discover ppm error offset, which is the frequency offset in parts per million (ppm) which is always there with standard RTL-SDR dongles. It is also highly temperature dependent, so one might have to re-evaluate this from time to time. Enter the known frequency of your chosen transmitter (NFM repaeter or CW beacon). I have chosen a very known CW beacon just some km away from my home: ON4VHF on 144.718000 MHz. Walk through the tab called &amp;quot;Receiver options&amp;quot; and change the settings to fit the beacon: &amp;quot;Filter width Normal&amp;quot;, &amp;quot;Filter shape Normal&amp;quot;, &amp;quot;Mode CW-L&amp;quot;, &amp;quot;AGC Medium&amp;quot;. Set Squelch to something low, so you can hear noise from your speakers. Maybe you have to Adjust the audio &amp;quot;Gain&amp;quot; to something like &amp;quot;0.0 dB&amp;quot;. You can adjust this to fit your needs to hear noise. With ppm error, which is default, set to 0.0 ppm, one can just guess where your receiver is listening. Anyway, just set it to 144.718000 MHz and try to find your beacon. You can see the result for my RTL SDR dongle down here:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;[[File:Gqrx_ppm-error_offset.png|center|600px]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now got to the tab called &amp;quot;Input controls&amp;quot; and find an input field called &amp;quot;Freq. correction&amp;quot;. By default this should show &amp;quot;0,0 ppm&amp;quot;. Set frequency back to your beacons transmit frequency. After this you have to increase the Freq. correction value as long until you can hear the beacon. Now zoom into the panorama by locating your mouse pointer in the range where the frequency values are printed below the panorama, just above the waterfall. Try to fit the Freq. correction value as good as possible, that your receivers red indication line is just in the middle of the transmitters bandwidth.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;[[File:Gqrx_ppm-error_corrected.png|center]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now write down the evaluated ppm correction value and exit gqrx as well as the RTL SDR spectrum server. In the command line now available start satnogs-setup:&lt;br /&gt;
&lt;br /&gt;
 $ sudo satnogs-setup&lt;br /&gt;
&lt;br /&gt;
Navigate to &amp;quot;Advanced -&amp;gt; SATNOGS_PPM_ERROR&amp;quot; and enter the new value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;[[File:Fcecd26ca08cf3d23dffce719ef1dd13a4f7109d.png|center]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exit the satnogs-setup with &amp;quot;Back&amp;quot;, then &amp;quot;Apply Configuration&amp;quot; (this might take a while) and &amp;quot;Back&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
You are done with frequency offset correction.&lt;br /&gt;
&lt;br /&gt;
{{Message|With gqrx, you get a nice tool to do some SDR stuff by the way. Just play around a bit and get familiar with all that stuff. Just keep in mind that, as long as you run the RTL SDR Spectrum server or you have set your client into standalone mode, nothing is done from network.}}&lt;br /&gt;
&lt;br /&gt;
== Enhancements ==&lt;br /&gt;
&lt;br /&gt;
=== Waterfall color improvements ===&lt;br /&gt;
&lt;br /&gt;
To get some nicer waterfalls one has to dig into waterfall plotting script. This is a static one and, so far, cannot be configured through satnogs-setup. Anyway: there is no magic behind it and one can understand what the changes are once you have seen them.&lt;br /&gt;
&lt;br /&gt;
Log into the Pi and start at making a copy of /usr/share/satnogs/scripts/satnogs_waterfall.gp, just in case:&lt;br /&gt;
&lt;br /&gt;
 $ cp /usr/share/satnogs/scripts/satnogs_waterfall.gp ~/.&lt;br /&gt;
&lt;br /&gt;
Now you can start editing the script:&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /usr/share/satnogs/scripts/satnogs_waterfall.gp&lt;br /&gt;
&lt;br /&gt;
Search for a line starting with cbtics:&lt;br /&gt;
&lt;br /&gt;
 # Spectravue palette and scale&lt;br /&gt;
 set cbtics (-110, -105, -100, -95, -90, -85, -80, -75, -70, -65, -60, -55, -50, -55, -40)&lt;br /&gt;
&lt;br /&gt;
Comment it out by adding a #, copy, paste and edit that new line that it matches something like this:&lt;br /&gt;
&lt;br /&gt;
 # Spectravue palette and scale&lt;br /&gt;
 #set cbtics (-110, -105, -100, -95, -90, -85, -80, -75, -70, -65, -60, -55, -50, -55, -40)&lt;br /&gt;
 set cbtics (-90, -85, -80, -75, -70, -65, -60, -55, -50, -55, -45, -40, -35, -40, -25)&lt;br /&gt;
&lt;br /&gt;
Now go ahead and find a line with cbrange:&lt;br /&gt;
&lt;br /&gt;
 set ylabel 'Time (seconds)'&lt;br /&gt;
 set cbrange [-100:-50]&lt;br /&gt;
&lt;br /&gt;
I guess, one already gets the point - change cbrange to match the new cbtics:&lt;br /&gt;
&lt;br /&gt;
 set ylabel 'Time (seconds)'&lt;br /&gt;
 #set cbrange [-100:-50]&lt;br /&gt;
 set cbrange [-85:-35]&lt;br /&gt;
&lt;br /&gt;
Save the file and you are done. Schedule some observations and watch the new colors. Maybe you can just improve it a little more but keep in mind: always keep a bit of the noise floor into the waterfalls, so you can see the whole signals dynamic range. I love it, when there are only a few dots of the noise.&lt;/div&gt;</summary>
		<author><name>Do9sd</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Adjusting_the_SatNOGS_Client&amp;diff=2071</id>
		<title>Adjusting the SatNOGS Client</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Adjusting_the_SatNOGS_Client&amp;diff=2071"/>
		<updated>2018-04-24T12:37:18Z</updated>

		<summary type="html">&lt;p&gt;Do9sd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(This page is a port of [https://community.libre.space/t/how-to-do-some-client-adjustments/1604/1 DL4PD's excellent post] to the SatNOGS forum.)&lt;br /&gt;
&lt;br /&gt;
== Prerequisites / dependencies ==&lt;br /&gt;
&lt;br /&gt;
This page assumes:&lt;br /&gt;
&lt;br /&gt;
* you've read all the [[Get Started|Getting Started]] page, as well as the pages linked under &amp;quot;Build&amp;quot; and &amp;quot;Operate&amp;quot; on the [[Main Page]]&lt;br /&gt;
* you've already made your [[Operation|first observations]] and have some waterfalls in the [[Network]]&lt;br /&gt;
* you've installed [http://gqrx.dk/download install gqrx] on your local computer.&lt;br /&gt;
&lt;br /&gt;
== SatNOGS station adjustments ==&lt;br /&gt;
&lt;br /&gt;
Now you've come to a point where you want to know how well your station is performing.  The first step is to determine your frequency offset.&lt;br /&gt;
&lt;br /&gt;
=== automatic adjustment via rt_kal ===&lt;br /&gt;
&lt;br /&gt;
As a more comfortable way to get the ppm of your SDR the tool ''kal'' from https://github.com/viraptor/kalibrate-rtl can be used.&lt;br /&gt;
At the moment you propably have to get and build it by yourself.&lt;br /&gt;
&lt;br /&gt;
see available parameters:&lt;br /&gt;
 root@raspberrypi:~# kal -h&lt;br /&gt;
 kalibrate v0.4.1-rtl, Copyright (c) 2010, Joshua Lackey&lt;br /&gt;
 modified for use with rtl-sdr devices, Copyright (c) 2012, Steve Markgraf&lt;br /&gt;
 Usage:&lt;br /&gt;
 	GSM Base Station Scan:&lt;br /&gt;
 		kal &amp;lt;-s band indicator&amp;gt; [options]&lt;br /&gt;
 &lt;br /&gt;
 	Clock Offset Calculation:&lt;br /&gt;
 		kal &amp;lt;-f frequency | -c channel&amp;gt; [options]&lt;br /&gt;
 &lt;br /&gt;
 Where options are:&lt;br /&gt;
 	-s	band to scan (GSM850, GSM-R, GSM900, EGSM, DCS, PCS)&lt;br /&gt;
 	-f	frequency of nearby GSM base station&lt;br /&gt;
 	-c	channel of nearby GSM base station&lt;br /&gt;
 	-b	band indicator (GSM850, GSM-R, GSM900, EGSM, DCS, PCS)&lt;br /&gt;
 	-g	gain in dB&lt;br /&gt;
 	-d	rtl-sdr device index&lt;br /&gt;
 	-e	initial frequency error in ppm&lt;br /&gt;
 	-E	manual frequency offset in hz&lt;br /&gt;
 	-v	verbose&lt;br /&gt;
 	-D	enable debug messages&lt;br /&gt;
 	-h	help&lt;br /&gt;
 root@raspberrypi:~#&lt;br /&gt;
&lt;br /&gt;
choose an appropriate band for scanning:&lt;br /&gt;
 root@raspberrypi:~# kal -s GSM900&lt;br /&gt;
 Found 1 device(s):&lt;br /&gt;
   0:  Generic RTL2832U OEM&lt;br /&gt;
 &lt;br /&gt;
 Using device 0: Generic RTL2832U OEM&lt;br /&gt;
 Found Elonics E4000 tuner&lt;br /&gt;
 Exact sample rate is: 270833.002142 Hz&lt;br /&gt;
 kal: Scanning for GSM-900 base stations.&lt;br /&gt;
 GSM-900:&lt;br /&gt;
     chan:   33 (941.6MHz - 155Hz)    power: 4877018.31&lt;br /&gt;
     chan:   41 (943.2MHz - 208Hz)    power: 2265226.87&lt;br /&gt;
     chan:   43 (943.6MHz - 133Hz)    power: 1287992.91&lt;br /&gt;
     chan:   55 (946.0MHz - 179Hz)    power: 1041611.46&lt;br /&gt;
     chan:   57 (946.4MHz - 252Hz)    power: 1405188.40&lt;br /&gt;
     chan:   66 (948.2MHz -  13Hz)    power: 5027059.56&lt;br /&gt;
     chan:   79 (950.8MHz - 111Hz)    power: 1088677.82&lt;br /&gt;
     chan:   84 (951.8MHz - 231Hz)    power:  945912.38&lt;br /&gt;
     chan:   86 (952.2MHz - 212Hz)    power: 2314696.93&lt;br /&gt;
     chan:  116 (958.2MHz - 180Hz)    power:  862935.90&lt;br /&gt;
 root@raspberrypi:~#&lt;br /&gt;
&lt;br /&gt;
choose a strong channel:&lt;br /&gt;
 root@raspberrypi:~# kal -c 33&lt;br /&gt;
 Found 1 device(s):&lt;br /&gt;
   0:  Generic RTL2832U OEM&lt;br /&gt;
 &lt;br /&gt;
 Using device 0: Generic RTL2832U OEM&lt;br /&gt;
 Found Elonics E4000 tuner&lt;br /&gt;
 Exact sample rate is: 270833.002142 Hz&lt;br /&gt;
 kal: Calculating clock frequency offset.&lt;br /&gt;
 Using GSM-900 channel 33 (941.6MHz)&lt;br /&gt;
 Tuned to 941.600000MHz (reported tuner error: 0Hz)&lt;br /&gt;
 average		[min, max]	(range, stddev)&lt;br /&gt;
 - 206Hz		[-293, -89]	(204, 56.913998)&lt;br /&gt;
 overruns: 0&lt;br /&gt;
 not found: 0&lt;br /&gt;
 average absolute error: 0.219 ppm&lt;br /&gt;
 root@raspberrypi:~#&lt;br /&gt;
&lt;br /&gt;
Now enter the measured ppm in satnogs-setup and you're done.&lt;br /&gt;
&lt;br /&gt;
=== manual adjustment ===&lt;br /&gt;
&lt;br /&gt;
To start, please connect to your Raspberry Pi's local web interface. By default the URL is something like &amp;quot;http://192.168.0.5:5000&amp;quot;; you'll need to figure out what it is for your client. In the upper right corner there is a big green button where you can set your ground station in standalone mode.&lt;br /&gt;
&lt;br /&gt;
Here's how it looks in network mode:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;[[File:SatNOGS_local_network_mode.png|center|600px]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And here's how it looks when it's switched to standalone mode:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;[[File:SatNOGS_local_standalone_mode.png|center|600px]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Message|&lt;br /&gt;
* Do not forget to set this back to network mode when done with your adjustments!&lt;br /&gt;
* While your station is in standalone mode, no observations from the SatNOGS network will be executed!}}&lt;br /&gt;
&lt;br /&gt;
After setting to standalone mode, please SSH to your SatNOGS Pi with your well-known user account; by default, this is the user &amp;quot;pi&amp;quot;.  After successful authorization you will see a prompt like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Linux satnogs190-dev 4.9.59-v7+ #1047 SMP Sun Oct 29 12:19:23 GMT 2017 armv7l&lt;br /&gt;
&lt;br /&gt;
 The programs included with the Debian GNU/Linux system are free software;&lt;br /&gt;
 the exact distribution terms for each program are described in the&lt;br /&gt;
 individual files in /usr/share/doc/*/copyright.&lt;br /&gt;
&lt;br /&gt;
 Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent&lt;br /&gt;
 permitted by applicable law.&lt;br /&gt;
 Last login: Fri Jan 12 07:34:11 2018 from 192.168.10.35&lt;br /&gt;
 pd@satnogs190-dev:~ $&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now go ahead and start the &amp;quot;RTL SDR spectrum server&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 $ rtl_tcp -a 0.0.0.0&lt;br /&gt;
&lt;br /&gt;
If everything is fine, you will get an output like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Found 1 device(s):&lt;br /&gt;
   0:  Generic, RTL2832U, SN: 77771111153705700&lt;br /&gt;
&lt;br /&gt;
 Using device 0: Generic RTL2832U&lt;br /&gt;
 Found Rafael Micro R820T tuner&lt;br /&gt;
 [R82XX] PLL not locked!&lt;br /&gt;
 Tuned to 100000000 Hz.&lt;br /&gt;
 listening...&lt;br /&gt;
&lt;br /&gt;
Use the device argument 'rtl_tcp=0.0.0.0:1234' in OsmoSDR (gr-osmosdr) source to receive samples in GRC and control rtl_tcp parameters (frequency, gain, ...). No further output will be generated until you connect to this server. Hitting C-c will stop it and the command line appears. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Message|You will have to stop this server if you want to go back to network mode - do not forget about this!}}&lt;br /&gt;
&lt;br /&gt;
Now go ahead and start gqrx:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;[[File:Startup_gqrx.png|center|600px]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will have to go to the setup menu, either by clicking on the &amp;quot;harde&amp;quot; symbol, or navigating through the menu item called &amp;quot;File -&amp;gt; I/O Devices&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;[[File:Gqrx_io_configuration.png|center]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Click on &amp;quot;Device&amp;quot; and chose &amp;quot;RTL-SDR Spectrum Server&amp;quot;&lt;br /&gt;
Edit &amp;quot;Device string&amp;quot; to match your Pi's IP address, Port defaults to 1234,&lt;br /&gt;
which is the same as the default setting for your server you just started on&lt;br /&gt;
the Pi.&lt;br /&gt;
Set &amp;quot;Input Rate&amp;quot; to something network friendly - we do not need the whole spectrum the RTL SDR is able to convert. 1,8 MSPS (1800000) should be OK&lt;br /&gt;
Depending on this setting your network will get very busy. Using wireless LAN is not recommended. Every sample has a data size of 16 bits, so the previous setting of 1,8MSPS/s results in a network load of 28,8 MBit/s:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;1,8 MSPS * 16 bit/s = 28,8 MBit/s&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Audio Output -&amp;gt; Device&amp;quot; and &amp;quot;-&amp;gt; Sample rate&amp;quot; should be set by default,&lt;br /&gt;
values on average soundcards would be something like &amp;quot;Default, 48 kHz&amp;quot;&lt;br /&gt;
Close the dialogue by clicking &amp;quot;OK&amp;quot;&lt;br /&gt;
Your RTL-SDR spectrum server on the Pi should now show up a connection from&lt;br /&gt;
your computer running gqrx.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 client accepted!&lt;br /&gt;
 set gain mode 1&lt;br /&gt;
 set agc mode 0&lt;br /&gt;
 set direct sampling 0&lt;br /&gt;
 Disabled direct sampling mode&lt;br /&gt;
 set offset tuning 0&lt;br /&gt;
 set sample rate 960000&lt;br /&gt;
 ll+, now 1&lt;br /&gt;
 ll+, now 2&lt;br /&gt;
 set freq correction 42&lt;br /&gt;
 set freq 144500000&lt;br /&gt;
 set gain mode 0&lt;br /&gt;
 set agc mode 1&lt;br /&gt;
 set gain 0&lt;br /&gt;
 set freq 145814000&lt;br /&gt;
 ll-, now 0&lt;br /&gt;
 ll+, now 1&lt;br /&gt;
 ll+, now 2&lt;br /&gt;
 ll+, now 3&lt;br /&gt;
 ll+, now 4&lt;br /&gt;
 ll+, now 5&lt;br /&gt;
 ll+, now 6&lt;br /&gt;
 ll+, now 7&lt;br /&gt;
 ll+, now 8&lt;br /&gt;
 ll+, now 9&lt;br /&gt;
 ll+, now 10&lt;br /&gt;
 ll+, now 11&lt;br /&gt;
 ll+, now 12&lt;br /&gt;
 ll+, now 13&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The only thing left now is to &amp;quot;Start DSP&amp;quot; - from the menu item &amp;quot;File&amp;quot;, by hitting C-d or simply clicking the Play-Button.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;[[File:Gqrx_running.png|center|600px]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Go for a known local HAM radio repeater or a CW beacon transmitter and set your demodulator accordingly. Narrow Band FM or CW is best to discover ppm error offset, which is the frequency offset in parts per million (ppm) which is always there with standard RTL-SDR dongles. It is also highly temperature dependent, so one might have to re-evaluate this from time to time. Enter the known frequency of your chosen transmitter (NFM repaeter or CW beacon). I have chosen a very known CW beacon just some km away from my home: ON4VHF on 144.718000 MHz. Walk through the tab called &amp;quot;Receiver options&amp;quot; and change the settings to fit the beacon: &amp;quot;Filter width Normal&amp;quot;, &amp;quot;Filter shape Normal&amp;quot;, &amp;quot;Mode CW-L&amp;quot;, &amp;quot;AGC Medium&amp;quot;. Set Squelch to something low, so you can hear noise from your speakers. Maybe you have to Adjust the audio &amp;quot;Gain&amp;quot; to something like &amp;quot;0.0 dB&amp;quot;. You can adjust this to fit your needs to hear noise. With ppm error, which is default, set to 0.0 ppm, one can just guess where your receiver is listening. Anyway, just set it to 144.718000 MHz and try to find your beacon. You can see the result for my RTL SDR dongle down here:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;[[File:Gqrx_ppm-error_offset.png|center|600px]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now got to the tab called &amp;quot;Input controls&amp;quot; and find an input field called &amp;quot;Freq. correction&amp;quot;. By default this should show &amp;quot;0,0 ppm&amp;quot;. Set frequency back to your beacons transmit frequency. After this you have to increase the Freq. correction value as long until you can hear the beacon. Now zoom into the panorama by locating your mouse pointer in the range where the frequency values are printed below the panorama, just above the waterfall. Try to fit the Freq. correction value as good as possible, that your receivers red indication line is just in the middle of the transmitters bandwidth.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;[[File:Gqrx_ppm-error_corrected.png|center]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now write down the evaluated ppm correction value and exit gqrx as well as the RTL SDR spectrum server. In the command line now available start satnogs-setup:&lt;br /&gt;
&lt;br /&gt;
 $ sudo satnogs-setup&lt;br /&gt;
&lt;br /&gt;
Navigate to &amp;quot;Advanced -&amp;gt; SATNOGS_PPM_ERROR&amp;quot; and enter the new value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;[[File:Fcecd26ca08cf3d23dffce719ef1dd13a4f7109d.png|center]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exit the satnogs-setup with &amp;quot;Back&amp;quot;, then &amp;quot;Apply Configuration&amp;quot; (this might take a while) and &amp;quot;Back&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
You are done with frequency offset correction.&lt;br /&gt;
&lt;br /&gt;
{{Message|With gqrx, you get a nice tool to do some SDR stuff by the way. Just play around a bit and get familiar with all that stuff. Just keep in mind that, as long as you run the RTL SDR Spectrum server or you have set your client into standalone mode, nothing is done from network.}}&lt;br /&gt;
&lt;br /&gt;
== Enhancements ==&lt;br /&gt;
&lt;br /&gt;
=== Waterfall color improvements ===&lt;br /&gt;
&lt;br /&gt;
To get some nicer waterfalls one has to dig into waterfall plotting script. This is a static one and, so far, cannot be configured through satnogs-setup. Anyway: there is no magic behind it and one can understand what the changes are once you have seen them.&lt;br /&gt;
&lt;br /&gt;
Log into the Pi and start at making a copy of /usr/share/satnogs/scripts/satnogs_waterfall.gp, just in case:&lt;br /&gt;
&lt;br /&gt;
 $ cp /usr/share/satnogs/scripts/satnogs_waterfall.gp ~/.&lt;br /&gt;
&lt;br /&gt;
Now you can start editing the script:&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /usr/share/satnogs/scripts/satnogs_waterfall.gp&lt;br /&gt;
&lt;br /&gt;
Search for a line starting with cbtics:&lt;br /&gt;
&lt;br /&gt;
 # Spectravue palette and scale&lt;br /&gt;
 set cbtics (-110, -105, -100, -95, -90, -85, -80, -75, -70, -65, -60, -55, -50, -55, -40)&lt;br /&gt;
&lt;br /&gt;
Comment it out by adding a #, copy, paste and edit that new line that it matches something like this:&lt;br /&gt;
&lt;br /&gt;
 # Spectravue palette and scale&lt;br /&gt;
 #set cbtics (-110, -105, -100, -95, -90, -85, -80, -75, -70, -65, -60, -55, -50, -55, -40)&lt;br /&gt;
 set cbtics (-90, -85, -80, -75, -70, -65, -60, -55, -50, -55, -45, -40, -35, -40, -25)&lt;br /&gt;
&lt;br /&gt;
Now go ahead and find a line with cbrange:&lt;br /&gt;
&lt;br /&gt;
 set ylabel 'Time (seconds)'&lt;br /&gt;
 set cbrange [-100:-50]&lt;br /&gt;
&lt;br /&gt;
I guess, one already gets the point - change cbrange to match the new cbtics:&lt;br /&gt;
&lt;br /&gt;
 set ylabel 'Time (seconds)'&lt;br /&gt;
 #set cbrange [-100:-50]&lt;br /&gt;
 set cbrange [-85:-35]&lt;br /&gt;
&lt;br /&gt;
Save the file and you are done. Schedule some observations and watch the new colors. Maybe you can just improve it a little more but keep in mind: always keep a bit of the noise floor into the waterfalls, so you can see the whole signals dynamic range. I love it, when there are only a few dots of the noise.&lt;/div&gt;</summary>
		<author><name>Do9sd</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Talk:SatNOGS_Rotator_Controller&amp;diff=2041</id>
		<title>Talk:SatNOGS Rotator Controller</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Talk:SatNOGS_Rotator_Controller&amp;diff=2041"/>
		<updated>2018-04-23T12:00:35Z</updated>

		<summary type="html">&lt;p&gt;Do9sd: Created page with &amp;quot;while building the controller i stumbled across some questions which could be explained more clearly (at least from a beginner point of view)  * pros and cons of using microst...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;while building the controller i stumbled across some questions which could be explained more clearly (at least from a beginner point of view)&lt;br /&gt;
&lt;br /&gt;
* pros and cons of using microstepping&lt;br /&gt;
* should r4 and r7 be soldered when using full steps or shall they be ignored at all?&lt;br /&gt;
* pros and cons of using uart vs. r485&lt;/div&gt;</summary>
		<author><name>Do9sd</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Adjusting_the_SatNOGS_Client&amp;diff=1998</id>
		<title>Adjusting the SatNOGS Client</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Adjusting_the_SatNOGS_Client&amp;diff=1998"/>
		<updated>2018-04-12T08:08:10Z</updated>

		<summary type="html">&lt;p&gt;Do9sd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(This page is a port of [https://community.libre.space/t/how-to-do-some-client-adjustments/1604/1 DL4PD's excellent post] to the SatNOGS forum.)&lt;br /&gt;
&lt;br /&gt;
== Prerequisites / dependencies ==&lt;br /&gt;
&lt;br /&gt;
This page assumes:&lt;br /&gt;
&lt;br /&gt;
* you've read all the [[Get Started|Getting Started]] page, as well as the pages linked under &amp;quot;Build&amp;quot; and &amp;quot;Operate&amp;quot; on the [[Main Page]]&lt;br /&gt;
* you've already made your [[Operation|first observations]] and have some waterfalls in the [[Network]]&lt;br /&gt;
* you've installed [http://gqrx.dk/download install gqrx] on your local computer.&lt;br /&gt;
&lt;br /&gt;
== SatNOGS station adjustments ==&lt;br /&gt;
&lt;br /&gt;
Now you've come to a point where you want to know how well your station is performing.  The first step is to determine your frequency offset.&lt;br /&gt;
&lt;br /&gt;
=== automatic adjustment via rt_kal ===&lt;br /&gt;
&lt;br /&gt;
As a more comfortable way to get the ppm of your SDR the tool ''kal'' from https://github.com/steve-m/kalibrate-rtl can be used.&lt;br /&gt;
At the moment you propably have to get and build it by yourself.&lt;br /&gt;
&lt;br /&gt;
=== manual adjustment ===&lt;br /&gt;
&lt;br /&gt;
To start, please connect to your Raspberry Pi's local web interface. By default the URL is something like &amp;quot;http://192.168.0.5:5000&amp;quot;; you'll need to figure out what it is for your client. In the upper right corner there is a big green button where you can set your ground station in standalone mode.&lt;br /&gt;
&lt;br /&gt;
Here's how it looks in network mode:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;[[File:SatNOGS_local_network_mode.png|center|600px]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And here's how it looks when it's switched to standalone mode:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;[[File:SatNOGS_local_standalone_mode.png|center|600px]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Message|&lt;br /&gt;
* Do not forget to set this back to network mode when done with your adjustments!&lt;br /&gt;
* While your station is in standalone mode, no observations from the SatNOGS network will be executed!}}&lt;br /&gt;
&lt;br /&gt;
After setting to standalone mode, please SSH to your SatNOGS Pi with your well-known user account; by default, this is the user &amp;quot;pi&amp;quot;.  After successful authorization you will see a prompt like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Linux satnogs190-dev 4.9.59-v7+ #1047 SMP Sun Oct 29 12:19:23 GMT 2017 armv7l&lt;br /&gt;
&lt;br /&gt;
 The programs included with the Debian GNU/Linux system are free software;&lt;br /&gt;
 the exact distribution terms for each program are described in the&lt;br /&gt;
 individual files in /usr/share/doc/*/copyright.&lt;br /&gt;
&lt;br /&gt;
 Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent&lt;br /&gt;
 permitted by applicable law.&lt;br /&gt;
 Last login: Fri Jan 12 07:34:11 2018 from 192.168.10.35&lt;br /&gt;
 pd@satnogs190-dev:~ $&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now go ahead and start the &amp;quot;RTL SDR spectrum server&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 $ rtl_tcp -a 0.0.0.0&lt;br /&gt;
&lt;br /&gt;
If everything is fine, you will get an output like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Found 1 device(s):&lt;br /&gt;
   0:  Generic, RTL2832U, SN: 77771111153705700&lt;br /&gt;
&lt;br /&gt;
 Using device 0: Generic RTL2832U&lt;br /&gt;
 Found Rafael Micro R820T tuner&lt;br /&gt;
 [R82XX] PLL not locked!&lt;br /&gt;
 Tuned to 100000000 Hz.&lt;br /&gt;
 listening...&lt;br /&gt;
&lt;br /&gt;
Use the device argument 'rtl_tcp=0.0.0.0:1234' in OsmoSDR (gr-osmosdr) source to receive samples in GRC and control rtl_tcp parameters (frequency, gain, ...). No further output will be generated until you connect to this server. Hitting C-c will stop it and the command line appears. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Message|You will have to stop this server if you want to go back to network mode - do not forget about this!}}&lt;br /&gt;
&lt;br /&gt;
Now go ahead and start gqrx:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;[[File:Startup_gqrx.png|center|600px]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will have to go to the setup menu, either by clicking on the &amp;quot;harde&amp;quot; symbol, or navigating through the menu item called &amp;quot;File -&amp;gt; I/O Devices&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;[[File:Gqrx_io_configuration.png|center]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Click on &amp;quot;Device&amp;quot; and chose &amp;quot;RTL-SDR Spectrum Server&amp;quot;&lt;br /&gt;
Edit &amp;quot;Device string&amp;quot; to match your Pi's IP address, Port defaults to 1234,&lt;br /&gt;
which is the same as the default setting for your server you just started on&lt;br /&gt;
the Pi.&lt;br /&gt;
Set &amp;quot;Input Rate&amp;quot; to something network friendly - we do not need the whole spectrum the RTL SDR is able to convert. 1,8 MSPS (1800000) should be OK&lt;br /&gt;
Depending on this setting your network will get very busy. Using wireless LAN is not recommended. Every sample has a data size of 16 bits, so the previous setting of 1,8MSPS/s results in a network load of 28,8 MBit/s:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;1,8 MSPS * 16 bit/s = 28,8 MBit/s&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Audio Output -&amp;gt; Device&amp;quot; and &amp;quot;-&amp;gt; Sample rate&amp;quot; should be set by default,&lt;br /&gt;
values on average soundcards would be something like &amp;quot;Default, 48 kHz&amp;quot;&lt;br /&gt;
Close the dialogue by clicking &amp;quot;OK&amp;quot;&lt;br /&gt;
Your RTL-SDR spectrum server on the Pi should now show up a connection from&lt;br /&gt;
your computer running gqrx.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 client accepted!&lt;br /&gt;
 set gain mode 1&lt;br /&gt;
 set agc mode 0&lt;br /&gt;
 set direct sampling 0&lt;br /&gt;
 Disabled direct sampling mode&lt;br /&gt;
 set offset tuning 0&lt;br /&gt;
 set sample rate 960000&lt;br /&gt;
 ll+, now 1&lt;br /&gt;
 ll+, now 2&lt;br /&gt;
 set freq correction 42&lt;br /&gt;
 set freq 144500000&lt;br /&gt;
 set gain mode 0&lt;br /&gt;
 set agc mode 1&lt;br /&gt;
 set gain 0&lt;br /&gt;
 set freq 145814000&lt;br /&gt;
 ll-, now 0&lt;br /&gt;
 ll+, now 1&lt;br /&gt;
 ll+, now 2&lt;br /&gt;
 ll+, now 3&lt;br /&gt;
 ll+, now 4&lt;br /&gt;
 ll+, now 5&lt;br /&gt;
 ll+, now 6&lt;br /&gt;
 ll+, now 7&lt;br /&gt;
 ll+, now 8&lt;br /&gt;
 ll+, now 9&lt;br /&gt;
 ll+, now 10&lt;br /&gt;
 ll+, now 11&lt;br /&gt;
 ll+, now 12&lt;br /&gt;
 ll+, now 13&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The only thing left now is to &amp;quot;Start DSP&amp;quot; - from the menu item &amp;quot;File&amp;quot;, by hitting C-d or simply clicking the Play-Button.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;[[File:Gqrx_running.png|center|600px]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Go for a known local HAM radio repeater or a CW beacon transmitter and set your demodulator accordingly. Narrow Band FM or CW is best to discover ppm error offset, which is the frequency offset in parts per million (ppm) which is always there with standard RTL-SDR dongles. It is also highly temperature dependent, so one might have to re-evaluate this from time to time. Enter the known frequency of your chosen transmitter (NFM repaeter or CW beacon). I have chosen a very known CW beacon just some km away from my home: ON4VHF on 144.718000 MHz. Walk through the tab called &amp;quot;Receiver options&amp;quot; and change the settings to fit the beacon: &amp;quot;Filter width Normal&amp;quot;, &amp;quot;Filter shape Normal&amp;quot;, &amp;quot;Mode CW-L&amp;quot;, &amp;quot;AGC Medium&amp;quot;. Set Squelch to something low, so you can hear noise from your speakers. Maybe you have to Adjust the audio &amp;quot;Gain&amp;quot; to something like &amp;quot;0.0 dB&amp;quot;. You can adjust this to fit your needs to hear noise. With ppm error, which is default, set to 0.0 ppm, one can just guess where your receiver is listening. Anyway, just set it to 144.718000 MHz and try to find your beacon. You can see the result for my RTL SDR dongle down here:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;[[File:Gqrx_ppm-error_offset.png|center|600px]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now got to the tab called &amp;quot;Input controls&amp;quot; and find an input field called &amp;quot;Freq. correction&amp;quot;. By default this should show &amp;quot;0,0 ppm&amp;quot;. Set frequency back to your beacons transmit frequency. After this you have to increase the Freq. correction value as long until you can hear the beacon. Now zoom into the panorama by locating your mouse pointer in the range where the frequency values are printed below the panorama, just above the waterfall. Try to fit the Freq. correction value as good as possible, that your receivers red indication line is just in the middle of the transmitters bandwidth.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;[[File:Gqrx_ppm-error_corrected.png|center]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now write down the evaluated ppm correction value and exit gqrx as well as the RTL SDR spectrum server. In the command line now available start satnogs-setup:&lt;br /&gt;
&lt;br /&gt;
 $ sudo satnogs-setup&lt;br /&gt;
&lt;br /&gt;
Navigate to &amp;quot;Advanced -&amp;gt; SATNOGS_PPM_ERROR&amp;quot; and enter the new value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;[[File:Fcecd26ca08cf3d23dffce719ef1dd13a4f7109d.png|center]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exit the satnogs-setup with &amp;quot;Back&amp;quot;, then &amp;quot;Apply Configuration&amp;quot; (this might take a while) and &amp;quot;Back&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
You are done with frequency offset correction.&lt;br /&gt;
&lt;br /&gt;
{{Message|With gqrx, you get a nice tool to do some SDR stuff by the way. Just play around a bit and get familiar with all that stuff. Just keep in mind that, as long as you run the RTL SDR Spectrum server or you have set your client into standalone mode, nothing is done from network.}}&lt;br /&gt;
&lt;br /&gt;
== Enhancements ==&lt;br /&gt;
&lt;br /&gt;
=== Waterfall color improvements ===&lt;br /&gt;
&lt;br /&gt;
To get some nicer waterfalls one has to dig into waterfall plotting script. This is a static one and, so far, cannot be configured through satnogs-setup. Anyway: there is no magic behind it and one can understand what the changes are once you have seen them.&lt;br /&gt;
&lt;br /&gt;
Log into the Pi and start at making a copy of /usr/share/satnogs/scripts/satnogs_waterfall.gp, just in case:&lt;br /&gt;
&lt;br /&gt;
 $ cp /usr/share/satnogs/scripts/satnogs_waterfall.gp ~/.&lt;br /&gt;
&lt;br /&gt;
Now you can start editing the script:&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /usr/share/satnogs/scripts/satnogs_waterfall.gp&lt;br /&gt;
&lt;br /&gt;
Search for a line starting with cbtics:&lt;br /&gt;
&lt;br /&gt;
 # Spectravue palette and scale&lt;br /&gt;
 set cbtics (-110, -105, -100, -95, -90, -85, -80, -75, -70, -65, -60, -55, -50, -55, -40)&lt;br /&gt;
&lt;br /&gt;
Comment it out by adding a #, copy, paste and edit that new line that it matches something like this:&lt;br /&gt;
&lt;br /&gt;
 # Spectravue palette and scale&lt;br /&gt;
 #set cbtics (-110, -105, -100, -95, -90, -85, -80, -75, -70, -65, -60, -55, -50, -55, -40)&lt;br /&gt;
 set cbtics (-90, -85, -80, -75, -70, -65, -60, -55, -50, -55, -45, -40, -35, -40, -25)&lt;br /&gt;
&lt;br /&gt;
Now go ahead and find a line with cbrange:&lt;br /&gt;
&lt;br /&gt;
 set ylabel 'Time (seconds)'&lt;br /&gt;
 set cbrange [-100:-50]&lt;br /&gt;
&lt;br /&gt;
I guess, one already gets the point - change cbrange to match the new cbtics:&lt;br /&gt;
&lt;br /&gt;
 set ylabel 'Time (seconds)'&lt;br /&gt;
 #set cbrange [-100:-50]&lt;br /&gt;
 set cbrange [-85:-35]&lt;br /&gt;
&lt;br /&gt;
Save the file and you are done. Schedule some observations and watch the new colors. Maybe you can just improve it a little more but keep in mind: always keep a bit of the noise floor into the waterfalls, so you can see the whole signals dynamic range. I love it, when there are only a few dots of the noise.&lt;/div&gt;</summary>
		<author><name>Do9sd</name></author>
		
	</entry>
</feed>