Interests and experiences
Previously, I have made both the Dual RF Head sensor analog sensor module and the Dual RF Head sensor - USB devices.
These are dual channel RF sensors capable of measuring two RF inputs from around -50 to +10 dBm with great linearity and resolution.
Connected directly to a power source, -50 dBm is the same as 10 Nanowatts! Connected to a directional coupler, you can measure several Kilowatts with the Dual RF Heads, all with a dynamic range of 60 dB (1:1000000)!
Currently I have three different "Dual RF Head" devices:
NOTE: Some of the pictures on this page of the application are outdated, have a look further down the page for screenshots of the application to see the current state!
I decided to develop a standalone version of the Dual RF Head, one that does not require a PC (as the -USB version), ideally a handheld/battery operated device that could measure dual RF signals and/or function as a power meter. Optionally, you can connect a small external relay module that will trigger if the measured SWR exceeds a programmed limit!
To make this as easy as possible, I decided to develop a version of my Dual RF Head that would fit the the products from M5Stack. M5Stack makes a lot of display modules, sensor modules etc., and one of their module standards seemed to fit perfectly with what I had in mind.
M5Stack recently developed the "Tab5" device, a 5 inch display based on a ESP32P4 processor that can be programmed via the Arduino IDE. The Tab5 uses a standard 2000 mA/H battery, and can run for around 6 to 7 hours on a charge (battery is very easy to change, its a cheap standard FB-NP-F550-B20 battery). The Tab5 can be charged via its USB-C connector.
Also the CoreS3 - Lite can use the Dual RF Head - M5 module. This is a super small display unit with a (small) battery inside. Mounted on this display module, you have a high accuracy power meter with a footprint of only 54 x 54 mm (and 35 mm high). To use the Dual RF Head - M5 module on a CoreS3 device, a small 3mm thick 3D printed spacer is needed, 4 long M3 screws (2 different lengths) and a extender for the bus connector. As the CoreS3 has a very small battery, it will only run for around 50 minutes on a charge with 100% brightness (1 hour with brightness set to 50%). Connected via its USB-C connector to a power bank etc., it can of course run "for ever" (and it will charge its internal battery at the same time).
Please let me know if you intend to use the module on a CoreS3 if you order the Dual RF Head - M5 module from me!
The device can be used as a FWD/REF power sensor (a power meter), connect it to the FWD and REF ports of an directional coupler and the Dual RF Head M5 will calculate the forward and reflected (CW and peak) 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. You can also use it as a "milliwatt meter", it all depends on the setup and calibration done to the device.
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) (same processing core as the Dual RF Head USB). The data from the CPU is delivered via simple TTL serial port.
If you need a directional coupler for the Dual RF Head, take a look here.
The Dual RF Head USB connects to a PC, and so does the Dual RF Head M5 device if you want to! The PC application will actually see the -M5 version as if it was a -USB version, you can even configure and calibrate the M5 device using the PC application. You can also do all the calibration from the touchscreen itself, its all up to you!
All the design files, schematics, Gerber files etc. are available so you can make your own copy (NO COMMERCIAL USAGE ALLOWED!) as well as the source code for the Tab5 and CoreS3 display devices using the PlatformIO/VSCode (you could also use the Arduino IDE if you absolutely must). You are free to change the code to suit your own usage as you see fit (again NO COMMERCIAL COPY/USAGE allowed!)
If you don't want to make your own, I can supply a limited number of the Dual RF Head - M5 module (bundled with a Tab5 or CoreS3 display device, tested and programmed ready for use, see below)
I am able to deliver finished programmed and tested Dual RF Head - M5 devices, as well as Tab5 and/or CoreS3 Lite devices.
Dual RF Head - M5, you supply your own Tab5 (and you download the software), €160,-
Dual RF Head - M5 including Tab5 WITHOUT battery bundle, ready to use: €220,-
Dual RF Head - M5 including Tab5 OR CoreS3 WITH battery bundle, ready to use: €225,-
all plus shipping. Send me an email if interested, contact info on the CV/Contact page.
Devices/bundles delivered will be calibrated at a (by you defined) specific band/frequency (I can do up to 3 GHz).
Both the application for the large Tab5 display and the smaller CoreS3 works the same way. Only difference is the small CoreS3 has no scales on the main screen
Below is a video of the function of the device, please note that this is for a beta version of the software in the device, calibration etc. are now done directly via the touchscreen !
Tab5 version:
CoreS3 version:
The Tab5 with the Dual RF Head - M5 module can be power in various ways.
You can power it using the LiIon battery on the Tab5 (a Sony NP-F550). Charging the battery is done using the USB-C connector on the Tab5. In order for the battery to charge, the Tab5 MUST be turned on (this is a limitation of the Tab5 device).
When not using a battery, you can power the Tab5 using an external 12V supply. You connect the 12V using the small connector on the edge of the device, the connectors used a standard 0.1 inch "pin headers". Please observe correct polarity and voltage level!
The positive wire goes to the "HVIN" pin and the ground connection goes to one of the "GND" pins.
The application is pretty straightforward. Basically it consists of four screens (or "tabs"), Main, Details, Calibration and Setup. The menus etc. are working the same way on both the Tab5 and the CoreS3 versions. There are minor cosmetic differences, but the principles are the same on both versions.
The bottom of the screen have a number of indicators.
From left to right they are:


If green, data is coming from the Dual RF Head - M5 module. Red if no data coming.
If green, power is connected/battery is charging.
(only if enabled on Setup page)

Show charge state of battery.
(only if enabled on Setup page)
The main screen is the default screen after power on. On this page, the forward/reflected power and the calculated SWR is shown, both as numbers and as auto scaling bars. At the bottom of the screen are three buttons. The first two is the "Avg/Peakhold" and the "W/dBm". Using these, you can select to get the average or the peak power shown, and you can change between Watt or dBm units for the forward/reflected power. At the lower right corner is a power off button (you can also power off by pressing the physical button two times quickly).
The two bars for the forward and reflected power are both auto-scaling when in "W" display. They will select the scale based on the current power when "W" display is selected. If "dBm" is selected, the min and max values of the bars will be -10 dB below the "minimum power" and 10 dB above the "maximum power" set on the Calibration page.
The details view shows all relevant numbers from the system on a single page. You can see the "Tick" counter, this is basically a "keep alive counter", every time a data packet is received from the Dual RF Head M5 module, the count increments with one. The current firmware is shown (0.15) and also the firmware version contained in the Tab5 application, in this case it is 0.16. The version of the application (1.00) is also shown.
On the Setup page it is possible to upgrade the firmware on the Dual RF Head M5 module to the current (0.16) version.
The various measured and calculated values are also shown, the left colum of data are the average values, the right colum are the peak values. The raw voltages from the Dual RF Head - M5 module are also shown.
The right half of the screen shows the actual current being drawn from the battery (if fitted), a positive number means the device is charging, a negative number means it is draining the battery.
The calibration screen is where the device is calibrated.
At the top of the page, there is a "LOCKED" slider. When that is "LOCKED" and red, the values on the screen can not be changed. If you need to change the values, activate the "LOCKED" slider so it says "UNLOCKED" and turns green.
The left and right side of the page are identical. The left side if calibration of the forward power (IN A on the Dual RF Head - M5 module) and the right side is the reflected power.
To the right of "FORWARD" and "REFLECTED", the current raw voltage from the log. amplifiers and the calculated power are shown.
The calibration needs two calibration points. One is for "low" power and one is for "high" power.
As an example, lets imagine you have a directional coupler connected to the Dual RF Head - M5 module. You need to measure the power output from a 1KW amplifier. In that case, use around 10W as the "low" power in the description below, and 1KW as the "high" power.
To calibrate follow these steps:
Do the same for the reflected port.
Due to the much smaller screen on the CoreS3, the calibration screen needs to be scrolled to get to all the values.
The setup page handles various settings. You can set the brightness of the display and enable the battery status at the bottom of the display. Disabling the battery status makes sense if you don't mount a battery (if the device is mounted inside a PA cabinet etc.)
You can also configure a max SWR that will trigger an optional) external relay in case the measured SWR exceeds a threshold (see picture below).
Using the "Update" button you can update the firmware currently in the Dual RF Head - M5 module. Please notice that new firmware/software is NOT downloaded from the internet etc, the "Update" button is only to upload the current firmware in the application to the Dual RF Head - M5 module.
You use the "M5Burner" application shown below to upgrade the application (and the firmware).
If you connect the Tab5 device via a USB-C cable to a Windows PC, you can use the "Dual RF Head USB PC application" to show the data (and even to calibrate the device!). The PC application "thinks" it is a normal Dual RF Head USB device that are connected. Please see the page for the Dual RF Head USB for further details on this.
As explained above, this design is heavily influenced by my Dual RF Head and Dual RF Head - USB projects
All the 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:
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 the Tab5 display unit (or any other of the M5Stack devices able to support the module).
Power for the device comes from M5Stack device via the bus connection, current consumption is around 70 mA (on the 5V supply from the M5Stack device).
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 12 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 (CW) 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 M5 bus connector and the Tab5 device will "relay" these data (as a virtual serial port at 115200 Baud) to f.ex. a PC for logging etc., and can be read by a suitable PC program (you can use the same PC program as I developed for the Dual RF Head - USB version).
Below is a few screenshots of the mechanical design of the device, how the module looks mounted on the Tab5 display both with and without the LiIon battery (battery is optional, only needed if you want to use the device as a "standalone" device. If no battery is used, the device is powered using a normal USB-C connector (5V).

The Arduino application can soon be downloaded as source code, I also upload the versions to "M5 Burner" at M5Stack. This makes it very easy to install my application on a "fresh" Tab5 device if you want to. The Tab5 application also contains the firmware for the small NXP CPU on the Dual RF Head - M5 module, the application can write the firmware to the CPU if needed (after an update or in the case of a blank CPU, f.ex if you make a board yourself etc.)
The M5Burner software can be downloaded from here. Once downloaded, select "Tab5" under "Device type", then scroll down (or search) for "Dual RF Head - M5", select "Download" and then "Burn".
(Please note, in order to use the M5Burner software you will have to create a user profile!)
Projects and information on this website is licensed under Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0).
To view a copy of this license, visit https://creativecommons.org/licenses/by-nc/4.0/