A Homebrew Microwave RF Power Meter


100MHz - 12GHz


12 October 2011

Updated 21 October 2012

Getting into microwave but having problems finding an accurate method of measuring the RF power at these frequencies?  If you are like me, you can't afford to buy even a used HP 432, 435 or 436 version power meter via eBay. I have to admit I was tempted recently when I spotted a HP435A listed for here in Australia and then noted that there was no sensor with it.  Quite a while later after searching eBay for sensors, I came away for a reality check - I might get the 435A for under $200 but a suitable sensor was going to cost somewhat more than $300. Sorry, but $500 doesn't figure into my budget for a device which might be up to 40 years old, with calibration status unknown and sensor status questionable - and expensive to repair if damaged.

I then chanced across an article by microwave guru Paul Wade W1GHZ who published an article titled ‘Microwave Integrated Detectors' back in 2009 where Paul described using a Linear Technologies' LTC 5508 power detector IC to measure low levels of RF power up to around 10GHz.  Since my primary interest is to be able to accurately measure power at and around 1296 MHz, 2.4GHz, 3.4GHz & 5.7GHz and probably 10.368 GHz, that seemed like a viable option as an alternative to the HP route.

A quick check revealed that RS Components has these chips available for about $4 each under part code 506-2104 with a full part identifier as LTC5508ESC6#TRMPBF. Note that these parts are physically very small - the body is just 1.5mm across and about 2.5mm long. If you can't contemplate working with devices this small, don't consider building your own power meter. The data sheet quotes these as " LTC5508 300MHz to 7GHz RF Power Detector with Buffered Output in SC70 Package Data Sheet" and the datasheet itself revealed how the sensitivity of the typical device varies with frequency. Now that is not a problem once the final device is cross-calibrated - that makes the results make sense as the frequency is varied. Note that the typical operating level range is from about -20dBm up to +12dBm. Always use an external in-line attenuator to measure any power levels greater than about +6dBm to avoid any possible device damage.

Paul's article showed how this chip could be used and the results he obtained with it. He obtained results right up to 10GHz so I was hopeful that my variant would do the same. Similarly to his example, I used FR4 double-sided PCB material which is not designed to be used up as high as 10GHz but since he did it with at least some success, it was worth a try.  Paul used a board with plated-through holes in his device but I don't have the luxury of doing that at home so my alternative was the soldered-through rivets as used in some of my other RF projects.

Paul also refers to the LT5534 device if operation up to only 3GHz is desired. I actually bought a couple of these chips from RS Components too (  506-0984,  described as partLT5534ESC6#TRMPBF, about $11 each) with a plan to make a dual input RF power meter so that I could measure from 50 MHz up to 3GHz on one port and 300 MHz to 10 GHz on the other. Both the LTC5508 and LT5534 are physically identical in size, use the same pinout and thus can be used in the same PCB layout. The output voltage characteristic versus RF level input is different but that is a "minor" consideration.

Ok, these chips output a DC voltage that varies with input level but what use is that unless you calibrate a physical meter to read something useful - or use a calibration table to look up to see what that voltage means for that frequency.  My approach was a little more difficult to implement but will be easier to use in the long term. I am not making this a public project but rather an idea topic - I did it my way and others can do it theirs - and adapt it to suit themselves along the way.

I have used PICAXE chips in a number of other projects previously and if ever there was a good purpose to put one to, this was it.  I have a few 28X1 SMD chips on hand so a quick "mud-map" drawing later, I was ready to think about using the internal ADC in the PICAXE to determine the DC voltage fed in to it and translate that into a level to be shown in dBm on an LCD display attached to another port on the chip.  I wasn't too worried about the "software" portion of the project as I have had enough experience with programming these PICAXEs to overcome that facet.

The next step was to lay out a PCB using ExpressPCB and, guess what, the SC70 chip layout isn't in their standard component library! Time to make yet another custom component!  I didn't take long taking the physical package dimensions in the datasheet to create.  I decided that the layout would be a double input port - simply because once you have created the layout for one, you just copy and paste that to obtain an identical second one. All of the available port pins needed to be available as I didn't know how the final version would be implemented - would I want some additional feature like a thumbwheel switch to allow for frequency calibration?

The final layout came out like this....

Actual board dimensions : 68mm x 45mm.

The two components marked Ci at the LTC5508 outputs were just in case I needed to add integrator capacitors for pulse-type work. Technically, the trimpot marked LCD brightness should have been labelled LCD Contrast but that's just being picky.

The next step was to build it up. Now I mentioned earlier that the LTC5508 (and LT5534) chip is small.. Well they are - and there is one somewhere in my workshop that flew off the tweezers as I was trying to place it on the PCB and quite candidly, I will never find it simply because it is too small. Not only is it difficult to handle but it is nearly impossible to solder unless you have the appropriate techniques to fall back on. A SMD rework station with a hot air gun is virtually the only way to do it. I held the chip in place with a narrow pointed SMD tool while I fixed it into place on previously-tinned pads using the hot air. The input coupling capacitor I used was a 0402 style 1000pF (in lieu of the 8.2pF on the PCB overlay) and these too are difficult to work with simply because of their small size. Nevertheless, I got mine soldered in place. I decided to use the LTC5508 for both ports as I figured that most of my power measurements would be at UHF or microwave frequencies, rather than at VHF. The remainder of the components I used were all 0805 sizes except for a couple of 1206 sized 0R resistors used as PCB links.

Most of the connections from the board to the "external world" are via 0.1" (0.254mm) header strips and that makes things easy. The exception to that is that the RF input sockets are SMA females and the DC Sample outputs which are hard-wired to the BNC sockets.

The LCD display is used in 4-bit mode so only the data bits D4 to D7 from the 28X1's output port are used for that function, allowing D3 as an Enable (EN) signal and D2 as a Register Select (RS) signal line. That leaves two spare output pins (D0 & D1) that can be used elsewhere later on - if required. It also leaves a whole 8-bit input/output port free for future options. I used a 4-line x 20-character LCD display as I had bought a couple via eBay a few months back for another project (which is still languishing in the "haven't got around to that one yet" basket...).

I powered up the board, found the +5V from the on-board 78L05 SMD SOT89-style regulator correct and the output voltages from the two LTC5508's were around 0.26V (as read on my DMM) with no input signal. I applied RF from my sig gen and was able to see the output DC vary in sympathy with the input level variations. At least that part of the project was working and my tests showed that the frequency response was within about 1dB from 500MHz right down to 50 MHz ( hence the title indicating 100 MHz to 12 GHz).

The next step was to load the equivalent of the "Hello World" test message into the PICAXE and see if the LCD displayed it. After a bit of port-pin-value adjustments, yes it did.  I then did a quick software (/firmware) variation to read the ADC value (in 10 bit mode) and output that to the LCD. It was definitely reading it so gave me hope for yet more.

To shorten the story a bit, I gradually wrote and added the "bells and whistles" to the software until it showed the level from each port in dBm (as calibrated from my sig gen) in 1dB steps, the raw A/D value that caused that reading plus a simple level bar graph for each port. The software reads the A/D value, compares that to a pre-configured lookup calibration table and finds the closest cal point, interpolates to the next relevant cal point to determine the decimal digits to display so gives a displayed value like -15.5 or +10.3dBm, rather than just the expected -15 or +10dBm.

The characteristics of the two RF ports are different so different lookup calibration tables were set up in the software and each port's value is referred only against its specific cal table. 

The project was assembled into an ABS box, a slot cut into the lid for the LCD display to ‘peer through', the small PCB mounted on a piece of 25mm square aluminium tube such that the two SMA connectors protruded through the front panel etc...

The current consumption was measured at 21.5mA from a 9V alkaline battery fitted into the box and fed to the board via a diode and the front-panel ON/OFF switch. A second diode was added to allow the connection of an external +9V to +15V supply so that the device can be left powered on when used in the workshop - this voltage connection is not switched by the power switch.

Finally, the programming port for the PICAXE was extended to the same external panel as the DC power socket so that the device could be re-programmed with updated software - such as corrections to the calibration tables - without opening the box.

The front panel label was made by using MS PowerPoint to lay out the relevant texts, printing that on normal white paper, then using a clear plastic cold-laminate sheeting over the top with an overlap so that it would adhere to the panel's area outside the label itself..

The completed unit was taken to Doug VK4OE's place to be tested against his HP power meter and signal generator for both level accuracy and frequency response.  A brief overview is that the device certainly drops sensitivity with increasing frequency but once that variation is a known factor, the device becomes useful to actually measure the levels involved.

Doug measured the return loss across the full 2 to 12GHz range before we checked out the actual frequency response and it was a minimum of 8dB, and up to about 15dB, on either port across the entire range. In practice, a good quality external attenuator of at least 6dB should be used so that any load impedance variations are not reflected back to the ‘driving device' (i.e. the transmitter or LO generator).

My pre-calibration of indicated levels from -20dBm to +13dBm from my own signal generator was within 1dB at the worst case (at the top end), and typically under 0.2dB. The next time I update the PICAXE data file, I will change the calibration points so that they agree with the measurements taken using Doug's signal generator.

For information, the calibration response looked like this when measured with 0dBm applied:

(Note: all values were -xx.xdBm but for the purpose of the next step, the negative sign has been dropped)


Port 1

Port 2














































These calibration points were taken at around the 1GHz intervals between the 2GHz and 12GHz points except when in proximity to the amateur bands of interest ie at 2.4GHz, 3.4 GHz,  5.7 GHz and 10.3GHz.

The values tabulated need to be added to the displayed value to provide an indication of the actual level being measured. For example, if the device reads +3.2dBm with 5.7GHz fed into port 1, an extra 6.2dB needs to be added to reveal the actual level applied is +9.4dBm.

It also becomes fairly obvious that the initial frequency response calibration was done at 2.0GHz! Some of the performance degradation with frequency will be because of the FR4 PCB material but since the chip itself is only rated to 7GHz, the actual results are fine with me. Once these offset values are known for the specific instrument for a given frequency, the device effectively becomes a calibrated microwave power meter.

There is a "dip" in the response of Port 2 at around 5GHz, not apparent on Port 1, and since the PCB layouts and components used are the same, I can only contemplate that the physical difference is probably the amount of solder on one of the joints there... The SMA socket, the 1000pF input blocking capacitor, the solder on the input pin of the LTC5508 ???

Roll your mouse over the images below to see in greater detail....


This is the final PCB layout. Note that the second side of the double-sided PCB remains unetcehd and is therefore a full ground plane.

The RF board with all components mounted. Port 1 is the connector at the top LHS, Port 2 is the lower connector.

At this stage, the "front end brass strip" was not in place.


The inside of the box and showing how the RF PCB is mounted.

This view shows the brass shield across the tops of the two SMA sockets - added to improve shielding/grounding as well as for strengthening the connectors through the front panel.

The 25mm square aluminium tube that is the mounting point for the PCB itself is easily seen in this slightly angled view.


The 4 line x 20 character LCD is mounted on standoffs with 3mm countersunk screws through the front panel. All LCD connections are via ribbon cable and 0.1" header strips.

The "full" inside view of the assembled power meter with a 9V battery held just under the PCB with red insulation tape. 

The two wire sets disappearing out of the photo are to the external DC jack and the 3.5mm RS232 programming socket.


The external view of the front of the completed unit. 

The two BNC sockets at left are for measuring the DC output from the LTC5508's directly on an analogue multimeter, desirable, for example,  when actually tuning up a signal source for maximum output. This overcomes any inherent delays in the processing and display of a digital presentation.

The calibration table above is included on the front panel label as a continuing reminder to adjust the user's brain to offset errors due to operating frequency.

The LCD display's quiescent details with RF applied.

Note that the two LTC5508's output voltages in this condition are very sightly different. Port 1's value is 2 A/D units higher than the Port 2 value.

With the A/D value at this reading, the "analogue signal bar" is now showing 1 segment lit on both Port 1 and Port 2.. 


Feeding in a nominal 0dBm from the signal generator into Port 1 shows the measured level as being -0.2 dBm. 

The A/D value at this reading is 167 and the "analogue signal bar" for Port 1 is now showing 3 segments lit. 

The analogue bar can light up all 11 segments as the level rises and all are lit by +13dBm.

Feeding in a nominal 0dBm from the signal generator into Port 1 shows the measured level as being +0.2 dBm. 

The A/D value at this reading is 169 and the "analogue signal bar" for Port 2 is now showing 3 segments lit. 

I have no plans to make either the actual PCB layout file or the PICAXE code publicly available, the above PCB layout can be re-created by interested persons though. As I mentioned earlier, this is my implementation and it may not suit others. It does prove that the technique works and can be implemented without a lot of cost. An approximation is that it used about $50-$60 worth of parts, which falls well short of what a HP power meter would have cost me. With an input chip cost of around $4, a lot cheaper to repair too....

The total time from concept to finished product was about 3 weeks and that included a week's delay while waiting for the LTC5508 chips to arrive from RS. The PCB layout was finished in under a day, the physical board was created on a Friday morning, the parts put on it later that day, the software created from start to finish during varying odd periods from the Saturday to Tuesday, the box also drilled etc on the Tuesday & then fully assembled, and taken for evaluation on the Wednesday.  So well less than a week for the physical product to be created and the software written. That's pretty quick by most peoples' standards.

 Update 21 October 2012 :

The firmware in the PICAXE 28X1 was updated so that the microwave power meter sent the measured values out through the serial port such that they could be read by a computer. In essence, this was implemented as part of a move to create an automated computer-based measurement jig.  The data sent was of this form..

P1A: xxx CRLF

P1D: yyy.y dBm CRLF

P2A: xxx CRLF

P2D: yyy.y dBm CRLF

where xxx is a 3 digit analogue number between 0 and 999 which is the raw A/D value read from the LTC5508 devices on Port 1 and Port 2 respectively - hence P1A for 'Port 1 Analogue' and P2A for 'Port 2 Analogue' values.

Similarly, yyy.y represents the calculated level in dBm for each port, P1D for 'Port 1 dBm' and P2D for 'Port 2 dBm' values.

Exactly how does this help us ???  It means that we can evaluate the RF levels, analogue being the easist to note small changes in, while checking the response of a filter while the input frequency is varied. Effectively by plotting the frequency against level (eg in dBm), we end up with a filter response curve. The critical part here is that the computer must be able to set the signal generator's frequency as well as read the resultant amplitude from the filter. My Marconi generator covers 100KHz to 1040MHz and has a GPIB interface that can be used to set the various relevant parameters eg frequency, frequency step and the output amplitude in dBm or dBuV.  If I set start and stop frequencies, plus the frequency increment (or step value), all through the GPIB port, that allows me to vary the generator frequency under computer control. If the same software utility can also decipher the data stream output from the RF power meter, that provides a means of doing functions like filter analysis.

The generator's 1040MHz limit does cause some issues when you want to check microwave filters BUT by introducing a harmonic generator (typically a comb generator device) at the sig gen output, we can obtain useful operation up to 10GHz.  To sweep a 5.76GHz filter, we might use a nominal centre frequency of  about 960 MHz on the generator and utilise the 6th harmonic, and provided sufficient level is available at the filter output, we should be able to determine it's centre frequency and shape. Given start frequencies of (eg) 950, end of 970 and a step of 166.666KHz, we can effectively 'plot' the filter's response at 1MHz intervals if we want to !!! (within the RF level measurement range) No spectrum analyser and tracking generator, just the signal generator and the lowly RF power meter described above.

I also updated an old Delphi project's code so that I could view the data stream directly.. A screen snapshot is shown below...

This is not the final fiter-analysis application but simply allows me to select the computer's COM Port and selectively display either or both Port values in both analogue and digital formats.. The filter analysis software is yet to be written - once I have mastered 'talking' to the GPIB devices.. but the code to decipher the serial stream now exists in the above application software.