---
title: "Hardrock-50 Remote Display"
type: post
author: micha
date: 2021-11-12T11:00:00+01:00
tags:
 - Ham Radio
 - Hardware
 - Python
 - ESP32
url: /hardrock50-remote-display/
---

UPDATE: I moved the client and the server into one repository: https://codeberg.org/mclemens/hr50-remote-display. It furthermore now supports user actions via a button.


Original post:

I am using my [Hardrock-50](https://qrz.is/building-the-hardrock50/) as part of a remote station so I am of course not able to monitor its display which shows the selected band, keying method, temperature, SWR, power etc. Since I need/want this information and also prefer a physical display, I made two little projects that can be combined together:

### HR50-API

This is a small python script that connects from e.g. a Raspberry Pi to the HR50 via USB. When it is started, it spawns a web server which then provides two API endpoints in your network. Those endpoints can be queried via HTTP requests to:

* remotely gather information from the HR50
* remotely execute commands

It is basically a serial to HTTP converter. You can find more information here: [https://codeberg.org/mclemens/hr50-api](https://codeberg.org/mclemens/hr50-api)

### HR50-Remote-Display

This project consists of a Arduino sketch that can be flashed to a ESP32 module with OLED display and wifi connectivity. It uses the above mentioned API to gather information from the HR50 over wifi and displays them on the OLED.

![hr50-diagram.jpg](/img/hr50-diagram.jpg)

This is how the device looks like in action:

![hr50-remote-display.jpg](/img/hr50-remote-display.jpg)

I plan to add buttons so that e.g. the keying mode can be changed via this device.  The projects are only two days old so I will certainly put more love into it. There are several things missing like error handling, comments etc.

You can find more information here: [https://codeberg.org/mclemens/hr50-remote-display](https://codeberg.org/mclemens/hr50-remote-display)
