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.
Firmware
The firmware was developed in Arduino with the ESP8266 board support package.
Output
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 {"hostname":"rfpm201","vref":3.3,"avg":3,"intercept":-90.805,"slope":0.12993} Parsed json Connecting... rfpm201 connecting to banksia WiFi connected. IP address: 192.168.0.86 Hostname: rfpm201 Starting UDP Local port: 8888 waiting for sync Transmit NTP Request pool.ntp.org: 13.239.37.224 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.