Introduction: RF Load With Power Meter for HF Radios

When building HF radio kits, one of the final steps before going on the air is to connect a 50-Ohm load and measure the RF power output. I used to do this by taking measurements with an oscilloscope and then calculating the power using formulas and a calculator. I built this project to automate this step by using an Arduino to measure the RF voltage, calculate the RF power and display the results.

Attachments

Supplies

The bill of materials file (BOM.csv) has the list of required electronic components

You'll also need a soldering station, solder, some wire, and a M2 and M3 Allen wrenches. Q-tip swabs and isopropyl alcohol are also handy for cleaning the circuit board after soldering.

Step 1: Design a Circuit Board

The circuit is relatively straightforward and it could be built using point-to-point wiring, but I decided to make the build easier by designing a circuit board. Referring to the schematic the circuit consists of a 50-Ohm load (made up of 8x 100-Ohm resistors) followed by a rectify/sample circuit which is then connected to an ADC (analog to digital) input pin of an Arduino Nano. The Nano is also connected via an I2C serial bus to an OLED display.

I had boards fabricated at JLCPCB.com (a Chinese circuit board manufacturer). The ordering process was simple, I just uploaded a zip file containing the design (Gerber) files for the board. The cost per board was very reasonable even after including the shipping charges and I received the boards about 2 weeks after the order was placed.

NOTE: If you want to design your own circuit board, KiCad is a circuit board design tool that is open-source and free to use. It can be downloaded here: https://www.kicad.org/download

Step 2: Design a 3D-printable Case

I designed a simple 3D-printable case for this project. It is an open-top design to make debugging easier. Since OLEDs are somewhat fragile, I may come back at some point at design a closed-top case that offers more protection for the OLED. I also designed a part that fits under the OLED to help align and hold the OLED in place during soldering.

The files to 3D print this case can be downloaded here: https://www.thingiverse.com/thing:4966755

NOTE: If you want to design your own case, FreeCad is 3D modeling tool that is open-source and free to use. It can be downloaded here: https://www.freecadweb.org

Step 3: Write the Arduino Code

Arduino code is C++. The code that I wrote for this project is all in a single file named rfpwr.ino. It can be downloaded from GitHub here: https://github.com/scottlbaker/QRPpowerMeter

The project also requires a library for OLED displays called SSD1306Ascii (version 1.3.0) which can be found here:

https://github.com/greiman/SSD1306Ascii

Step 4: Program the Arduino

Before you start soldering anything, I recommend that you program your Arduino Nano. If you do not already have the Arduino IDE installed, you will need to install it. This instructable will not cover Arduino IDE installation. Once you have the IDE installed installed you'll need to download the RF power meter project source code from github (FIXME add github URL here). I will also not cover in detail the programming process here. Please refer to the Arduino documentation.

Note that some Nanos come with a bootloader installed and some don't. If your Nano has the boot-loader installed then you should be able to program the Nano using just a mini-USB cable and select AVR-ISP as the programmer from within the IDE. If your Nano does not have the bootloader installed, you will need to load it. Please refer to the Arduino documentation on how to load the bootloader.

There are a few other things that can cause programming problems. For example the correct serial port, programmer and board must be selected in the Arduino IDE or the device will not program. In short there are a few potential issues that can be frustrating when learning to program Arduinos, but with some experience these issues can usually be easily resolved.

Step 5: Start Soldering: Resistor and Capacitors

This instructable is not a tutorial on soldering (there are other instructable for that). Just make sure you have a good quality soldering iron. The 8 power resistors require a bit more heat than the smaller components. And any pin connected to the ground plane will also require a bit more heat. All resistors and diodes are oriented vertically. Take care when installing the diodes and install with the correct diode polarity as marked on the silkscreen. When soldering these components is complete, clean the board using a Q-tip and isopropyl alcohol.

Step 6: Solder the Arduino Nano

Not all pins on the Nano need to be soldered. You can solder them all if you want but only pins 4,15,19,23,24,27, and 29 need to be connected. Note that since pins 4 and 29 connect to the ground plan, they will require more heat in order to make a good solder connection.

Step 7: Solder the 128x64 Monochrome OLED Display

Since it is the most fragile part, the OLED is the last component to be soldered. Before soldering the OLED, first attach the 3D-printed spacer to the OLED using two M2x4mm screws as shown, then attach the OLED and spacer to the board with two additional M2x4mm screws from the back side of the board. Be careful not to over-tighten the screws or you may strip the threads. The OLED should now be aligned and held in place for soldering.

As previously noted, pins connected to the ground (GND) plane it will require more heat in order to make a good solder connection.

Step 8: Solder the BNC Connector and User Interface (UI) Switch

Before soldering these parts, do a test fit in the case and measure the required wire lengths. Then solder the wires. After all connections are made, then you can mount the board into the case. I used some 3/16" heat shrink tubing to cover the solder joints, this is an optional step optional, but it looks better.

You can find heat shrink tubing at various online shops. Just search for "3/16 Black Heat Shrink Tubing"

Step 9: First Test

Once the Nano is programmed you should get a welcome screen and a version message at power-up. If the OLED display is dark/blank, check all the solder joints again and especially check all the ground plane solder connections. The Arduino serial debug port can also be used to aid in debug. If there is an i2C bus problem, there will be an error message printed to the serial debug port.

Step 10: Test2: Measure an RF Signal

Use a BNC cable to connect the output of your HF radio to the input of the meter. When you are ready to take a measurement, key the radio then press the UI button on the meter to start a measurement. A second press of the UI button will end the measurement.