Digital display for QRP labs 20W dummy load – part 2

Digital display for QRP labs 20W dummy load – part 1 laid out a initial study into the feasibility of an approach to the project.

A prototype has been built based on an Ardunio Nano (ATmega328P 5V 16MHz). The ‘328P is loaded with a custom build of Optiboot 8 supporting reading and writing EEPROM.

Above, another prototype using a 0.96″ 128×64 OLED display, an end to end test of a BAT46 prototype for function testing using an Arduino Nano and OLED display. This prototype is well within 5% accurate based solely on the LTSPICE model, assuming no error in the voltage divider, tracking well from 1W to 20W. When calibrated for the voltage divider and ADC Vref error, power displayed was within 2% of a proven power meter at several spots from 0.8W to 25W, on a spot check it is within 10% (0.4dB) at 1mW. Continue reading Digital display for QRP labs 20W dummy load – part 2

NanoVNA-H – modification of v3.3 PCB to start the bootloader from the jog switch

Later NanoVNA-H* hardware allows the device to start in bootloader mode by holding the jog switch in whilst powering on. It is a very convenient facility for firmware update, much more convenient than taking the case apart to jumper BOOT0 to VDD. (Some later firmwares provide a menu option to start the bootloader… but of course that is only useful if the firmware is running properly and may not be useful in the event of a failed firmware update.)

This was a mod I devised prior to the v3.4 hardware change, it is not identical to that change as it preceded it, but it works fine on v3.3 hardware and may work on earlier versions.

Boot switch

The mod calls for replacing R5 with a 1k (1402) and running a short jumper from the T terminal of the jog switch to the un-grounded end of R6.

To use it, hold the jog switch in and turn the nanoVNA on.

Above a pic of the mod. It is a simple mod, but very fine soldering so it might not be within everyone’s capability.

NanoVNA-H* – a howto do firmware update using STM32CubeProgrammer

One of the many solutions for updating firmware on the NanoVNA-H* is using ST’s STM32CubeProgrammer.

It would seem that STM32CubeProgrammer deprecates the older DfuSe Demo utility… which remains available for download. Some online experts have inferred that the word Demo in the latter implies it is not the full quid… but they misunderstand the context.

Windows drivers

The two are kind of incompatible in that they use difference device drivers. If you set your machine up for one, it breaks the other until you switch the correct driver in.

STM32CubeProgrammer uses libusbk (or the like) whereas DfuSe Demo uses the STub30 driver.

Above is a dump of the driver properties in my working instance. Continue reading NanoVNA-H* – a howto do firmware update using STM32CubeProgrammer

Digital display for QRP labs 20W dummy load – part 1

The QRP labs 50-ohm 20W QRP HF Dummy Load is an inexpensive kit for a low power dummy load.

The load comprises 20 x 1W resistors, time will tell what its continuous power rating is actually.

This article explores a possible design for a digital display of power using the provided pads for a half wave detector.


Above, the supplied connector fails a gauge test (the female part sticks out 0.4mm+ (0.015+”) too much… I should have gauged it before assembling the thing.

RF performance

Above is a ReturnLoss plot from 1-100MHz, ReturnLoss is good below 60MHz, very good below 30MHz. Continue reading Digital display for QRP labs 20W dummy load – part 1

Digital display for Revex W560 directional wattmeter – part 1

The Revex W560 is a dual range VSWR meter that was also sold under other brand names.


The low frequency range is specified as 1.8-160MHz.

This project is for an external digital display to suit the low frequency band of the W560. Whilst this project is for a specific meter, the techniques are applicable more widely. Continue reading Digital display for Revex W560 directional wattmeter – part 1

How important is directional coupler Directivity?

How important is coupler Directivity?

Let’s discuss what the term means, and the uncertainty of measurement of DUT VSWR or ReturnLoss due to coupler Directivity.

Coupler performance parameters


Consider the above diagram, when terminated in a matched load, the key performance characteristics are: Continue reading How important is directional coupler Directivity?

AT-100 ATU Sontheimer coupler using a single binocular ferrite core

A reader of my recent article Sontheimer coupler – transformer issues and the follow up articles giving better transformer designs asked whether the coupler use in the popular AT-100 ATU wouldn’t be a good solution.

A quick Google search did not turn up any published design rationale or measurement data for the AT-100 coupler design.

The above circuit is from (Grebenkemper 1987) and is an embodiment of (Sontheimer 1966). In their various forms, this family of couplers have one or sometimes two transformers with their primary in shunt with the through line, and another which is in series with the through line to sense current. To achieve good Directivity, these transformers must be symmetric, nearly ideal, and they must be independent, ie no significant coupling between the transformers by magnetic or electric fields.

The AT-100 uses a Sontheimer coupler, they are very popular with ham users for perceived better performance, notably better Directivity over a wide frequency range. Continue reading AT-100 ATU Sontheimer coupler using a single binocular ferrite core

ISP programming of the (tr)uSDX – more on SPI

ISP programming of the (tr)uSDX (trusdx) showed that filtering on the MOSI pin in that kit distorted the MOSI signal significantly and suggested a workaround (reducing SCK rate) for reliable programming.

Some correspondence prompts a little more information on the nature of the ATmega328P ISCP signals.

The line protocol used is actually SPI, quite a common protocol.

ISP uses SPI MODE 0 (CPOL=0, CPHA=0), shift out on the falling edge of SCK, and capture input on the rising edge.

Let’s look at a three channel capture of SCK, MOSI and MISO of a AVRDUDE / USBasp driving an Arduino Nano.

The capture shows SCK at around 750kHz rate, the default (-B1) rate for AVRDUDE in this setup. Continue reading ISP programming of the (tr)uSDX – more on SPI

NanoVNA-H4 – battery charge from discharged

This article documents the charge cycle of a NanoVNA-H4 from fully discharged to charged.

The DUT is probably a ‘standard’ H4, but with Chinese sourced produce, you never, never know.

The original battery fitted to the NanoVNA-H v4.3 is a 804050 (8.0x40x50mm) 2000mAh LiPo pouch cell (1S) with protection board.

The charger chip is a TP4056, and it would appear to be limited by Rprog to about 0.75A (which includes the current drawn by the working NanoVNA-H4) (though the circuit employed would appear to tweak that limit between VNA on and off conditions with R44). The TP4056 is simply a charger chip, it will not prevent over-discharge of the cell so it is wise to use a cell with protection board (as originally supplied on the DUT).

Above is a plot of the calibrated battery voltage reported by the NanoVNA-H4. Continue reading NanoVNA-H4 – battery charge from discharged