Very Tiny Palmtop Vector Network Analyzer
Find a file
DiSlord 8a11eaa764 Extend scan command, now in have additional input variable (optional), allow more faster get measured data
usage: scan {start(Hz)} {stop(Hz)} [points] [outmask]
[outmask] - optional, allow output measured data, its a mask (allow dec, hex, bin, oct)
0b001 - output frequency
0b010 - output CH0 data
0b100 - output CH1 data
Example:
'scan 1000000 5000000 101 0b111' - output data in format: freq ch0[0] ch0[1] ch1[0] ch1[1]
'scan 1000000 5000000 101 0b101' - output data in format: freq ch1[0] ch1[1]
'scan 1000000 5000000 101 0x7'   - output data as 0b111
2020-03-14 16:05:26 +03:00
.circleci update golang 1.10 2019-09-14 20:15:27 +09:00
.vscode env: add debug conf for vscode 2020-03-08 19:56:37 +09:00
ChibiOS@669d4bbc8d revert chibios fix 2019-09-03 08:06:59 +09:00
doc add schematics, block diagram and pcb photo, update README.md 2017-02-03 21:25:02 +09:00
NANOVNA_STM32_F072 fix: board definition 2020-03-08 19:55:57 +09:00
python doc: update notebook example 2019-11-17 20:26:43 +09:00
.gdbinit add hard_fault handler 2017-01-22 13:03:40 +09:00
.gitignore env: ignore png files 2019-10-14 09:03:26 +09:00
.gitmodules env: replace git submodule url as http to prevent failure to fetch without github account 2019-09-26 09:06:43 +09:00
adc.c Not use float in vbat measure (faster, less size), yes get little error (but less then 1mV) 2020-03-14 15:21:26 +03:00
chconf.h Remove Mutex use (CH_CFG_USE_MUTEXES = FALSE), now all Mutex depend functions run in sweep thread 2020-03-12 19:53:58 +03:00
chprintf.c Merge branch 'master' into master 2020-02-25 06:35:06 +03:00
dsp.c Revert dsp changes, need more research 2020-03-09 10:28:33 +03:00
ffconf.h initial commit 2016-09-05 07:29:43 +09:00
fft.h Move offset variable to si5351.c (better use it as independent library) 2020-03-14 15:18:14 +03:00
flash.c Move more address constants to nanovna.h 2020-02-28 23:52:01 +03:00
Font5x7.c Increase screen render (in some cases up to 2x speedup), decrease stack usage (code size less on 1500 bytes) 2020-02-24 22:47:52 +03:00
halconf.h Disable HAL_USE_RTC usage (need for cmd_time) 2020-02-28 18:52:25 +03:00
ili9341.c In ili9341.c remove tabs, add palette mode blit function 2020-03-13 22:42:28 +03:00
main.c Extend scan command, now in have additional input variable (optional), allow more faster get measured data 2020-03-14 16:05:26 +03:00
Makefile env: clean Makefile 2020-03-08 20:03:54 +09:00
mcuconf.h si5351.c and si5351.h 2020-03-07 14:54:51 +03:00
nanovna.h Move offset variable to si5351.c (better use it as independent library) 2020-03-14 15:18:14 +03:00
numfont20x22.c Restore main thread stack size (stack usage code optimization give good result) 2020-02-26 23:30:50 +03:00
plot.c Move offset variable to si5351.c (better use it as independent library) 2020-03-14 15:18:14 +03:00
prog.sh initial commit 2016-09-05 07:29:43 +09:00
README.md Update README.md 2020-01-27 07:28:10 +09:00
si5351.c Move offset variable to si5351.c (better use it as independent library) 2020-03-14 15:18:14 +03:00
si5351.h Move offset variable to si5351.c (better use it as independent library) 2020-03-14 15:18:14 +03:00
STM32F072xB.ld add save and restore dac value in flash 2017-01-02 22:03:20 +09:00
tlv320aic3204.c Big work around si5351 generator 2020-03-05 22:36:44 +03:00
ui.c Implement color command, allow change color settings in config (enabled bu default ENABLE_COLOR_COMMAND) 2020-03-12 21:43:35 +03: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

GitHub release CircleCI

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

UPDATE: Recent gcc version works to build NanoVNA, no need old version.

MacOSX

Install cross tools and firmware updating tool.

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

Linux (ubuntu)

Download arm cross tools from here.

$ wget https://developer.arm.com/-/media/Files/downloads/gnu-rm/8-2018q4/gcc-arm-none-eabi-8-2018-q4-major-linux.tar.bz2
$ sudo tar xfj gcc-arm-none-eabi-8-2018-q4-major-linux.tar.bz2 -C /usr/local
$ PATH=/usr/local/gcc-arm-none-eabi-8-2018-q4-major/bin:$PATH
$ sudo apt install -y dfu-util

Fetch source code

Fetch source and submodule.

$ git clone https://github.com/ttrftech/NanoVNA.git
$ cd NanoVNA
$ git submodule update --init --recursive

Build

Just make in the directory.

$ make

Build firmware using docker

Using this docker image and without installing arm toolchain, you can build the firmware.

$ cd NanoVNA
$ docker run -it --rm -v $(PWD):/work edy555/arm-embedded:8.2 make

Flash firmware

First, make device enter DFU mode by one of following methods.

  • Jumper BOOT0 pin at powering device
  • Select menu Config->DFU (needs recent firmware)

Then, flash firmware using dfu-util via USB.

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

Or simply use make.

$ make flash

Companion Tools

There are seveal numbers of great companion PC tools from third-party.

Documentation

Reference

Note

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

Authorized Distributor

Credit

Contributors