Hermes Protocol to LimeSDR API Challenge


Based on what I read, the Hermes protocol sends XML over TCP. The application written for the LimeSDR would listen on TCP for changes based on the user input. You can tell that I didn’t read specifics about the Hermes protocol.

1 Like

@yindra - Laura,

Actually, if someone were to take the actions where the Hermes radio is written data and just convert that to LimeSDR equivalents (and I’m not saying there wouldn’t be code re-written for that, too, to make it work with the existing algorithms) then it might be possible to have PowerSDR function for the Lime - I think this is how LinHPSDR and PiHPSDR do it…

73 de Marty, KN0CK



This link tells me the commands that NET Hamlib rigctl sends over TCP to control rigctld:

As a software person, I need this command list for PowerSDR. I haven’t found that yet.


@yindra - Laura,

Here is the link to the PDFs that describe the Hermes protocol and commands:

…and here is the link to OpenHPSDR - PowerSDR source on Github:

Let me know if you need anymore info - thanks,

73 de Marty, KN0CK


@yindra - Laura,

Also, when you’re looking at the command structure of Hermes radios, determine the content that needs to be being sent to the Lime through the command structure, but don’t think you have to re-use the Ethernet that’s there - - you’re replacing that with the Lime API calls but loading the functions from OpenHPSDR/PowerSDR with the Lime API calls to send over USB to the Lime. The thing to do is to do a few simple ones like change the receive freqeuency or set the transmit frequency commands, then see if the Lime responded to that by reading it back (if possible) or just seeing how it was affected - maybe using LimeSuite or some other app.

73 de Marty, KN0CK


The Ethernet interface in NET Hamlib rigctl was a way to make the LimeSDR respond to commands without modifying code of those applications that already include Hamlib. Or in other words, keeping the interface simple and adaptable to future changes. (or this)

Here, there will be future software updates to OpenHPSDR-PowerSDR, openHPSDR Ethernet Protocol version and the LimeSuite API.

This is UDP over Ethernet. The first documents I found when searching for Hermes Protocol where the wrong ones to look at.


@yindra - Laura,

All good - if you’re going to base this off Hamlib then that’s fine. Keep me advised of your progress there.

The intent of the first document was to point out the radio commands - those index back into the application as calls…It’s good to know both ends when trying to relate this to the LimeSDR.

73 de Marty, KN0CK


I don’t think I’ll have any time in the near future to get started.


I sure wish someone would take this on.
Simon (SDR-Console) has pretty much given up.
SDRAngel is confusing as heck to me.
I try to download the SDR# & get Trojan alerts.
I have all of the hardware set to go, but no one will do HF TX (SDRAn gel has it, but is difficult to understand).

Both of my LimeSDR-USBs are packed away. I won’t bother to unpack them, until someone actually works on this. Not just lip service.
I’m sick of making donations for no action.



@AA7QQ - Ed,

Hey - I’m not sure if I mentioned that PiHPSDR (for a Raspberry Pi) is set to work with the Lime but not entirely certain if HF has been worked on it or not. I need to confirm that and I will this evening and let you know. There is also a ‘companion’ app for Linux called LinHPSDR that is not currently developed for the Lime, but has all the hooks for it in the code. The Ham that manages both of these code areas is John Melton, G0ORX, and I will give him a ping and see if he’s close to getting this to run on the Lime. It’s not Windows, but it does play on a PC under Ubuntu 18.04. Again, I need to confirm that it works with the LimeSDR on PiHPSDR for HF…I will check that out tonight.

I share your grief with this. I have A TON of time invested in the LimeSDR and all the while the developers are all going mad developing QO-100 (Es’Hail) capability into their code that works with the Lime, but not even giving HF a look. You cannot know how hard I’ve hammered on this to get something or someone to get HF transmit working on the Lime on Windows - but Simon just won’t work it for SDRConsole - the reasoning behind it is very unclear and the stumbling blocks have been taken away (meaning, I’ve told him in no uncertain terms that the LimeSDR operates in HF as well as some commercially made radios if given the chance).

Don’t give up just yet - this SDR is still the widest banded SDR out there - no other SDR comes close in terms of tuning and performance. We just have no one interested or focused on this despite $700 being on the line to give to the first developer who can prove a working app for the Lime that does HF transmit and receive…it’s just astounding. 2 years and…nothing. Yet the technological barriers are greatest (The Lime has no 10 GHz capability unless they have an LMS-8002) where they’re all spending their time (QO-100 aka Es’Hail).

I’ll keep banging the drum…

73 de Marty, KN0CK


Marty, I just wish it was different. But, you saw Simon’s response. My last donation was to encourage HF & I got nothing for it. It’s all just staying in boxes.
The trivial things that he has worked on “O” instead of a zero… Baffling…
Calling HF TX “Pointless”? As you have shown, it can work & well.
Kinda like having a picture of your wife. You can kiss it, but you get nothing back.
Again, it will all stay in a box & my money will stay in my pocket, until someone actually works on it.



@AA7QQ - Ed,

I made an amazing discovery last night and it was purely by accident that I did it. I knew that PiHPSDR would work with the Lime, but only on USB 2.0 since the Pi (now, the Pine Rock64 is an entirely different discussion because it has USB 3.0) cannot provide USB 3.0. But I was doing some testing with the LimeRFE last night using my Dell tower i5 PC under Ubuntu Linux 18.04 (Bionic) and found that LinHPSDR actually DOES see the LimeSDR (on USB 3.0) when it goes through discovery mode, and DOES actually launch and receive in the HF band (albeit a little choppy - I think John Melton (G0ORX) has more to do with it) and I found that it WILL transmit in the HF band, too…! (again, a little choppy but John probably has a little more work to do on it).

Outside of SDRAngel (which actually does receive and transmit incredibly well on the HF band) LinHPSDR is going to feel A LOT better to you because it has a more normal/typical user interface than SDRAngel does - almost like the PowerSDR GUI. So, I’m going to check in with John and see if there’s been any improvement with LinHPSDR since the last time he updated it - I’m due to pull and compile it again. But the major thing is - there’s one more app out there with a more familiar GUI that supports the Lime, and more will follow I’m sure…

73 de Marty, KN0CK


I will look at it. Not really wanting to go Linux, but if it’s really the only way to have an intuitive GUI, it may be the ticket. Unless it’s actually working or in beta, with active work on the HF side, I will leave everything packed. If so, in November, I will be in the new house.

Thank you Marty,


Marty, which Linux are you running? What is the most stable for our uses?
Gonna have to relearn Linux again.




Start by downloading here ----->

You’ll want the Ubuntu 18.04.3 Long Term Support edition. After downloading the .img file, burn the image to a DVD using your favorite DVD burner software (I use CDBurnerXP) to get a DVD to load Ubuntu onto your target PC (when selecting your target machine, make sure it’s at least an i3 to i5 (even better if it’s an i7) - - it should also be a PC with USB 4.0 ports, too…IT MUST HAVE A USB 3.0 port to run the Lime). Install Ubuntu 18.04 LTS onto your target machine, just watch the prompts and follow the instructions. In something short of 15 minutes you will have a working machine with everything you need to install LimeSuite and LinHPSDR.

After you load the OS and it’s up and running after reboot, now it’s time to install all the dependencies you need to install LinHPSDR. Generally, you do ALL your installation and compiling using Terminal and doing everything on the command line. So open a Terminal (little black screen icon to the left) and let’s get started:

Installing LimeSuite after OS load:

In terminal type (or copy paste into terminal):

sudo add-apt-repository -y ppa:myriadrf/drivers
sudo apt update

Then install LimeSuite and all it’s dependencies by copy/paste (or type) the following:

sudo apt install limesuite liblimesuite-dev limesuite-udev limesuite-images soapysdr soapysdr-module-lms7

Once you’ve got everything installed, try to launch LimeSuite with your LimeSDR attached and see if it comes up by doing the following on the command line:

sudo LimeSuiteGUI

It’ll launch and then you can see if your Lime can be connected - you’vr used LimeSuite in Windows, so there’s no differences whatsoever between Windows and Linux. Once you know you have your Lime running on LimeSuite, then close it and type the following into command line with your Lime still attached:

sudo LimeUtil --find

…and it’ll come back with the stats of your Lime. Then try this:

sudo SoapySDRUtil --find

…and it should come back with the same thing, just more stats on your Lime. When you see all this working, it’s time to load all the dependencies for LinHPSDR and compile it. Disconnect your Lime and let’s get started…!

Installing LinHPSDR dependencies:

On the command line of the Terminal window, copy/paste (or type) each line and execute it:

sudo apt-get install libfftw3-dev
sudo apt-get install libpulse-dev
sudo apt-get install libsoundio-dev
sudo apt-get install libgtk-3-dev
sudo apt-get install libsoapysdr-dev

To be safe, let’s install these dependencies for compiling and pulling code:

sudo apt-get install git
sudo apt-get install cmake

Now, it’s time to install and compile WDSP. So get on the command line and type the following and execute each line.

git clone
cd wdsp
sudo make install
sudo ldconfig
cd …

Now you have WDSP installed, let’s go for the last thing - installing LinHPSDR:

git clone
cd linhpsdr
sudo make install
sudo ldconfig

At this point - YOU’RE SET…!! You have all the tools now to start LineHPSDR and see if it can discover your Lime. Reconnect your Lime to your USB 3.0 port and do the following from the LinHPSDR subdirectory (which is where you’re at), so type on the command line to launch LinHPSDR:

sudo linhpsdr

It’ll takes a few seconds for it to launch and when it does a window will appear that will (hopefully) show your LimeSDR connected and recognized as a radio that can start. Click on the START button on that form and then the receive spectra and waterfall will open. At that point you can tune and also change modes (USB, LSB, AM, FM, etc). I would highly recommend that you download the PDF how to run LimeHPSDR here ----->

Hopefully this will get you started and on the road to recovery. There’s still work that needs to be done on this app for HF, but it’s getting close and it’s at least a more familiar GUI to you than other apps.

Let me know if you have any issues with the build or run into any snags, Ed.

73 de Marty, KN0CK


Excellent. I will work on this tomorrow morning.
Thank you, Marty.

1 Like

@AA7QQ - Ed,

Yep - just keep me advised if you run into any snags. I will be on the road tomorrow but ping me via Messenger (easier to respond there than here) with the snags and I’ll help you through it. I’m pretty well certain that this install will be clean - it now includes things that caught me and I informed John on and he included those steps into the install procedure. So it should go smooth for you.

73 de Marty, KN0CK


hi martywittrock,
I am new to this forum and i am unable to find the right group for my question. Here i am posting my question. Please help me if you know the answer.
My question is i am interfacing LMS6002D device from microcontroller. When i am trying to configure 416.8MHz frequency for TX channel, the ouput is coming 404MHz and also it is not stable means it is slowly reducing. I think i am trying incorrect configuration . Will you please guide me what is the procedure to configure TX and RX PLL’s to get the required LO.
Please help me in this regard.
Thanking you advance.


@nsnreddym - nsn,

There is an entire forum for just the 6002 on Myriad and it’s located here:

At the same time, I would try to enlist the help of @Zack or @IgnasJ to see if they can route you to the right resources on the LMS6002 on the forum.

Hope this helps - 73 de Marty, KN0CK


Thank you martywittrock