Digital SWR and Power Meter

This module is an analogue and digital SWR and power meter/monitor, designed to replace analogue SWR and power metering in an AM Transmitter project. Of equal importance was the ability to detect high SWR and raise an interlock (a control line) to inhibit transmitter power in the presence of unreasonably high SWR. I make no claim to either SWR or power accuracy; my version is an indicative tool and an interesting experiment, not an accurate test equipment, although it could be made into same with some skill and patience.

Various couplers could be used in a module such as this. I built the Bruene Bridge directional coupler described in ‘A PIC16F876 based, automatic 1.8 – 60 MHz SWR/WATTmeter‘, a project from “Il Club Autocostruttori” of the Padova ARI club‘ by IW3EGT and IK3OIL. Each coupler type has its own strengths and peculiarities. All are fairly similar, all will require some effort to calibrate, depending on how fussy you are.



The Arduino script is here.


Calibration has always caused me some frustration with these kinds of meters. SWR is easier than power because it is a ratio and the absolute values don’t matter so much (within a certain range). However, power is an absolute value which you have to determine by mapping arbitrary milliVolt readings into an absolute power measure. There is no logarithmic detector such as an AD8307 between the coupler and the Arduino in my module, and I didn’t want to add one, so I came up with an approximation in software.

I used the forward and reflected milliVolt readings and the corresponding RF power level (as measured from the transmitter into a load using a ‘scope) and mapped these pairs (milliVolts, power in watts) into an approximation using an online curve fitting calculator. I coded the resulting expression. It gives power readings within 5% in the range 10 to 100 watts which is good enough for my transmitter project.


This design is primarily intended to be used to detect high SWR and raise a control line in an AM transmitter project — it is not a precision instrument. It is not even particularly accurate. SWR and RF power meters have a long history and there are many fine examples available, I strongly suggest you look around to find one that suits your exact purposes. OZ2CPU has a nice QRP power meter although you will need to either use his PIC and firmware or find a script of your own for an Arduino MCU. And for a really high performance option that is fast enough to double as a monitor scope, see this project from TF3LJ.

Note that the time taken to detect and raise this interlock is dependent on several factors including the processing speed of the Nano; it is in the 10s of milliseconds range; this may not suit or even protect your transmitter!

I added a few features to the code. The displays dim after a configurable period of inactivity. The ‘High SWR’ interlock resets when the SWR drops below the threshold. Analog reads from the forward and reflected coupler ports are buffered and averaged. And all of the constants in the scrips are #define‘d for convenient configuration.

Comments, feedback, improvements, stories welcome.

Tagged , , ,

3 thoughts on “Digital SWR and Power Meter

  1. vk3kr says:

    Very interesting and thoroughly described video, Paul, particularly your method to calculate and display the relationship between the forward and reverse power measurements. I didn’t know those tools existed! 73 David VK3KR


    • Paul Taylor says:

      Thanks for commenting David.

      A better approach to the power meter might have been to order and wait for an AD8307 logarithmic detector. However I didn’t have one and it was lockdown. Additionally the power meter was a bit of an afterthought as the SWR detector was the main objective. So without a true logarithmic power detector it was necessary to find a way to do an approximation in firmware!

      73 Paul VK3HN.


  2. Don McGrath says:

    Paul: It is your cousin, Donald McGrath.please email me.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Shack of VK2KMI

Ham Radio Blog of VK2KMI

Ham Historian

A passionate amateur looks at Melbourne history


My journey of repairing and recycling anything I put my hands on that I believe is still useful. Not just hardware, but including software with relevant content and issues in the field of Cyber Security, Vulnerability Scanning and Penetration Testing.

G4YDM Ham-Radio and SWL news

Radio craft, homebrew, QRP/SOTA, AM

Amateur radio experiences with VK1DA

Tj Lab



Amateur Radio and unrelated technologies

Paul Gacek



This blog is no longer in use!

%d bloggers like this: