Dual RF Head - USB

Dual RF Head - USB, 1 MHz to 10 GHz

As the Dual RF Head sensor works very well for its intended purpose (giving out analog voltages scaled logarithmic), a logical step was to make another version that would have USB connectivity.


The "Dual RF Head - USB" device was born.


The device can be used as a FWD/REF power sensor, connect it to the FWD and REF ports of an directional coupler and the Dual RF Head USB will calculate the forward and reflected power as well as the VSWR value. The device can also be used as a simple "two channel milliwatt meter" with >50 dB dynamic range within ±1 dB.


The device has the same frontend as the original analog Dual RF Head. In addition, it has a precision voltage reference (2.500V), a Cortex M0+ microcontroller (NXP LPC845) and a FTDI "serial to USB" chip (FT231XQ). 

The device presents itself as a virtual serial COM port and all communication (and update of firmware) occurs over this serial USB connection.

I am able to deliver finished Dual RF Head devices for €160,- each plus shipping. Send me an email if interested, contact info on the CV/Contact page.


Devices delivered will be calibrated at a (by you defined) specific band/frequency (up to 3 GHz).

Below is a picture of the first prototype, final design looks a little bit different (re-arranged stuff on the PCB etc)


First test of prototype, measuring forward and reflected power on one of the DVB-T amplifiers I rebuilt for 70 cm use.

Dual RF Head - USB was connected to a Plisch directional coupler (approximately -34 dB coupling) with a 20 dB attenuator on the FWD (A) port and 30 dB attenuator on the REF (B) port.

Background

As explained above, this design is heavily influenced by my Dual RF Head project.

Both designs are based on the same dual logarithmic sensor chip, the ADL5519 from Analog Devices. The chip is not exactly cheap, but it has some very nice features, primarily:


  • Wide bandwidth: 1 MHz to 8 GHz (useable to 10 GHz)
  • Dual-channel and channel difference output ports
  • Integrated accurate scaled temperature sensor
  • 62 dB dynamic range (±3 dB)
  • >50 dB dynamic range with ±1 dB up to 8 GHz


Datasheet for ADL5519


I added 10 dB attenuators on both inputs, these ensures a better return loss on the two inputs (RL better than 20 dB on both inputs).

The analog signals from the ADL5519 device are measured by a 12 bit ADC inside a Cortex M0+ processor (NXP LPC845). The design uses an external 2.500V precision voltage reference for the ADC. The processor connects (via a serial port) to a FTDI FT231XQ "serial to USB" chip. 

Power for the device is taken from the USB-C connection, current consumption is around 70 mA (on the 5V USB supply).


The design

The PCB board is made on a four layer PCB made of FR4, ENIG/gold plating, 0.8 mm thick (controlled impedance, type 7628 from JLCPCB). The PCB Board has no soldermask on the bottom side, this is to ensure maximum "connection" with the milled aluminium housing. The PCB is fixed to the milled aluminium housing using four M2.5 4 mm long screws. The same type of screws also holds the two SMA female connectors as well as the top PCB cover (front plate). In total 15 pcs of M2.5 x 4 mm stainless screws are needed (I use hex headed screws).


The ADL5519 logarithmic sensor chip outputs five analog signals. These are OUTA, OUTB, OUTN, OUTP and TEMP.


OUTA/OUTB: These are the logarithmic outputs from the two channels, A and B. The output is very close to -22 mV/dB (higher RF input yields lower voltage).

OUTP/OUTN are outputs directly from the ADL5519, these are the sum and difference outputs (see datasheet for ADL5519).  

TEMP is "temperature" output. The ADL5519 measures the temperature and outputs an analog voltage based on the temperature.


These five analog values are read and processed by the processor inside the device. The processors firmware will take these analog values and filter them and then calculate FWD/REF/VSWR based on calibration factors.

Both the calculated values and the raw measured values will be output via the USB-C connector (as a virtual serial port at 115200 Baud) and can be read by a suitable PC program (an Windows program will be available from this page in the future, see below). New data will be output approximately 15 times/second.


The firmware in the CPU only occupies 22 KB out of the 64 KB Flash available (using 11KB of 16 KB SRAM available), so lots of room for many more features if needed. The firmware is running with its own realtime kernel.


The HEX file for the microcontroller is also be available here under "Download". The HEX file can be programmed into a "fresh" board using the PC tool also (no need for any SWD/JTAG programmers).


PC Tool

Data from the Dual RF Head can be visualized in a simple PC application. The application will show power (fwd/ref/swr) and it can also log the data measured to a CSV file that later can be opened in f.ex Microsoft Excel. The application is also used when configuring the Dual RF Head and when new firmware needs to be downloaded to the microcontroller.

You can also choose to use the data from the Dual RF Head directly, the device emits data as a serial ASCII device (see "Data format" below).


The project/source code is available for the application (C# project), please contact me.


Settings in the application. Calibration is done using the same method as the Dual RF Head uses.

Update of firmware

Using the PC Tool, it is possible to update the firmware in the device.

Make sure the device is connected to the PC, the correct COM port is selected in "Settings".

Make also sure that the Dual RF Head currently is delivering data to the PC (unless it is a blank board you have produced yourself).

Then select the menu item "Settings -> Update firmware". Select the new firmware file and press "Update".

Data format


The data from the Dual RF Head - USB is sent as a simple <CR> terminated text string over a serial port (via USB-C connector). Baudrate is 115.2 KBaud, 8 bits, 1 stop and no parity.

The string contains all the data, both the raw ADC measured voltages, internal temperature, the forward (A port) and reflected (B port) calculated values (in Watt and dBm).

These values are calculated according to the calibration done.


The string received from the device:


CNT=20871, VERS=0.10, FWD=0.00 W, Peak FWD=0.00 W, REF=0.02 W, Peak REF=0.03 W, SWR=1:1.00, FWD=-99.99 dBm, REF=13.82 dBm, Vfwd=1759 mV, Vref=1774 mV, TEMP=20.9, OUTP=1752.9, OUTN=1783.0*2D9F


The fields:


  1. CNT=20871
    1. This is an incrementing value (approx. 15 sets of data per second)
  2. VERS=0.10
    1. Version number of the firmware in the connected Dual RF Head - USB device
  3. FWD=0.00 W
    1. The power in watt (non filtered) on port A (-99.99 means at least 10 dB below min. calibrated)
  4. Peak FWD=0.00 W
    1. Peak power (non filtered) on port A in W (reset after 2 seconds)
  5. REF=0.00 W
    1. The power in watt (non filtered) on port B
  6. Peak REF=0.00 W
    1. Peak power (non filtered) on port B in W (reset after 2 seconds)
  7. SWR=1:1.00
    1. Calculated VSWR value (non filtered)
  8. FWD=-99.99 dBm
    1. Power in dBm (non filtered) on port A (-99.99 means at least 10 dB below min. calibrated)
  9. REF=13.82 dBm
    1. Power in dBm (non filtered) on port B (-99.99 means at least 10 dB below min. calibrated)
  10. Vfwd=1759 mV
    1. Raw voltage (non filtered) measured on port A from ADL5519
  11. Vref=1774 mV
    1. Raw voltage (non filtered) measured on port B from ADL5519
  12. TEMP=20.9
    1. Temperature of the ADL5519 chip in degrees Celsius (filtered 32 samples)
  13. OUTP=1752.9mV
    1. The voltage on the OUTP signal (filtered 32 samples) from ADL5519
  14. OUTN=1783.0 mV
    1. The voltage on the OUTN signal (filtered 32 samples) from ADL5519
  15.  *2D9F
    1. CRC16 of the data from start until (excluding) the "*". C# checksum algorithm here


CLI - Command line interface

The Dual RF Head - USB device also has a simple "CLI" (Command Line Interface). Using this simple interface you can configure and read data from the device. The PC application shown above, actually uses this interface for all the configuration and data display. You can use the CLI interface using a standard serial port terminal program. Below is a screenshot of the command available. When the device powers on, the default behavior is the "data" command, the device will output approx. 15 data frames each second. Pressing ESC will stop the data stream. The device are then ready for command input as shown below. Entering the command "data" will resume the data stream.

Connecting Dual RF Head - USB to your PC

Due to a "feature" in Windows (have been like this from before Windows XP), connecting a USB serial device that sends out data immediately when connected, might sometimes trigger Windows in thinking that you have connected a "Microsoft Serial Ballpoint" mouse!


This is a known problem (since year 2000) and can hit any serial device that gets connected and that sends out data

autonomously (as the Dual RF Head - USB does).


The way you will discover this issue, is when you connect the Dual RF Head your PC, the PC will probably freeze for 20 seconds or so, the mouse pointer will move around on the screen in small steps etc.

Don't panic. There is an easy fix for this should you discover this "feature" of Windows :)


Once you can move your real mouse around (you might have to left and right click on an empty space on the desktop to regain control), start the "Device Manager" in Windows. Locate serial port for the Dual RF Head - USB, right click on it and select "Settings".

Right click and select "Settings":

Click on "Port Settings" tab:

Click on the "Advanced" button:

Remove the checkmark in the setting "Serial Enumerator"

Press "OK" on this and the following page.


This will make sure that Windows no longer will try to start the "Microsoft Serial Ballpoint" driver for your Dual RF Head - USB device.

Downloads

The PC Tool runs under Windows operating system. There is no installation to be done. The program consists of a single .exe file, simply download this, copy it to a folder and execute it from there.


The application will create a configuration file in the folder it is located in, this file contains all settings you do in the program (so if you need to run the program multiple times, create folders for each instance you want to run, each instance will then use its own configuration file).

Please note, you might get "false positive" virus alerts from Microsoft Defender. This is quite normal, and nothing to worry about.



If you don't already have FTDI drivers installed, you can fetch them from the FTDI website:

Device driver for FTDI Serial to USB device 



2025-02-14 Dual RF Head - USB PC Tool - V. 1.0.0.0

2025-02-15 Dual RF Head - Firmware for CPU - V. 0.10


Previous versions



Release notes


2025-02-14 - Version 1.0.0.0 

  • This is the initial release