Very Tiny Palmtop Vector Network Analyzer
Find a file
2019-08-24 20:27:16 +09:00
.circleci ci: remove CIRCLE_TAG from build job 2019-08-24 11:30:52 +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 script: add requirements.txt and usage to capture in README 2019-08-24 11:30:26 +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 gain adjust for frequency 2019-08-12 20:53:49 +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 view: add left arrow on menu items 2019-08-11 23:30:41 +09:00
halconf.h change adc driver not to use chibios hal 2016-12-17 13:16:56 +09:00
ili9341.c implement capture command 2019-08-23 02:07:22 +09:00
main.c Add REAL IMAG R X trace format 2019-08-24 07:45:53 +09:00
Makefile use newlib-nano to saving sram usage of impure_data 2019-08-24 20:27:16 +09:00
mcuconf.h change adc driver not to use chibios hal 2016-12-17 13:16:56 +09:00
nanovna.h Add REAL IMAG R X trace format 2019-08-24 07:45:53 +09:00
numfont20x24.c feat: add 'n', 'p' and pad symbol 2019-08-10 13:18:03 +09:00
plot.c Add REAL IMAG R X trace format 2019-08-24 07:45:53 +09:00
prog.sh initial commit 2016-09-05 07:29:43 +09:00
README.md doc: separate python README 2019-08-18 10:48:27 +09:00
si5351.c feat: adjust gain and frequency band, enpower LO drive strength. 2019-08-12 23:07:10 +09:00
si5351.h add argument rdiv in si5351 setupMultisynth 2017-02-02 05:18:29 +09:00
STM32F072xB.ld add save and restore dac value in flash 2017-01-02 22:03:20 +09:00
tlv320aic3204.c fix: omit adc filter 2019-08-16 05:30:55 +09:00
ui.c Add REAL IMAG R X trace format 2019-08-24 07:45:53 +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

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

Requires gcc-4.9 to build firmware from source code. (Not work gcc-5.4 or lator, because of SRAM shortage that those runtime use more SRAM)

MacOSX

Install cross tools and firmware updating tool.

$ 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

Linux (ubuntu)

Download arm cross tools from here. This version is 32-bit binary, so additional lib32z1 and lib32ncurses5 package required.

$ wget https://launchpad.net/gcc-arm-embedded/4.9/4.9-2015-q3-update/+download/gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar.bz2
$ sudo tar xfj -C /usr/local gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar.bz2
$ PATH=/usr/local/gcc-arm-none-eabi-4_9-2015q3/bin:$PATH
$ sudo apt install -y lib32z1 lib32ncurses5
$ 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

If you can use docker, you can build firmware without installing arm toolchain.

$ cd NanoVNA
$ docker run -it --rm -v $(PWD):/work edy555/arm-embedded 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

See python directory.

Note

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

Reference

[EOF]