Skip to content
Very Tiny Handheld Vector Network Analyzer
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ChibiOS @ fe0ba10 use static buffer but stack buffer in chvprintf Jan 22, 2017
NANOVNA_STM32_F072 initial commit Sep 4, 2016
doc add schematics, block diagram and pcb photo, update README.md Feb 3, 2017
python set scale and refpos temporally Jan 17, 2017
.gdbinit add hard_fault handler Jan 22, 2017
.gitignore initial commit Sep 4, 2016
.gitmodules import ChibiOS as submodule Jan 14, 2017
Font5x7.c add menu item of marker all off Jan 2, 2017
Makefile re-enable dump command Jan 22, 2017
README.md update marker position on sweep frequency change Sep 17, 2017
STM32F072xB.ld add save and restore dac value in flash Jan 2, 2017
adc.c arrange code, add notice at head of each file Jan 1, 2017
chconf.h omit unused chibios features from chconf.h Jan 22, 2017
dsp.c add interpolation on cal Sep 15, 2017
ffconf.h initial commit Sep 4, 2016
flash.c add interpolation on cal Sep 15, 2017
halconf.h change adc driver not to use chibios hal Dec 17, 2016
ili9341.c omit unused code Jan 15, 2017
main.c WIP: up/down touch operation on numeric area Oct 1, 2017
mcuconf.h change adc driver not to use chibios hal Dec 17, 2016
nanovna.h add numeric input support scale and electrical delay Sep 30, 2017
numfont20x24.c add keypad for freq and scale, add save menu Dec 4, 2016
plot.c add numeric input (WIP) Sep 30, 2017
prog.sh initial commit Sep 4, 2016
si5351.c expand frequency range 40kHz Feb 1, 2017
si5351.h add argument rdiv in si5351 setupMultisynth Feb 1, 2017
si5351_low.c arrange code, add notice at head of each file Jan 1, 2017
tlv320aic3204.c implemented correlation detection, worked, but no good result Jan 26, 2017
ui.c WIP: up/down touch operation on numeric area Oct 1, 2017
usbcfg.c initial commit Sep 4, 2016
usbcfg.h initial commit Sep 4, 2016

README.md

NanoVNA - Very tiny handheld Vector Network Analyzer

About

NanoVNA is very tiny handheld Vector Network Analyzer (VNA). It is standalone with lcd display, portable device with battery. This project aim to provide an RF gadget but useful instrument for enthusiast.

This repository contains source of NanoVNA firmware.

Prepare ARM Cross Tools

Install cross tools and firmware updating tool.

$ brew tap PX4/px4
$ brew install gcc-arm-none-eabi
$ brew instal dfu-util

Otherwise, use toolchains included inside LPCxpresso. Like this.

$ PATH=$PATH:/Applications/lpcxpresso_7.8.0_426/lpcxpresso/tools/bin

Build firmware

Fetch ChibiOS submodule into tree.

$ cd nanovna
$ git submodule update --init --recursive

Just make in the top directory.

$ make

Flash firmware

Boot MCU in DFU mode. To do this, jumper BOOT0 pin at powering device. Then, burn firmware using dfu-util via USB.

$ dfu-util -d 0483:df11 -a 0 -s 0x08000000:leave -D build/ch.bin

Control from PC

NanoVNA is able to work standalone, but also be controlled via USB serial interface from PC. There are sample scripts in python directory.

Preparation.

$ pip install numpy
$ pip install scikit-rf   

Plot reflection LOGMAG.

$ cd python
$ ./nanovna.py -p

Plot transmission LOGMAG.

$ ./nanovna.py -p -P 1

Plot smithchart.

$ ./nanovna.py -s

Show usage.

$ ./nanovna.py -h

To use NanoVNA from Jupyter notebook, see this page.

Reference

[EOF]

You can’t perform that action at this time.