Arduino SimpleSat Rotor Controller

The Arduino series of boards is an excellent choice for a satellite rotor controller. This controller uses the Yaesu GS-232 command set to control a Yaesu G-5500 Az-El rotor. The controller was designed to be compatible with the SatPC32 tracking program and should work with any tracking program that supports the Yaesu GS-232 format. This controller has been tested with the Arduino UNO and the Arduino Mega2560. Below is a picture of the Arduino Mega2560 board. The board has a USB interface and is capable of being powered from the USB port or an external power supply.

AdruinoRC-1

The Arduino series of boards are set up for plug in daughter boards (shields). There are a hundreds of different plug in shields available. I picked the ‘ #196 Proto Screw Shield’ from Adafruit Industries. The board offers screw terminals that are ideal for connecting to the cable that connects the controller to the G-5500 control box. The board also offers a prototype area which is used for the four 8.2K 1/4 watt resistors and four small signal npn transistors (2N4401 or equivalent) that are used to drive the UP, DOWN, LEFT and RIGHT control lines on the rotor control box. The picture below shows the completed daughter board.

The next picture shows the completed daughter board plugged into the Arduino Mega2560 board. The four orange wires connect the four output pins (8, 9, 10 and 11) that are used to control the rotor to the four 8.2K resistors. The other side of each resistor is connected to the base of an npn transistor. The collector of each transistor is connected (green wires) to one of the four output screw terminals (labeled W, X, Y and Z on the board). These four screw terminals connect to the UP, DOWN, LEFT and RIGHT pins on the G-5500 rotor control box. The emitter of each of the four transistors is connected to ground.


Here is the schematic for the parts on the shield board. The transistors are used as switches to isolate the G-5500 from the Arduino. There is no need to use relays with the G-5500. There are three additional connections to the G-5500. Pin 8 (Ground) on the G-5500 connects to ground on the shield board. Pin 6 (Azimuth analog voltage) on the G-5500 connects to pin A0 on the shield board. Pin 1 (Elevation analog voltage) connects to pin A1 on the shield board.

Below you will see the completed daughter board plugged into an Arduino UNO connected to the Yaesu rotor control box. The USB cable connects to the computer running SatPC32 and provides power to the controller. The controller can also be powered from an external power supply. Do NOT power the controller from the Yaesu rotor control box. The backlit serial LCD display is a 27977 from Parallax Inc. If you plan on using the LCD display you might want to order a 805-00011 10-inch Extension Cable with 3-pin Header at the same time. The LCD display is not necessary for operation of the controller but is a very worthwhile addition.

SimpleSat Rotor Control Source Code

courtesy of

W9KE