RF Power Meter 2 (RFPM2)

The RF Power Meter 2 is a development based on the utility of  RFPM1, but it shares nothing with the RFPM1, save using an AD8307 as the sense module.

Design criteria

The design criteria are:

  • small, portable, battery powered;
  • direct reading dB scale;
  • flexibility for a range of adapters to measure power, current etc;
  • local display including bar graph, time, and dB value;
  • log measurements to a serial port of some kind;
  • offer remote access for recent measurement log.

Design outline

The RFPM2 uses an AD8307 log power detector to obtain a analogue ‘DC’ voltage proportional to the log of the input power. The input port is 50Ω SMA, and accommodates from about -75dBm (the noise floor) to +15dBm.

The analogue output of the AD8307 is digitised on a microcontroller board, a NodeMCU which uses an ESP8266 processor with integral WiFi. The board also contains a CP210x USB to serial adapter for programming, power, and serial logging.

The display is deliberately generic, the units are dBm at the SMA input, but they could be dBA with a suitable current probe, or +xx dBV/m with a field strength sense antenna.

The hardware comprises basic modules which can be purchased on eBay for small money, and assembled in a small box that, you guessed it, comes from eBay for a few dollars. The red button is a reset button, essentially for development reasons.

Left is an AD8307 module, and to the right the NodeMCU ESP8266 module.

The top side of the case has a 16×2 LCD display with piggyback I2C mux, so only 4 wires connect to the processor board. Again both parts available on eBay.


The firmware was developed in Arduino with the ESP8266 board support package.


Additional to the local LCD display shown earlier, the microcontroller writes a serial log file.

If WiFi access is established, RFPM2 synchronises its clock to UTC and all log records are time stamped to allow correlation of measurement logs with activities.

Sketch size: 337488
Free size: 2805760

Mounted file system
Reading config file
Opened config file
Parsed json
rfpm201 connecting to banksia

WiFi connected.
IP address:
Starting UDP
Local port: 8888
waiting for sync
Transmit NTP Request
Received NTP response
|	yyyymmddhhmmssz	dB
|	20181124051452Z	-79.2
|	20181124051453Z	-79.2
|	20181124051454Z	-79.3
|	20181124051455Z	-79.3
|	20181124051456Z	-79.3
|	20181124051457Z	-79.3
|	20181124051458Z	-79.2
|	20181124051459Z	-79.2
|	20181124051500Z	-79.2
|	20181124051501Z	-78.9

The microcontroller also runs a web server and it can be interrogated for a recent measurement log display.

Above is a screenshot from a tablet of the web server measurement page.

Source code repository: https://github.com/owenduffy/rfpm2/.

Further plans

Plans exist for a current probe that will front the RFPM2 and display RF current in dBA, from -65dBA to 15dBA.