Python tool to query data from or send commands to the Hardrock-50 power amplifier
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
micha e0f5f3d1e0 added new options 3 months ago added info to readme 4 months ago
hr50ctl.jpg screenshot uploaded 4 months ago added new options 3 months ago


A small python tool that can be used to query information from the Hardrock-50 amateur radio power amplifier as well as sending commands and therefore to modify settings


Queries the followingy data from the Hardrock-50:

  • Status (RX/TX)
  • Keying method
  • Band
  • Voltage
  • Peak power of last transmission
  • Average power of last transmission
  • SWR
  • Temperature


| STA: RX | PTT: COR | BND: 20M | VLT: 13.8V |
| PEP: 58 | AVG: 58  | SWR: 1.2 | TMP: 20C   |

Enables the user to alter the following parameters of the Hardrock-50:

  • Keying method (OFF, COR, PTT, QRP)
  • Band
  • Initiate tuning process during next transmission


hr50ctl needs Python 3 and the following libraries:

  • prettytable
  • pyserial

Perform the following steps to get hr50ctl up and running:

  • Connect a Raspberry Pi to the Hardrock-50 with a USB cable (USB A to USB B)
  • Download and extract the script
  • Install the above mentioned dependencies with python3-pip
  • Configure the following variables inside the Python script:
    • serial_port: e.g. /dev/ttyUSB0
    • baud: e.g. 19200 (must match with the settings made in your Hardrock-50)
  • execute the script with
    • python3 ./


USAGE: # ./ -b <band> -t -k <keying mode>

   -k: the following keying methods are available:
       off, cor, ptt, qrp
       This parameter changes the method how the HR50 will be put into TX mode.
   -b: the following bands are available:
       6, 10, 12, 15, 20, 17, 20, 30, 40, 60, 80, 160
       This parameter changes the band of the HR50
   -t: no parameter required.
       This parameters initiates the tuning during the next PTT

       Change the band to 12m:          # ./ -b 12
       Change the keying method to PTT: # ./ -k ptt
       Change the band to 6m and tune:  # ./ -b 6 -t