The following is what another user wrote:
// Begin Quote //
There are two ways to update firmware: DFU and ST-LINK. So, it depends on what method you're want to use.
1) DFU update. This is simple but not reliable way. If something will going wrong, you may brick your NanoVNA with this method and the only way to restore it is to update firmware with the second method. DFU method doesn't requires any special hardware and you can update it just through USB.
For DFU method, you will need the file with DFU extension: e.g. "nanoVNA_900_ch_20190920.dfu"
In order to upload it into NanoVNA you will need DfuSe software.
You will need to power-off your NanoVNA, connect USB to PC, short BOOT jumper with tweezers and power on NanoVNA. It will be booted in DFU mode. The display will be white. Now you can release BOOT jumper and then use DfuSE Demo tool to upload firmware file into NanoVNA.
2) ST-LINK update. This is native and reliable way. But it requires a ST-LINKv2 dongle. This dongle allows to flash even bricked device and also allows to use in-circuit debugging.
For ST-LINK update, you will need the file with HEX or BIN (any of these) extension: e.g. "nanoVNA_900_ch_20190920.hex"
In order to upload it into NanoVNA you will need ST-LINK Utility software.
You will need to connect ST-LINK to NanoVNA with 4 wires:
- 3.3V to VDD,
- GND to GND,
- SWDIO to SWDIO,
- SWCLK to SWCLK
There is no need to solder, you can just connect wires to the pads and press it with finger during upload. Then you will need to use ST-LINK Utility tool with the following memory parameters:
- Address: 0x08000000
- Size: 0x20000
- Data Width: 8 bits
I strongly recommend to save your current firmware before update. Just in case. Both software tools allows it. "
// End Quote//
After having read the above, I bought a second nanoVNA and use it as a sacrificial device when trying upgrades. I haven't had any problems upgrading with DFUSe Demo through USB, but I'm prepared in-case Murphy decides to pay me a visit.