k3ng arduino rotator controller

home

Introduction

This is an Arduino-based rotator interface that interfaces a computer to a rotator or rotator controller, emulating the Yaesu GS-232A/B, Easycom, and DCU-1 protocols which are supported by a myriad of logging, contest, and control programs.  It can be easily interfaced with commercial rotator control units.  With the addition of a proper capacity power supply and several interface components such as relays, this unit could also serve as a total replacement for a rotator control unit or serve as the basis for a 100% homebrew rotation system.  Several azimuth and elevation position sensors including potentiometers, rotary encoders, and I2C devices are supported.  The code is very flexible, modular, and easy to read allowing intermediate and advanced experimenters and builders to customize it.

 


 

The Radio Artisan YouTube channel has several video tutorials and demonstrations, and numerous videos can be found from other builders.

Video featuring Bent Andersen, OZ1CT, and the rotator controller he built using the K3NG Rotator Controller code.

Here’s a nice video from Freeman Pascal demonstrating his customized K3NG Rotator Controller build.

EA2J, Enio’s Implementation (EspaƱol)

Looking for a PC board or kit?  Try these fine folks:

EA4TX offers a kit with an enclosure and LCD Display

RemoteQTH.com offers a kit with an LCD and AC / DC motor support

Major Features

This unit can be interfaced with Yaesu rotator controller using the standard 6 pin DIN port on the back.  Older controllers may not have the DIN interface and will require opening and soldered connections.  This unit does not disable the rotator controller and all controls on it can continue to be used (although it is advisable not to attempt to control the rotator with manual controls and with the interface simultaneously.)  Other rotator hardware can be interfaced as well with a little research and design.

Basic Schematic



Schematic (click to enlarge)

Note: Refer to the pin numbers on the inside of the Arduino component outline (i.e. D1, D2, A0, A1, etc.) and not the numbers on the outside of it (1, 2, 3…).

The schematic above shows a basic setup supporting a 4 bit interface LCD, azimuth and elevation voltage inputs, manual buttons, and a single variable speed voltage output.  Additional controls and options such as an azimuth present potentiometer, azimuth and elevation preset rotary encoders, and brake control lines can be added as needed if the appropriate pins are chosen and set in code at compilation time.  If using with an azimuth-only rotator, all components related to elevation can be omitted.  So, again, keep in mind the above schematic is a basic unit that will work for most applications and additional features will require additional components.

I have this unit interfaced to a Yaesu GS-1000DXA control unit, and others have interfaced it to various other rotator control units.  I’m also building a complete azimuth/elevation rotation system called Frankenrotator.  This project illustrates how to build a complete system without a commercial control unit.  Consult this for additional ideas for interfacing, power supplies, and master/slave operation.

Documentation

Full documentation is located here.  Please read it!  Volunteers for maintaining documentation are needed.

Acknowledgements

John, W3SA, has tested on a Yaesu Az/El unit, contributed several updates to the elevation code, and tweaked the code for a 16 column LCD display.

Anthony, M0UPU, wrote about his rotator controller construction and is offering PC boards.

Bent, OZ1CT, has contributed several ideas and feature requests, and performed testing.

G4HSK has a nice page documenting his project using this code, the PstRotator control software, and a Yaesu G-5500 rotator.

All trademarks mentioned on this page and in the code are property of their respective owners.

Source Code

Source code is located on GitHub.  Click the Download ZIP button to get the whole package of files.

Support and Feature Requests

Consult this page for code support information.

Various video tutorials and demonstrations can be found on the Radio Artisan YouTube channel.