Hy-Gain HAM-IV Rotator Upgrade

I seem to find myself updating each and every rotator I own to have a digital readout plus a few other cool features, my latest one is converting my Hy-Gain (CDE) HAM-IV.


The original HAM-IV is analogue meter based, and rather annoyingly for me in the northern hemisphere the display is configured for South Stop, which means you are forever turning it through north to beam at various countries in Europe (from the UK) such as Poland and Spain if there is a good E’s opening which can be over 270 degrees instead of less than 90.  The HAM-IV unfortunately has a thermal cut-out in the primary transformer which is overzealous and cuts in after too much moving but more on this below.

HAM-IV M1BXF Modification Overview

One of my original ones was to a Yaesu G-400 / KR-400 azimuth rotator where I just had to bring the features over to the Hy-Gain HAM-IV, which includes;

  1. Large 20×4 LCD backlit LCD which can show the heading on the 4 columns
  2. PC control using GS-232 protocol
  3. Pre-set for a ‘go to’ heading
  4. Inbuilt calibration routine

One feature which was not in my original design, but I had to implement for the HAM-IV was support for a brake.

Here are the 2 completed HAM IV controllers.

2014-03-25 00.53.25

Thermal Cutout

The thermal cut-out in the primary transformer is a little too overzealous and cuts off after a rotation or 2, very annoying in an E’s opening and you are moving the antenna to maximise your QSO rate, especially as the E’s are starting or ending.  You then have to wait for a minute or 2 for it to reset.  This is even less fun in a contest situation!

2013-09-30 18.07.46 2013-09-30 18.07.37

I had thought about removing the thermal switch, which is seen in the left photo above, as it is easy to remove from the transformer (above right)  but this would risk the primary transformer overheating and failing/shorting, never a good situation.  I suppose the best option would be to upgrade it to a torrid design or similar, but that’s for another time.

For now having the rotator feedback circuit configured from North Stop means there is less degrees of rotation required to beam at all the countries in Europe.  The rotator housing itself requires no mechanical modifications, it’s only the position feedback which needs updating, which could be as simple as a new analogue meter scale.

The Original Unit

The rotator controller before modification is quite robust, other than the south stop and thermal cutout (which I’ll keep) it’s a good rotator controller but after using controllers which have pre-set controls, that is the ability to select a heading and look away and let the controller goto that heading is very useful.  Like most rotators the feedback pot is wired such that it’s not easy to retrofit a controller, it’s possible but not easy.

This is what one of the controllers looked like before modification.

2012-06-27 18.32.10

Original Schematic



Other than fitting the PICAXE microcontroller and components into the box the cosmetic changes were to remove the meter and fit a 20×4 backlit LCD in it’s place.  The LCD was a few millimetres slightly wider than the meter so a little filing was needed to make it fit.

2013-09-12 19.08.06

Some holes drilled to secure it in place, the LCD also left a gap below it which I filled with a piece of plastic and 3 LEDs to indicate if the brake is off (middle Green LED) and which direction it is moving in.

2013-09-23 19.47.08

LCD Module

Like many of my other projects I simplify the LCD control by using a Wulfen K107 LCD controller, the main reason is this also provides easy serial input for what to show on the LCD including a method of producing digits 4 rows high.

2013-09-23 00.43.29-2

The Wulfden board requires no additional components, only some links, if bought as a kit (micro + pcb) and no special features of it is needed, i.e. you only use it for the serial to LCD interface.

2013-09-12 20.52.01 2014-03-25 00.27.27-2

It connects to the back of the LCD and requires +5v (red wire), 0v (black wire) and Serial In (white wire).

LCD done!

PICAXE Controller

At the heart of the controller is a PICAXE-20X2.  Here are the 2, the left was made first, he right after. If you remove my use of Molex connections on the control board itself you can see how few components are actually needed.

2013-09-23 19.47.53-2 2014-03-25 00.28.55-2

Additional to the control board there is a relay board and a Power Regulator Board.

2013-09-14 17.44.24 2013-09-23 19.47.02

in total the circuit uses 11x resistors, 3x transistors, 3x relays, 1x bridge rectifier, 1x LM317HV, 1x 7805, 1x PICAXE chip and a few smoothing caps. 2 of those resistors are for the debug interface so could be removed.  3 are use as pull-ups for the switches which could be internal as the PICAXE chip supports internal pull-ups (which I’ve just not used) so the final component could could be much less! and all this functionality for so little.

The relays are 12v types and take on the role the switches once did before connecting them to the PICAXE chip.

Power Regulator Board

The diagram in the Original Schematic section above shows there are 2 transformers in the housing, one is the Power Transformer and the other is for the Meter.  The meter one is 26v AC which after regulating is 36.7v DC.  The PICAXE needs 5v and I decided to use an LM317HV to drop the 36.7v to 12v then an LM7805 to drop the 12v to 5v.  This gives me power for the relays and PICAXE.


Features Overview

Some headline feastures are;

  • Preset
  • PARK
  • Calibration
  • RAW Mode
  • GS-232 support

One of the most useful feature of my rotator controller is the pre-set.  This allows the user to ‘dial’ the heading then look away and carry on operating knowing the antenna is moving the the desired position.  On the HAM IV this re-uses the CALIBRATION position on the front panel.

I was slightly lazy with the pre-set in that I read the value in ADC10 then divide it by 2, such that 360 degrees is actually ADC10 = 720, this halves any error and variance.  Now ADC10 has a maximum value of 1024 so my lazy fix is to put another variable resistor inline with the front panel one, in the +5v line, and adjust the 2nd pot so that with the first pot at the 360 degree position the ADC10 value is 720.  Without this I would need to do a calculation to convert an ADC10 1024 value to 360 degrees. This is 1024/2.844 and 2.844 requires a few lines of code and variables in a PICAXE, using a second pot to calibrate the first for 360 degrees is the lazy fix to this.



ReadADC10 B.1,GotoPreset	'Read the preset position from the front panel
GotoPreset = GotoPreset / 2		

If GotoPreset > 360 then
 GotoPreset = 360
End If

Additionally we need to stop any false instances where the pre-set doesn’t actually move but the ADC10 value indicates we have.  An ADC10 value of 1024 over 5v means each change of 0.0048v is the difference between 2 ADC10 values, as we divide by 2 there is a chance the pre-set pot position ends up on a odd number and flick between 2 degree values, that is if the ADC10 is 701 then this could be converted to 350 or 351.  This change could trigger the code to start tracking to the pre-set value which would not be desirable.

The 2 methods we use to get round this are;

  1. We generate upper and lower threshold values for the pre-set which are 2 degrees lower or higher than the actual pre-set heading
  2. If the Pre-set on the next read is lower or higher than this 4 degree threshold range then we treat it as a human input
If Azu_Track = 2 then
 GotoDIR = GotoPreset
Else					'This else give a 4 deg range the preset has changed
 DirPresetL	= GotoPresetOld - 2	'by before we trigger the goto code and set Azu_Track = 2
 DirPresetH	= GotoPresetOld + 2
 If DirPresetL > 400 then : DirPresetL = 0  :Endif 'If the Pre-set is 000deg don't go below it
 If DirPresetH > 360 then : DirPresetH = 360:Endif 'If the Pre-set is 360deg don't go above it	

If GotoPreset < DirPresetL or GotoPreset > DirPresetH then 'The PRESET has moved outside the 4 deg range
We average the heading over 64 ADC reads, this was chosen as the maximum ADC10  value is 1024 so if we ever end up with the maximum ADC10 value 64 reads would equal (64 * 1024) 65536, which is a word or 16 bits, in general use we don’t reach this maximum value but I’m not sure what everyone's implementation would be.
ReadADC10 B.2,DirCurrent
For DirCount = 1 to 64
 ReadADC10 B.2,DirCurrent
 DirCurrent = DirCurrent - MINOffset
 DirAverage = DirAverage + DirCurrent
Next DirCount

The MINOffset in the code above is the ADC10 value when the rotator is facing 000 degrees. This is needed as the ADC10 value is reference to 000 degrees and not that of the ADC10 = 0.

Where the heading is above 360 or ends up below 000 degrees, which can happen when converting the ADC10 value to a heading, then we change the degree sign to a ‘+’ or a ‘-‘ to show but we limit the heading to a maximum of 360 or a minimum of 000 degrees.

'The Ham IV only does 360 degrees so add some code if the converted ADC10 reads
‘more than 360 or less than 000 then correct and change the sign to show it
Select Case DirCurrent	
 Case 0 to 360
  DegSign = "o" 'We are in the normal range of heading
 Case 361 to 400
  DegSign = "+" 'We are above 360
  DirCurrent = 360
 Case 401 to 600
  DegSign = "-" 'We are below 000
  DirCurrent = 000



Updates as I get time


  1. Luke

    G’day sir I’m very interested in your lcd display as I have a broken meter on my control and your solution is perfect can you provide more info on PICAXE Controller wiring or the overall wiring diagram.

  2. Miguel

    Very interesting project, I would like to do it on my hy-gain spoiled, could you send me the electrical circuit ?. Thank you very much, I will follow leyendo.Felices Christmas and Happy 2016.

  3. John

    Hi Gavin,

    How did you connect the position feedback pot in the rotator (pins 3, 7 and 1) to the PICAXE’s ADC?


    1. m1bxf (Post author)

      Hi John, I’ve sent you an email with details.

  4. Ted

    I am also interested in the upgrade kit for my antenna project with HAM IV rotator.
    What is available?

    Ted VE7VIB

    1. m1bxf (Post author)

      Hi Ted,

      Thanks for your interest in this project.

      My only worry with making a kit for this is supporting thew aftermath! There are quite extensive modifications needed to both the controller, the front panel meter hole needs enlarged and holes drilled for starters, then some mechanical and wiring changes inside the rotator bell needs done, so providing a kit of parts is actually only a small part of this project. With a day job I’d currently rather leave it up to individuals to source the parts (which are all off the shelf) and follow the instructions on my site as the modifications are difficult and if you can do them then sourcing the parts is easy 🙂


      1. Randall Goguen

        I don’t think people would care as much for the readout as they would to be able to control to Rotator with Ham radio Deluxe, etc.

        1. m1bxf (Post author)

          Hi Randall,

          Thanks for the comment, however most people I know don’t use computer control for rotators so require the readout. Of course if you use a PC for the control then there is no need for the [LCD] position display 🙂

  5. Dave

    Can I get this as a kit to upgrade my HY-gain rotor box?

  6. Slavek

    Hallo Gav,
    can give you the code in version 2.3 resp. how they differ from a 2.0?

    Slavek OK2SLC


Leave a Reply

%d bloggers like this: