|
|
|
@ -7,16 +7,17 @@ NanoVNA - Very tiny handheld Vector Network Analyzer
|
|
|
|
|
|
|
|
|
|
|
|
# About
|
|
|
|
# About
|
|
|
|
|
|
|
|
|
|
|
|
NanoVNA is very tiny handheld Vector Network Analyzer, works as
|
|
|
|
NanoVNA is very tiny handheld Vector Network Analyzer (VNA). It is
|
|
|
|
standalone, portable with battery and lcd display. This project aim
|
|
|
|
standalone with lcd display, portable device with battery. This
|
|
|
|
to provide an RF gadget but useful measuring tool for enthusiast.
|
|
|
|
project aim to provide an RF gadget but useful instrument for
|
|
|
|
|
|
|
|
enthusiast.
|
|
|
|
|
|
|
|
|
|
|
|
This repository contains source of NanoVNA firmware.
|
|
|
|
This repository contains source of NanoVNA firmware.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Prepare ARM Cross Tools
|
|
|
|
## Prepare ARM Cross Tools
|
|
|
|
|
|
|
|
|
|
|
|
Install cross tools and dfu-util.
|
|
|
|
Install cross tools and firmware updating tool.
|
|
|
|
|
|
|
|
|
|
|
|
$ brew tap PX4/px4
|
|
|
|
$ brew tap PX4/px4
|
|
|
|
$ brew install gcc-arm-none-eabi
|
|
|
|
$ brew install gcc-arm-none-eabi
|
|
|
|
@ -26,29 +27,33 @@ Otherwise, use toolchains included inside LPCxpresso. Like this.
|
|
|
|
|
|
|
|
|
|
|
|
$ PATH=$PATH:/Applications/lpcxpresso_7.8.0_426/lpcxpresso/tools/bin
|
|
|
|
$ PATH=$PATH:/Applications/lpcxpresso_7.8.0_426/lpcxpresso/tools/bin
|
|
|
|
|
|
|
|
|
|
|
|
## Building firmware
|
|
|
|
## Build the firmware
|
|
|
|
|
|
|
|
|
|
|
|
Fetch ChibiOS submodule into tree.
|
|
|
|
Fetch ChibiOS submodule into tree.
|
|
|
|
|
|
|
|
|
|
|
|
$ cd nanovna
|
|
|
|
$ cd nanovna
|
|
|
|
$ git submodule update --init --recursive
|
|
|
|
$ git submodule update --init --recursive
|
|
|
|
|
|
|
|
|
|
|
|
Enter firmware directory and make it.
|
|
|
|
Just make in the top directory.
|
|
|
|
|
|
|
|
|
|
|
|
$ make
|
|
|
|
$ make
|
|
|
|
|
|
|
|
|
|
|
|
## Burn it
|
|
|
|
## Burn the firmware
|
|
|
|
|
|
|
|
|
|
|
|
Boot MCU in DFU mode. To do this, jumper BOOT0 pin at powering on.
|
|
|
|
Boot MCU in DFU mode. To do this, jumper BOOT0 pin at powering device.
|
|
|
|
And then, burn firmware using dfu-util via USB.
|
|
|
|
Then, burn firmware using dfu-util via USB.
|
|
|
|
|
|
|
|
|
|
|
|
$ dfu-util -d 0483:df11 -a 0 -s 0x08000000:leave -D build/ch.bin
|
|
|
|
$ dfu-util -d 0483:df11 -a 0 -s 0x08000000:leave -D build/ch.bin
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Control NanoVNA from Host PC
|
|
|
|
# Control from PC
|
|
|
|
|
|
|
|
|
|
|
|
NanoVNA is able to work standalone, but also be controlled from host
|
|
|
|
NanoVNA is able to work standalone, but also be controlled via USB serial interface from PC. There are sample scripts in python directory.
|
|
|
|
PC. python folder contains some sample scripts to control NanoVNA.
|
|
|
|
|
|
|
|
|
|
|
|
Preparation.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$ pip install numpy
|
|
|
|
|
|
|
|
$ pip install scikit-rf
|
|
|
|
|
|
|
|
|
|
|
|
Plot reflection LOGMAG.
|
|
|
|
Plot reflection LOGMAG.
|
|
|
|
|
|
|
|
|
|
|
|
@ -67,6 +72,14 @@ Show usage.
|
|
|
|
|
|
|
|
|
|
|
|
$ ./nanovna.py -h
|
|
|
|
$ ./nanovna.py -h
|
|
|
|
|
|
|
|
|
|
|
|
To use nanovna module in Jupyter, see [this page](/python/NanoVNA-example.ipynb).
|
|
|
|
To use NanoVNA from Jupyter notebook, see [this page](/python/NanoVNA-example.ipynb).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Reference
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* [Schematics](/doc/nanovna-sch.pdf)
|
|
|
|
|
|
|
|
* [PCB Photo](/doc/nanovna-pcb-photo.jpg)
|
|
|
|
|
|
|
|
* [Block Diagram](/doc/nanovna-blockdiagram.png)
|
|
|
|
|
|
|
|
* Kit available from http://ttrftech.tumblr.com/kit/nanovna
|
|
|
|
|
|
|
|
* Credit: @edy555
|
|
|
|
|
|
|
|
|
|
|
|
[EOF]
|
|
|
|
[EOF]
|
|
|
|
|