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 49f3a9c914
feat: add bandwidth setting of detector
6 years ago
.circleci update golang 1.10 6 years ago
.vscode env: add tasks.json for vscode 6 years ago
ChibiOS@669d4bbc8d revert chibios fix 6 years ago
NANOVNA_STM32_F072 move `enter dfu` to submenu of config 6 years ago
doc add schematics, block diagram and pcb photo, update README.md 9 years ago
python doc: update notebook example 6 years ago
.gdbinit add hard_fault handler 9 years ago
.gitignore env: ignore png files 6 years ago
.gitmodules env: replace git submodule url as http to prevent failure to fetch without github account 6 years ago
Font5x7.c font: add delta symbol 6 years ago
Makefile chore: reduce foot-print of numfont20x24 6 years ago
README.md Fixed tar extract command 6 years ago
STM32F072xB.ld add save and restore dac value in flash 9 years ago
adc.c show battery indicator (requires implementing D2 on board) 6 years ago
chconf.h static inline reduce stack memory usage 6 years ago
dsp.c feat: add bandwidth setting of detector 6 years ago
ffconf.h initial commit 9 years ago
fft.h fix #92 : 'for' loop initial declarations 6 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 feat: add feedback of lever mode 6 years ago
main.c feat: add bandwidth setting of detector 6 years ago
mcuconf.h change adc driver not to use chibios hal 9 years ago
nanovna.h feat: add bandwidth setting of detector 6 years ago
numfont20x22.c chore: reduce foot-print of numfont20x24 6 years ago
plot.c feat: add marker tracking 6 years ago
prog.sh initial commit 9 years ago
si5351.c fix: remove upper limit of signed int32 for frequency setting 6 years ago
si5351.h add argument rdiv in si5351 setupMultisynth 9 years ago
tlv320aic3204.c chore: update codec control 6 years ago
ui.c feat: add bandwidth setting of detector 6 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

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

Powered by TurnKey Linux.