logo
  
How to interlock 2 Flex Radios
In case you want to be compliant with contest rules: ONE TX at any time the following should work between 2 flex radios:
 
RCA to RCA cables connected as shown: TX1 TX2 or TX3 can be used
 
 
 
You will need to enable TX Inhibit function per band as shown:
This function is enabled for 20m only below: 
 
 
 
Finally make sure the inhibit function is ACTIVE LOW:
 
 
 
 

How to make a simple HP 1:1 Balun for your 160m/80m dipole
Ingredients:
 
1. 2m of UHF Type Female Jack SO239 to UHF Male PL259 RG400 RF Adapter (can be bought from aliexpress). Power rating is allegedly 5KW at <5MHz
 
2. A number of Fair-Rite torroids (can be bought from mouser). In terms of which ones this guide can help you decide. I chose #43  5943003801 for 160m  
 
I used this G3TXQ charts:
 
 
and ended up with 4x 42 cores and as many rounds as I could to get increase impedance to the green part of the chart.  Approx 12 turns:
 
 
 
3. A good quality  SO239 socket to solder the two ends of the dipole
 
4. A box to fit the balun in. I chose a high quality PVC box used for plumbing
 
 
 
RESULTS:
I managed to eliminate completely my common mode interference for both 1.8MHz and 3.5Mhz
 
 

How many dropped frames to expect on a flex 6700
 
  
Pre upgrade 0.04% dropped 
Post fibre upgrade @ 3500km 0% (370 in 24million)
 

How to configure DH1TW's remote audio on a PC
On the LOCAL PC (where the radio is ) 
Firstly navigate to this page 
1. Download the latest release for windows  eg 386 release
2. Extract  all files in a folder on your LOCAL radio PC eg remoteAudio
3. Download NATS server from here eg nats-server-v2.6.4-windows-386.zip
4. Extract the files into the same folder as in 2 above
5. Open command prompt and run remoteAudio enumerate  command from the remoteAudio folder
6. Note the sound cards found and look for the one that is connected to your radio eg Microphone (USB Audio CODEC). This is important for the config file
 
There are multiple host APIs. WASAPI seems to have low latency. MME tends to usually work with remote Audio. The Host API name appears in the enumerate command as follows. Ensure you copy it in the config file in the next step as shown below ie Windows WASAPI etc
 
 
 
If the sound card you are using to capture the audio from the radio is already the default you can use "default" for the device-name below. The name needs to match exactly as the enumerate function shows. For example, there is an extra space for the card shown above before the closing parenthesis.
 
  
 
7. Copy and paste the text below into notepad and modify the  relevant fields that appear in red below. Save it in the same folder as all the other files and name it remoteAudio.toml
  
[nats]
broker-url = "localhost"
broker-port = 4222
username = "user"
password = "pass"
 
[server]
name = "flexradio"
index = 1
 
[input-device]
device-name = "Microphone (USB Audio CODEC )"
samplerate = 48000
latency = "2.5ms"
channels = 2
hostapi = "Windows WASAPI"
 
[output-device]
device-name = "default"
samplerate = 48000
latency = "5ms"
channels = 2
hostapi = "default"
 
[opus]
application = "restricted_lowdelay"
bitrate = 24000
complexity = 5
max-bandwidth = "wideband"
 
[audio]
rx-buffer-length = 10 # 10x10ms (@framesize=480 & samplerate=48kHz)
# opus does not accept arbitrary frame length! Check OPUS documentation
frame-length = 480  #10ms @ 48kHz (should work for most cases)
tx-volume = 70
rx-volume = 70
stream-on-startup = false
vox = false
vox-threshold = 0.1
vox-holdtime = "500ms"
 
[http]
host = "localhost"
port = 9090 
 
 
8. Ensure your soundcard is set to 48000 either 1 or 2 channels depending on whether you want 1 or 2 channels. To do this, go to START->settings-> choose sound-> scroll down to input devices. Ensure you have the right sound card selected and click Device properties and then from new screen additional device properties, Advanced tab and select 48000 1 or 2 channels.
 
 
9. You need to TCP port forward the port for remote audio eg 4222 in you router  You need to look at your router manual on how to do this
 
10. From command prompt run the nats server
nats-server.exe 
 
 
11. from another command prompt run remoteAudio.
remoteAudio.exe server nats --config remoteAudio.toml 
 
If all is well, you should see the following screen. Occasionally you may get a sound card error in which case try a different card or hostAPI. MME usually works but has worse latency. If you get a non-sound card error try the command again. Occasionally you may have to try this command  2-3 times to get this to work.
 
 
 
 
 On the REMOTE PC (where you are):
1. Download the latest release for windows  eg 386 release
2. Extract  all files in a folder on your REMOTE radio PC eg remoteAudio
3. You do NOT need NATS here
4. Copy and paste the config file in the box below in notepad , replace red text with your details and save it as remoteAudio.toml  Ensure user and password are the same as you have defined in step 7 above
 
[nats]
broker-url = "IPofRadioPCeg 8.8.8.8"
broker-port = 4222
username = "user"
password = "pass"
 
[input-device]
device-name = "default"
samplerate = 48000
latency = "5ms"
channels = 1
hostapi = "default"
 
[output-device]
device-name = "default"
samplerate = 48000
latency = "5ms"
channels = 2
hostapi = "default"
 
[opus]
application = "restricted_lowdelay"
bitrate = 24000
complexity = 5
max-bandwidth = "wideband"
 
[audio]
rx-buffer-length = 5 # 10x10ms (@framesize=480 & samplerate=48kHz)
# opus does not accept arbitrary frame length! Check OPUS documentation
frame-length = 480  #10ms @ 48kHz (should work for most cases)
tx-volume = 70
rx-volume = 90
stream-on-startup = false
vox = false
vox-threshold = 0.1
vox-holdtime = "500ms"
 
[http]
host = "localhost"
port = 9090  
 
5. From your remote PC, start command prompt and navigate to the remote audio directory.
 
6. Execute:  remoteAudio client nats --config remoteAudio.toml 
if all is well you should see something like:
2021/06/27 19:01:47 webserver listening on localhost:9090  
 
7. Open your browser and navigate to 127.0.0.1:9090
 8. Click on the RX AUDIO button and if all is well button turns Green and you should hear your radio audio
 
BIG THANKS TO DH1TW for writing great software. Enjoy! 

Why you cant do (smooth) 2BSIQ with one flex (yet)!
 
I really like my flex 6700. It's a great radio that allows me to operate very easily remote. Over the last 2 years I am pushing it to the limit and I have managed with the right filters to operate SO2R however my ultimate challenge is work 2BSIQ. No matter how hard I tried, the synchronisation is poor and here is why:
 
For people who do not know what 2BSIQ is , please read here.
 
In summary, you are running 2 QSOs in parallel in PERFECT synchronisation as shown in this diagram by CT1BOH:
 
 
 
Although the flex lets you switch both your TX and RX focus to theoretically achieve  the above, the audio from the flex gets interrupted for approximately 160ms when the TX focus is changed and the radio is on TWO bands. Even without transmitting. The silence is present in BOTH VFOs/Slices.
 
This is the audio recording from the flex with a TX focus change on TWO bands:
 
 
It is important to note that this has nothing to do with latency. The brain can cope with latency, however the brain cannot cope with no audio. Essentially this means that as soon as you finish transmitting on the first band and try to transmit on the second band, the first 160ms of audio is lost. If for example you get called by CR6K at 40wpm, you will probably only hear R6K because C would have been sent during the 160ms period of silence. This will result in a repeat and the perfect synchronisation of 2BSIQ is lost.
 
This silence is present both locally and remote. If you have a flex try it: SO2R profile. Slice A on one band, slice B on second band, headphones each slice on one ear. Swap TX focus by clicking on the non-red TX button, notice a short silence when you press!
 
Flex suggest that this 160ms silence is needed for essential internal switching. That's a long switching interval....! They did  say they may look into it. I hope its fixable! 
 
Update 7/11/2021: 
I had an email to be told that it IS possible to use the flex for 2BSIQ with rates over 200/hr  however the experience is not as good as you would expect on 2xK3s. Of course it is technically possible to do all the switching with flexes OTRSP but the audio pauses are disruptive. I have done it for a shortwhile  too but the number of repeats as the first letter of someone's call is missed makes this so difficult to do. This is kind the point of my article. I am just hoping that flex is going to improve the audio silence soon.
 

Investigating Flex 6700 total latency
Inspired by Andy KU7T excellent write-up I wanted to look at my  own flex radio 6700 setup and measure the TOTAL latency at around 3500km. 
 
The problem: 
Whilst using the flex maestro remotely, there is a perceivable high audio latency which makes it extremely difficult to use for high rate contests. KU7T in his tests showed that the flex takes a mimimum of  48ms to process an RF signal and output it to the speakers at the front of the radio, so the minimum latency you can expect is around 50ms...
 
Questions to answer:
a) What is my station's Total Latency  ie from Signal to Ear at 3500km for my 6700?
 b) How does it compare with other remote stations?
 
METHODS:
Inspired by KU7T I measured the following setup :
 
6700--- ROUTER---ADSL------3500km----------FIBRE----- ROUTER---PC or Ipad or Maestro [no wifi anywhere]
 
To measure the latency I used a  win 10 PC (@3500km from radio) with  a behring uca-202 USB sound card attached to it. Any sound card with stereo line-in sound card should work.
 
 
 
The UCA202 uses RCA as inputs for L and R channels. I used 2x RCA to mono phono cables. One for the REFERENCE signal (real time) [L] and one for the test signal [R].
 
  
 
 
The test signals were one of following:
a) Maestro model A (running v 3.1.12 also 3.2.31), connected via ethernet, using audio from headphones output 
b) Ipad Pro 2020, running smartSDR app (V3.9.12) with a VA-UC006 USB-C dock, ethernet and SoundBlaster SB1920 sound card with audio out
c) RemAud (by DF3CB) v2.1 encoding at PCM 22Khz, 16bit stereo (10ms buffer). I used my PCs integrated sound card and connected the RCA to phono cable from the  headphone output of the PC to the R INPUT  channel  of the UCA202.
d) Imac late 2013 running Catalina, ethernet and smartsdr OS 1.4.32 
e)  iPhone X  smartSDR 3.9.12 WIFI,  iOS 14.4 (large audio buffer both enabled and dsiabled)
f) Windows 10 PC (i5-7400) runnung smartSDR 3.1.12 ethernet 
 
 
Variables and other settings:
Filter sharpness (maestro menu->Phone/CW->filter options): Settings 1-4 (1=low latency)
 
 
 
 
Ipad/Iphone  SmartSDR app was set to NO (disabled) Large audio buffer (Settings->extended Settings) 
 
For real time reference I used a KX3 (@3500km from flex) with a 5m wire as an antenna and tuned onto any signal I could hear on 40m.
   
I then tuned the flex at exactly the same frequency and using audacity I captured BOTH signals as described by KU7T and calculated the latency.
 
Tip: In audacity select:  show Length and end of selection at the bottom of the screen and time format hh:mm:ss + milliseconds
 
 
 
I measured differences on 2-3 different signal times to ensure repeatability. 
 
To help answer the second question, I measured the latency from two of my friends' remote setups:
a) CR6K running remaud V2.1 8Khz PCM buffer 20ms
b) G5W running FTDX101 using yaesu  SCU-LAN app with audio RX buffer set to minimum (100ms)
 
 
 
Results:
Network latency was obtained using the ping command. This is Round Trip Time. In my case in was 95ms ie approx 48 ms each way.
 
All values in ms 
 
 
SmartSDR
PC *
Maestro $
RemAud $
Ipad Pro  $
imac *
iPhone *^  
iPhone  
Level 1 filtering 
608
588 
155 
88 
163 
80 
107
Level 2 filtering  
620 
600 
192 
120 
182 
125 
142 
Level 3 filtering  
658 
631 
226 
139 
212 
130 
193 
Level 4 filtering  
715 
693 
269 
195 
271 
185 
220 
 * ping 89ms
  $ ping 95ms 
^ Large audio buffer disabled
£ Large audio buffer enabled 
 
With regards to other stations total latency:
CR6K total latency of 202ms ping time 46ms
G5W total latency of 199ms ping time 47ms 
 
Other solutions tested: 
DH1TW's Remote Audio solution on a raspberry pi streamed to the same software running on an imac (tested @ED1R) produced a total latency of 100ms and a non-network latency of 50ms which is pretty impressive... More experiments of this on the PC soon.
 
G4IRN measured the latency for Remote Rig RRC-1258 being  a net 125ms (with network delay subtracted) 
 
 
Discussion:
Results show an unacceptably high latency for maestro or stock smartSDR for the PC of 588ms/608ms.   Using an Iphone X and Ipad Pro seems to have the best result with a total latency of 80 and 88ms respectively. The large audio buffer for iphone and Ipad  for the low latency filter results in a latency of 107 and  150ms.  Taking into account that the one way network latency is approx 48ms (ping time /2) then the non network latency (processing etc) for the ipad is hence 40ms which is comparable with what KU7T has published for the time it takes the 6600M to output audio from the speaker jack.  This is an impressive 6.7x better than the best result achieved for the maestro or stock software. RemAud gives an alternative acceptable latency of 155ms. In his tests, KU7T showed that latency can be as low as 98ms using this technique.
 
For this experiment I made the assumption that the KX3 has no processing latency to output the signal.  
 
It is interesting that the results above for the flex compare favourably with other non-flex remote solutions and it seems that a latency of 200ms or less is appropriate to allow efficient contest operations. 
 
 
Conclusion: 
 To achieve lowest total latency for the flex 6700  it seems that best option is to use an iOS/OSX based device such as an iphone or ipad (pro) or imac with smartSDR, large audio buffer disabled and flex filter options setting set to Low latency. The flex has the potential of being a great remote contest radio provided that the stock software/maestro is NOT used to stream audio. Based on these results my maestro is now demoted to smart control! The community is eagerly awaiting software improvements by flex on the remote side.
 
 
Many thanks to KU7T for sharing the methodology to the world and inspiring more experimentation. Also thanks to CT1ILT and G3BJ for allowing me access to their stations to make these measurements. DH1TW for his help with measuring Remote Audio solution.
 
 
UPDATE 22/02/2021:
Flex Helpdesk acknowledge that this is a known issue and is to do with Windows Audio latency issues beyond their control but are looking at possible solutions! Remaud which also uses windows seems to achieve a lower latency so it is theoretically possible to improve the flex software by changing the design. 
 
UPDATE 28/02/2021:
Repeated mearements for the ipad and new measurements for iphone X and iMac added as well as reference measurements to CR6K and G5W.
 
UPDATE 01/03/2021:
Added windows smart SDR measurenents.
 
UPDATE 11/04/2021:
Added  remote audio measurements 
 
UPDATE 09/01/2022:
Added  G4IRN remote rig measurements