tiny Spectrum Analyzer
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Go to file
TT b1e07a858a
env: update .gitignore
6 years ago
.vscode env: add vscode configulation 6 years ago
ChibiOS@fe0ba1049c use static buffer but stack buffer in chvprintf 9 years ago
NANOVNA_STM32_F072 initial commit 9 years ago
doc add schematics, block diagram and pcb photo, update README.md 9 years ago
python set scale and refpos temporally 9 years ago
.gdbinit add hard_fault handler 9 years ago
.gitignore env: update .gitignore 6 years ago
.gitmodules import ChibiOS as submodule 9 years ago
Font5x7.c add menu item of marker all off 9 years ago
Makefile re-enable dump command 9 years ago
README.md doc: fix spell 6 years ago
STM32F072xB.ld add save and restore dac value in flash 9 years ago
adc.c arrange code, add notice at head of each file 9 years ago
chconf.h omit unused chibios features from chconf.h 9 years ago
dsp.c add interpolation on cal 8 years ago
ffconf.h initial commit 9 years ago
flash.c add interpolation on cal 8 years ago
halconf.h change adc driver not to use chibios hal 9 years ago
ili9341.c omit unused code 9 years ago
main.c feat: add controling stimulus power and gain by frequency 6 years ago
mcuconf.h change adc driver not to use chibios hal 9 years ago
nanovna.h add numeric input support scale and electrical delay 8 years ago
numfont20x24.c feat: add 'n', 'p' and pad symbol 6 years ago
plot.c fix: sign failure on impedance calculation 6 years ago
prog.sh initial commit 9 years ago
si5351.c feat: add controling stimulus power and gain by frequency 6 years ago
si5351.h add argument rdiv in si5351 setupMultisynth 9 years ago
si5351_low.c arrange code, add notice at head of each file 9 years ago
tlv320aic3204.c feat: enable adc post band pass filter 6 years ago
ui.c WIP: up/down touch operation on numeric area 8 years ago
usbcfg.c initial commit 9 years ago
usbcfg.h initial commit 9 years ago

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. 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]

Powered by TurnKey Linux.