Software - softerhardware/Hermes-Lite GitHub Wiki
Test Mode
You can run any of the software listed below with only a BeMicro CV, CV A9 or SDK (no connected Hermes-Lite) in test mode. The BeMicro CV or SDK senses when there is no Hermes-Lite connected and automatically enters test mode.
The BeMicro CV A9 is an exception since the "Hermes-Lite present" signal is not routed to the FPGA, so the Test Mode for this board is entered manually by moving the Dip Switch 3 to ON.
In test mode, you should see a pure CW tone at approximately 4.608 MHz with the 73.728 MHz firwmare (_71) or 3.840 MHz with the 61.440 MHz firmware (_61). This is a good way to test that your CV or SDK is funtioning properly.
In test mode there is no accurate clock since the Hermes-Lite is disconnected. Instead, a PLL is used to recreate the clock expected from the Hermes-Lite. On the SDK this synthetic clock is 61.39 MHz and on the CV it is 61.71 MHz. This misses the target of 61.44 MHz or 73.728 MHz so the sample rate is not guaranteed in test mode. Most software can still deal with this rate mismatch and a CW tone is present for testing and s-meter calibration.
PowerSDR
For Windows users, PowerSDR will work with the Hermes-Lite. PowerSDR is used primarily with the FLEX SDRs but has been ported to the Hermes by the openHPSDR team. You can download the latest version that works with the Hermes and Hermes-Lite from here. You can find good existing documentation on how to use PowerSDR and Hermes with PowerSDR on the internet. Please use those resources for more details as this wiki page only documents Hermes-Lite specific setup and use.
During install, you may be asked what radio model you have. Please specify Hermes with no Alex.
Hardware Config
Open PowerSDR once it is installed and navigate to the Setup->General->Hardware Config pane. Please make sure you settings match what is shown below. Note that "Limit Stiched Receivers" to "1-Receiver" is enabled. Since the Hermes-Lite has 2 receivers rather than 4, the stiching functionality will not work. Also note that "Alex" and "Pure Signal" are both currently disabled. Future Hermes-Lite may support these options.
HPSDR
Switch to the next tab, Setup->General->HPSDR. As shown below, adjust the "MaxRXFreq" to 36.864 MHz, half of the 73.728 MHz Hermes-Lite sampling rate. (Use 30.72 with a 61.440 MHz oscillaotr.) The "Dither" and "Random" Hermes options have been repurposed for the Hermes-Lite as they are specific to the LTC2208 found only on the Hermes.
- Dither enabled reduces the Hermes-Lite's LNA gain by 32dB. The default is to have this enabled. This option works in conjuction with the step attenuator control described later.
- Random enabled turns on the Hermes-Lite's AGC. The AGC increases the gain until ADC clipping just starts or the gain setting matches your step attenuator and Dither settings. Uncheck this box to turn off the AGC and then control the gain manually via Dither and the step attenuator.
Options
Switch to the next tab, Setup->General->Options. Make sure that "Enable Attenuator" is checked under "Hermes Step Attenuator" seen on the right below. This enables you to adjust the Hermes-Lite's low noise amplifier from -12dB to +48dB in 1dB increments as described later.
RX Sample Rate
Next, open the Setup->Audio->Primary tab. This is where you can change the bandwidth of the Hermes-Lite receivers. In the picture below, the "Sample Rate" is set to 384000 Hz.
Main Single RX Display
Apply all your setup changes and close the setup window so that just the main window is displayed. Turn the radio on by clicking on the power button identified by a red arrow in the upper left corner as shown below. Your Hermes-Lite should be discovered on the network and you should see spectrum displayed. If not, check that you have DHCP on your network or the Hermes-Lite fixed IP is setup correctly. Next, to hear audio, enable VAC1 as identified by a red arrow near the bottom as shown below. Unlike the Hermes, the Hermes-Lite has no onboard audio DAC so virtual audio must always be used. Next, to see the full spectrum from RX1, slide the zoom control in the middle of the screen completely to the left. Finally, you can control the Hermes-Lite's LNA gain by using the step attenuator, "S-ATT", identified on the bottom left with a red arrow. A table containing all possible LNA gain settings appears next.
Step Attenuator (S-ATT) to LNA Gain Mapping
You can control the Hermes-Lite's LNA gain by using the step attenuator, "S-ATT" on main screen, in combination with "Dither" found in Setup->General->HPSDR as seen in the table below. The default setting is +19dB, which matches closely the default +20dB gain block in the Hermes. In typical use, the sweet spot is between +16 to +28 dB gain depending on your antenna. If the AGC is on, "Random" checked in Setup->General->HPSDR, you can control the Hermes-Lite's maximum LNA gain by using the step attenuator. The AGC will automatically increase your gain to where clipping starts or your specified gain setting is reached, whichever is lower. The AGC will decrease the gain if clipping starts to occur. This allows you to maximize the overall gain your are using, a plus for a 12-bit ADC.
LNA Gain | S-ATT | Dither |
---|---|---|
-12 dB | 31 | Yes |
-11 dB | 30 | Yes |
-10 dB | 29 | Yes |
-9 dB | 28 | Yes |
-8 dB | 27 | Yes |
-7 dB | 26 | Yes |
-6 dB | 25 | Yes |
-5 dB | 24 | Yes |
-4 dB | 23 | Yes |
-3 dB | 22 | Yes |
-2 dB | 21 | Yes |
-1 dB | 20 | Yes |
0 dB | 19 | Yes |
+1 dB | 18 | Yes |
+2 dB | 17 | Yes |
+3 dB | 16 | Yes |
+4 dB | 15 | Yes |
+5 dB | 14 | Yes |
+6 dB | 13 | Yes |
+7 dB | 12 | Yes |
+8 dB | 11 | Yes |
+9 dB | 10 | Yes |
+10 dB | 9 | Yes |
+11 dB | 8 | Yes |
+12 dB | 7 | Yes |
+13 dB | 6 | Yes |
+14 dB | 5 | Yes |
+15 dB | 4 | Yes |
+16 dB | 3 | Yes |
+17 dB | 2 | Yes |
+18 dB | 1 | Yes |
+19 dB | 0 | Yes |
+20 dB | 31 | No |
+21 dB | 30 | No |
+22 dB | 29 | No |
+23 dB | 28 | No |
+24 dB | 27 | No |
+25 dB | 26 | No |
+26 dB | 25 | No |
+27 dB | 24 | No |
+28 dB | 23 | No |
+29 dB | 22 | No |
+30 dB | 21 | No |
+31 dB | 20 | No |
+32 dB | 19 | No |
+33 dB | 18 | No |
+34 dB | 17 | No |
+35 dB | 16 | No |
+36 dB | 15 | No |
+37 dB | 14 | No |
+38 dB | 13 | No |
+39 dB | 12 | No |
+40 dB | 11 | No |
+41 dB | 10 | No |
+42 dB | 9 | No |
+43 dB | 8 | No |
+44 dB | 7 | No |
+45 dB | 6 | No |
+46 dB | 5 | No |
+47 dB | 4 | No |
+48 dB | 3 | No |
+48 dB | 2 | No |
+48 dB | 1 | No |
+48 dB | 0 | No |
Main Dual RX Display
To enable the second receiver, click on the "RX2" button in the top left corner. To hear the second receiver, you must enable "VAC2" near the bottom left. You can enable/disable "VAC1" or "VAC2" to listen to either receiver, or you can adjust each receiver's AF gain on the left of the main display.
S-Meter Calibration
With Signal Generator
- Set main screen attenuator, S-ATT, to 0, enable Dither and disable AGC (Random)
- Go to Setup->General->Calibration
- Connect and set signal generator to 10MHZ @-70 (for s9)
- Click start under "Level Cal."
- Display gives bar graph to indicate status
With Test Signal
The test signal at 4.608 MHz or 3.840 MHz is of a known amplitude and can be used to calibrate your S-meter. With a 73.728 MHz oscillator, the test signal at 4.608 MHz is -46 dBm. With a 61.440 MHz oscillator, the test signal at 3.840 MHz is -40 dBm. You can follow the procedure above with these values to calibrate your S-meter. This calibrates your receiver for the -12 to +19 dB range with Dither on.
For the +20 to _48 dB range with Dither off, use the values 4.608 MHz and -78 dBm or 3.840 MHz and -72 dBm. Unfortunately, you can not calibrate for both Dither on and off with the PowerSDR.
TX Debug
TX Not Working but RX working fine? Checkout procedure using PowerSDR. Verify in the following order. Known to work at 48kHz and 192 kHz.
- You are testing at the TX balun/connector, T1 and P2, for transmit.
- You have adequate 5V and measure 5V DC on leads 6 and 3 of T1 according to the schematic. https://github.com/softerhardware/Hermes-Lite/raw/master/frontend/basic/frontend.pdf
- You have not swapped one of the bifilar pairs, 6 swapped with 5. If incorrect it results in no power out as there is cancelling.
- Verify your balun is equivalent to the one specified in the frontend schematic.
- There is no short between TXP and TXN.
- There is no termination resistor, R2 on Hermes-Lite schematic, between TXP and TXN.
- J1 and J2 on the Hermes-Lite schematic are open.
- PureSignal is disabled in PowerSDR.
- The DA values are large enough to be turning on LEDs. The four LEDs farthest from the heartbeat indicate the amplitude of the signal. The two outermost of these LEDs indicate + and - clip respectively. The two inner LEDs indicate that the levels are good, near clip but not clipping. When I do tune on PowerSDR, I see only the two inner LEDs lighting.
TX Power Level
The TX drive slider is now enabled. Use it to control transmitter drive. 100% gives around 100mW out on the Hermes Lite.
Virtual Audio Cables
PowerSDR can be used with WSPR, PSK, JT-65 and JT-9 via virtual audio cables. VB-Audio is a source of free virtual audio cables.
OpenHPSDR Applications
It is also possible to use your Hermes-Lite with the OpenHPSDR Android application. John Melton describes this application in his January 7, 2015 blog entry. You can find this free application at the Google Play Store if you search for openHPSDR.
Configuration
Discovery should find your Hermes-Lite and list a Hermes. As the instructions say, hold your finger on the listed Hermes device to configure. Configuration is limited with this application. In particular, there is no way to make fine adjustments to the LNA gain settings via a step attenuator.
- Set radio to "Hermes board only"
- Set Dither on
- Dither off will add +32dB which is too much
- Set Random on for AGC or off for no AGC
- Set Preamp on
- Preamp has no effect on the Hermes-Lite, but does appear to alter the gain settings of the application itself
- If you experience audio distortion while running, tap configure and reduce the AF gain
- For strong AM stations, you may need to reduce this all the way down to 3%
VirtualBox
It is possible to run this Android application within a virtual machine on a regular Windows or Linux PC. You must install VirtualBox and then install x86/Android as a guest OS in a virtual disk partition. Follow this tutorial to install Android KitKat.
Desktop Version
The April 11, 2015 blog entry describe desktop port of this code base. This works with RX but has not been tested with TX. It supports bandscope and has custom controls and settings for the Hermes-Lite if the Hermes-Lite is setup to identify as a Hermes-Lite. (Dip switch 1 off.)
Ghpsdr3-Alex
Ghpsdr3-alex allows you to use your Hermes-Lite locally as well as share it with others over the internet. It is a client-server model where a client GUI application (QtRadio for Windows or Linux, glSDR for Android) connects to servers (hpsdr-server and dspserver) running on a Linux machine. This software can be a challenge to setup and configure, but once done, it can be very satisfying to use and share your Hermes-Lite over the internet. This page only covers Hermes-Lite specific information. Please refer to Ghpsdr3-alex for installation instructions.
Recently, the original ghpsdr has been revived. See the May 05 2015 blog entry. This should work with the Hermes-Lite.
hpsdr-server
After compilation and installation, the first server to start on your Linux machine is hpsdr-server
. Depending on how you installed ghpsdr3-alex, this program may or may not be in your path. The executable may be found at ghpsdr3-alex/trunk/src/server
. It is a command line server. The following demonstrates several common configurations to use with the Hermes-Lite. Look at the README file found in the same directory, or type ./hpsdr-server -h
for more usage details.
Single Receiver, 96kHz Bandwidth
./hpsdr-server --hermes 0 --samplerate 96000 --receivers 1
Dual Receivers, 384kHz Bandwidth
./hpsdr-server --hermes 0 --samplerate 384000 --receivers 2
dspserver
The second server is dspserver
found in ghpsdr3-alex/trunk/src/dspserver
. You must execute an instance of dspserver
for each receiver you are running.
First Receiver
./dspserver --lo 0 --hpsdr --nocorrectiq --receiver 0
Second Receiver
./dspserver --lo 0 --hpsdr --nocorrectiq --receiver 1
QtRadio
Start
Start QtRadio via the gui or command line with QtRadio
. A picture of the main QtRadio window is shown below.
Setup
In the Receiver->Configure->Setup tab, use your loop back address 127.0.0.1
if you are running QtRadio on the same machine as your servers. Also specify which receiver you wish to connect to. Shown below is a local setup for receiver 0.
Audio
In the Receiver->Configure->Audio tab, you can setup which audio devices to use for input and output. An audio sampling rate of 8000 Hz as shown below works well.
Connect
Once everything is configured, you can connect with Receiver->Connect and the window shown below should also pop up. This window allows you to adjust the gain and turn the AGC on or off.
When Random is checked, the AGC is on and the gain slider has no effect. Maximum gain with the AGC on is +28 dB, but it will back off to just the amount of gain to achieve occasional ADC clipping. When Random is unchecked the AGC is off and you can manually adjust the gain with Dither and the slider.
With the slider completely up and Dither checked, the LNA gain is set to +19 dB which closely matches the default gain of the Hermes. With the slider completely down and Dither checked, the LNA gain is set to -12 dB. With Dither checked the slider adjusts gain from -12 dB to +19 dB. With Dither unchecked the slider adjusts gain from +20 dB to +48 dB.
Connect to Other Receivers
You can see the other receivers that you can connect to via Receiver->Quick Server List. You can edit your ~/dspserver.conf
file to share your own receiver. See the ghpsdr3-alex site for more details.
GNURadio
N5EG maintains code to use a Hermes with GNURadio on the TAPR svn server. This should work with the Hermes-Lite.
cudaSDR
N1GP maintains a port of the cuSDR that support host audio on github. This software has a very slick interface, bandscope and supports multiple receivers. Currently it supports only RX on Linux.
Spark SDR
M0NNB has written software specifically for the Hermes-Lite with built-in support for WSPR, JT65/9 and psk. This Windows-only software can be found here. This software is under active development so check the Google Group for the latest version and other details. In 2021 it runs on Mac OSX, Linux, Windows (not only Win10), Raspberry Pi. WSPR and other digital mode decoding is based on a separate install of the WSJTx software.
Quisk
Quisk provides native support for the Hermes-Lite (LNA gain, RF AGC) and is one of the easiest SDR programs to use with the Hermes-Lite.
Zeus Radio
Zeus Radio is reported to work with the Hermes-Lite.
Videos
- ZeusRadio with Digi modes
- Use of MIDI controller
- Digital Phosphor Mode (P3D)
- CW and panadaptor
- Signal Rewinding ("Time machine") on ZeusSDR
VNA Software
Starting with hardware version 1.22, the Hermes-Lite can operate in full-duplex mode which supports VNA funtionality. There are two VNA programs known to work with the Hermes-Lite:
Both programs offer similar basic VNA reflection and transmission measurements. Ham VNA will sweep through the selected frequencies faster.
You will need test fixtures to make VNA measurements. A wealth of information can be found on this page. For transmission testing, the series fixture described at the top of page 5 of this document was used. A reflection bridge has yet to be tested.
When in VNA mode as activated by these two programs, the Hermes-Lite does the following:
- Reduces and limits power output to about 1 dBm.
- Synchronizes RX0 and TX and continously transmits a CW signal. This is the same as what happens with the Hermes in VNA mode, and both programs leave VNA mode on. Please power cycle your radio after using VNA mode and don't leave it on in VNA mode for too long.
- Reduces the RX LNA gain to -6 dB if the 20 dB attenuator is selected, otherwise the gains is +6 dB. A gain of +6 dB worked well for the transmission tests with the specified fixture.
Below is a plot of the [QRP Labs] 40M LPF. Note the frequency sweep up to 35 MHz, or just under half the 73.728 MHz sampling frequency of the Hermes-Lite. Also note that at about -65dB the Hermes-Lite runs out of dynamic range and readings above 16 MHz are questionable.
Below is a plot of the [QRP Labs] 20M LPF. Note that dynamic range appears to bottom out early here at -52dB. This may be due to the test fixture, the filter, variation in TX levels across the sweep range or variation in RX LNA gain across the sweep range. More testing and tweaking is required. Clever use of the AD9866's built-in LNA should help extend the 12-bit dynamic range.