Quartapounds SatNOGS Rotator v3.1


@azisi, I started a wiki page, and @g7kse has done a great job cleaning up the information and digesting it into a concise, easy to read set of instructions for people wanting to use the Arduino UNO/CNC shield system.

I’ve also added a Forked repository with the necessary changes made to the required files (the main sketch, easycomm, and rotator_pin)

Is there a way we can implement this into the main documentation? Still might need some polishing, but it’s in pretty good shape already!

btw, great job @g7kse!! You took that documentation and ran with it


@quartapound, @g7kse nice!!! I put the link of page here.

@quartapound, you can add a the rotator_pins.h with different name, like cnc_shield_rotator_pins.h . Also in easycomm.h , you can use the C preprocessor by adding a definition in stepper_motor_controller.ino to define or not the rs485. Then you can make a merge request to main repository.


Very good Job!



I’ve put a couple of images in the wiki now should it should make sense. I’ll let the dust settle a bit and go back in a few day’s and make sure it still makes sense


@quartapound, as counter-balance weights i use weights that is used for training. Here is a part to mount the weights in to antenna mast.


What changes to the current (3.1+) STLs would I need to build the same machine with NEMA 17 steppers? I have lots of 3D printer building parts and want to use what I have. I think the old ones are gone off the site. I’d be happy to host a set if you have them.


v3.1 BOM

NEMA 17 is what’s called for in the bom. No modifications have been made. The steppers I used are linked above, they are nema 17


If this is a paste of the sourcecode you are using: this looks like a typo to me!

  • error: expecting primary-expression before’. ’ -> this shows a space after the dot!
  • token while (rs485. available () >0) -> this shows a space after rs485.

Please check!

HTH, Patrick…


I’ll give it another go in the next couple of days. It would be good to make this code as simple as it needs to be. Typo’s included :wink:


A bit of new construction of the V3.1 rotor design is great and simple for a good handyman, a big thanks to the contributors for the changes made soon another video for the tests with rs link 485.


Very good job.
I Think that after rotator is finish you must shield pcb because the stepper motor RF noise is very strong. A hammond metallic box or similar is required for eliminate RF noise



YES I will make an aluminum box to reduce the radio interference generated by the stepers.


Help … the v3.1 rotor works well, except the optical endstops, I did the tests on all the ports endstop of the shield board, it does not work, I put LOW in the line (#define DEFAULT_HOME_STATE LOW // endstops do not work, does anyone have an idea?:cry::cry::cry:


I don’t know what signal your optical end stops are using, I modified my sketch for standard mechanical switches, and the CNC Shield uses ground has a signal for its and stop switches I believe, which is why I had to change it from high to low. Have you tried setting it too high to see if it works?


Hello, after a lot of research, I got to work my optical endstops, I also modified the fimware:

#define RATIO 108 /// <Gear ratio of rotator gearbox default 54
#define MICROSTEP 8 /// <Set Microstep
#define MIN_PULSE_WIDTH 20 /// <In microsecond for AccelStepper
#define MAX_SPEED 3200 /// <In Steps / s, consider the microstep
#define MAX_ACCELERATION 1600 /// <In steps / s ^ 2, consider the microstep
#define SPR 1600L /// <Step Per Revolution, consider the microstep
#define MIN_M1_ANGLE 0 /// <Minimum angle of azimuth
#define MAX_M1_ANGLE 360 /// <Maximum angle of azimuth
#define MIN_M2_ANGLE 0 /// <Minimum angle of elevation
#define MAX_M2_ANGLE 180 /// <Maximum angle of elevation
#define DEFAULT_HOME_STATE HIGH /// <Change to LOW
#define HOME_DELAY 12000 /// Time for homing Deceleration in millisecond

#include <AccelStepper.h>
#include “globals.h”
#include “easycomm.h”
#include “rotator_pins.h”
// # include <rs485.h>
#include “endstop.h”
//#include “watchdog.h”

Azimuth Stepper Driver / motor connected to X port on CNC Board
Elevation Stepper Driver / motor connected to Y port on CNC Board
The endstop Switch for Elevation is connected to the X + end stop on the CNC board
The endstop switch for Azimut is connected to the Z + end stop on the CNC board.

That’s my configuration. Rémy.


Hello, soon the final operation, I extended the rotor down to incorporate the following elements (12v outlets and usb / rs485 converter) the tests will be done with PstRotator.

Roland 9V1RT's SatNOGS v3.1 Rotator
Roland 9V1RT's SatNOGS v3.1 Rotator

Been awhile since I’ve posted on my thread! I have been playing around with HRPT this weekend and the Satnogs rotator with modified 2.4ghz dish, and have had great success with Tysonpower’s free script. I plan on trying XHRPT from USA-Satcom next. the rotator is working perfectly with gpredict. I havent completely weatherproofed it to stay outside yet, it can bet setup in a few minutes, the rotator drops onto the tripod, and the satellite drops onto the screws, then the counterweight. it’s hacked together but it works great and took minimal time. here’s some pictures from today!