Skip to content

cho45/NanoVNA-Web-Client

Repository files navigation

NanoVNA-Web-Client

Very alpha version.

https://cho45.stfuawsc.com/NanoVNA/

NanoVNA interface implementation with WebUSB.

Usage

RUN with WebSerial

WebSerial is more experimental feature than WebUSB on Google Chrome. But it may resolve driver issues around WebUSB.

  1. Enable flag: chrome://flags/#enable-experimental-web-platform-features
  2. Access to https://cho45.stfuawsc.com/NanoVNA/ .
  3. Connect your NanoVNA to USB port.
  4. Click [CONNECT] and select the device.

RUN with WebUSB

  1. Access to https://cho45.stfuawsc.com/NanoVNA/ .
  2. Connect your NanoVNA to USB port.
  3. Click [CONNECT] and select the device.

Some OSes are additional requirements:

Requirements

macOS

no requirements

Android

Connect device via USB OTG connector. (Type-C to Type-C cable may not be usable. I recommend using USB-A OTG adapter.)

Linux (Ubuntu)

Copy 99-nanovna.rules to your /etc/udev/rules.d.

BE CAREFUL: This rule disables cdc_acm driver for all STM32CDC devices (vid:0x0483, pid:0x5740). So, If you want to use device as usb cdc device, you must remove this file again.

Windows

Replace driver with Zadig.

Screenshots

Connect via USB OTG connector.

Build

This project uses Rust partially for DSP.

Install some tools

and install build tools as following:

$ cargo install wasm-pack
$ cargo install --force cargo-make

See also Compiling from Rust to WebAssembly

Android App

Install

Play Store: https://play.google.com/store/apps/details?id=net.lowreal.nanovnawebapp

Install latest nightly

https://github.com/cho45/NanoVNA-Web-Client/releases/tag/latest

Download *.apk from your android.

notes:

  • Uninstall release build before installing lastest nightly.

Open with Android Studio

$ make cap
$ npx cap open android

(relen)

  • Edit android/app/build.gradle and increment version
  • commit version
  • tag version
  • Build -> Generate Signed Bundle / APK
  • Android Build Bundle