Very Tiny Palmtop Vector Network Analyzer
Find a file
2019-08-11 10:47:48 +09:00
.circleci fix: artifacts path of CI 2019-08-11 10:47:48 +09:00
.vscode env: add vscode configulation 2019-08-10 13:19:33 +09:00
ChibiOS@fe0ba1049c use static buffer but stack buffer in chvprintf 2017-01-22 13:33:00 +09:00
doc add schematics, block diagram and pcb photo, update README.md 2017-02-03 21:25:02 +09:00
NANOVNA_STM32_F072 initial commit 2016-09-05 07:29:43 +09:00
python env: update for python3 2019-08-10 13:28:45 +09:00
.gdbinit add hard_fault handler 2017-01-22 13:03:40 +09:00
.gitignore env: update .gitignore 2019-08-10 13:28:33 +09:00
.gitmodules fix: correct branch of submodule ChibiOS 2019-08-11 09:48:01 +09:00
adc.c arrange code, add notice at head of each file 2017-01-01 20:03:21 +09:00
chconf.h omit unused chibios features from chconf.h 2017-01-22 13:07:49 +09:00
dsp.c omit: unused buffer refiq 2019-08-10 14:13:56 +09:00
ffconf.h initial commit 2016-09-05 07:29:43 +09:00
flash.c add interpolation on cal 2017-09-15 22:13:17 +09:00
Font5x7.c add menu item of marker all off 2017-01-02 16:59:10 +09:00
halconf.h change adc driver not to use chibios hal 2016-12-17 13:16:56 +09:00
ili9341.c omit unused code 2017-01-15 23:24:29 +09:00
main.c omit: unused buffer refiq 2019-08-10 14:13:56 +09:00
Makefile re-enable dump command 2017-01-22 13:34:01 +09:00
mcuconf.h change adc driver not to use chibios hal 2016-12-17 13:16:56 +09:00
nanovna.h ui: add pad icon, electrical delay unit 2019-08-10 14:15:35 +09:00
numfont20x24.c feat: add 'n', 'p' and pad symbol 2019-08-10 13:18:03 +09:00
plot.c fix: sign failure on impedance calculation 2019-08-10 13:16:17 +09:00
prog.sh initial commit 2016-09-05 07:29:43 +09:00
README.md doc: fix spell 2019-08-10 13:16:32 +09:00
si5351.c feat: add controling stimulus power and gain by frequency 2019-08-10 13:04:48 +09:00
si5351.h add argument rdiv in si5351 setupMultisynth 2017-02-02 05:18:29 +09:00
si5351_low.c arrange code, add notice at head of each file 2017-01-01 20:03:21 +09:00
STM32F072xB.ld add save and restore dac value in flash 2017-01-02 22:03:20 +09:00
tlv320aic3204.c feat: enable adc post band pass filter 2019-08-10 13:05:59 +09:00
ui.c ui: add pad icon, electrical delay unit 2019-08-10 14:15:35 +09:00
usbcfg.c initial commit 2016-09-05 07:29:43 +09:00
usbcfg.h initial commit 2016-09-05 07:29:43 +09:00

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. gcc-4.9 is required.

$ brew tap px4/px4
$ brew install gcc-arm-none-eabi-49
$ brew install 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.

Note

Hardware design material is disclosed to prevent bad quality clone. Please let me know if you would have your own unit.

Reference

[EOF]