Skip to content
NanoVNA based on edy555, use the odd harmonic extension of si5351 to support the measurement frequency up to 900MHz.
C Objective-C C++ Makefile
Branch: master
Clone or download
hugen79 1.linear格式绝对值显示;The absolute value of the linear format is displayed;
2.si5351默认8mA输出;Si5351 default 8mA output;
3.AA版本显示4条迹线。The AA version shows 4 traces.
Latest commit e04d3af Nov 25, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ChibiOS @ 669d4bb 1.由于mcu vbat口高阻,肖特基二极管的压降可以忽略,修改电压adc; Sep 20, 2019
NANOVNA_STM32_F072 修改dfu地址为gcc格式; Nov 14, 2019
doc
.cproject 1.同步edy555最新版本,但没有禁用函数内联,因此flash空间不够,Version界面少显示点内容,TDR模式显示两个Mark点功能… Oct 18, 2019
.gitmodules
.project 同步edy555最新代码,包含TDR功能,包含电池显示(之前发货版本D2未安装,电池显示需要自行安装二极管),包含截图功能…… Sep 20, 2019
Font5x7.c 使用了qrp73的nanoVNA-Q的代码,si5351和aic3204的驱动更合理,通过判断si5351锁定转态比简单的设定一个延迟更加… Nov 14, 2019
Font7x13b.c
Makefile 使用了qrp73的nanoVNA-Q的代码,si5351和aic3204的驱动更合理,通过判断si5351锁定转态比简单的设定一个延迟更加… Nov 14, 2019
NanoVNA_DAP.cfg 同步edy555最新代码,包含TDR功能,包含电池显示(之前发货版本D2未安装,电池显示需要自行安装二极管),包含截图功能…… Sep 20, 2019
README.md
STM32F072xB.ld 1.同步edy555最新代码,由于已经可以使用命令设置谐波切换点来,不再编译800MHz版本; Oct 8, 2019
STM32F072xB_AA.ld 1.同步edy555最新代码,由于已经可以使用命令设置谐波切换点来,不再编译800MHz版本; Oct 8, 2019
adc.c 使用了qrp73的nanoVNA-Q的代码,si5351和aic3204的驱动更合理,通过判断si5351锁定转态比简单的设定一个延迟更加… Nov 14, 2019
chconf.h
dsp.c
ffconf.h nanovna_900 Apr 4, 2019
fft.h 1.同步edy555最新版本,但没有禁用函数内联,因此flash空间不够,Version界面少显示点内容,TDR模式显示两个Mark点功能… Oct 18, 2019
flash.c AA版本字符位置修正。 Nov 14, 2019
halconf.h
ili9341.c 使用了qrp73的nanoVNA-Q的代码,si5351和aic3204的驱动更合理,通过判断si5351锁定转态比简单的设定一个延迟更加… Nov 14, 2019
main.c
mcuconf.h 使用了qrp73的nanoVNA-Q的代码,si5351和aic3204的驱动更合理,通过判断si5351锁定转态比简单的设定一个延迟更加… Nov 14, 2019
nanovna.h 1.linear格式绝对值显示;The absolute value of the linear format is displayed; Nov 25, 2019
numfont20x22.c
numfont20x24.c
plot.c
prog.sh nanovna_900 Apr 4, 2019
si5351.c AA版本字符位置修正。 Nov 14, 2019
si5351.h 使用了qrp73的nanoVNA-Q的代码,si5351和aic3204的驱动更合理,通过判断si5351锁定转态比简单的设定一个延迟更加… Nov 14, 2019
tlv320aic3204.c 使用了qrp73的nanoVNA-Q的代码,si5351和aic3204的驱动更合理,通过判断si5351锁定转态比简单的设定一个延迟更加… Nov 14, 2019
ui.c
usbcfg.c nanovna_900 Apr 4, 2019
usbcfg.h

README.md

NanoVNA - Very tiny handheld Vector Network Analyzer

DIY的矢量网络分析仪,原项目地址https://github.com/ttrftech/NanoVNA,修改了部分电路,增加了电池管理电路,重新设计了PCB。改进了的频率算法,可以利用si5351的奇次谐波扩展支持到900MHz的测量频率,设计了金属屏蔽片,可以减少外部干扰提高测量精度,si5351直接输出的50K-300MHz频段提供优于70dB的动态,扩展的300M-600MHz波段可以提供优于50dB的动态,600M-900M波段优于40dB的动态。 起先我在38hot分享我的修改,但是后来抄板的商家无耻的宣称是他们自己修改了设计,我非常气愤,并一度暂停了相关的分享,现在重新把修改后的代码分享到github,希望这样能够方便参与改进NanoVNA的爱好者,而不是那些粗制滥造的抄板者。 我在gen111.taobao.com出售安装完整的NanoVNA,如果您是海外用户,您可以通过alibaba购买我制作的硬件。您也可以自己参考原理图设计您自己的PCB,需要指出的是模拟电路部分屏蔽与隔离都是重要的,电桥部分是经过严格匹配的,如果你需要使用谐波扩展300M以上测量需要尤为注意。在网络商发现的一些克隆品为了简化安装都错误的进行了修改,这样做是可能导致800M左右的动态小于20dB,失去了测了测量的意义。 另外设计了简单实用的PC控制软件NanoVNASharp,可以通过PC端软件导出Touchstone(snp)文件用于各种无线电设计和仿真软件,NanoVNASharp是一个单独的项目,暂无开源计划。

We remade NanoVNA based on edy555 (https://github.com/ttrftech/NanoVNA) , but modified some circuits, added battery management circuits, and redesigned the PCB. The improved frequency algorithm can use the odd harmonic extension of si5351 to support the measurement frequency up to 900MHz. The metal shield is designed to reduce the external interference and improve the measurement accuracy. The 50k-300MHz frequency range of the si5351 direct output provides better than 70dB dynamic. The extended 300M-600MHz band provides better than 50dB of dynamics, and the 600M-900M band is better than 40dB of dynamics. I share my changes on the forum(http://bbs.38hot.net/thread-756047-1-1.html) and provide the original code to users who have purchased my hardware. But a bad clone appeared and claimed to have made improvements by themselves. I was very angry and once suspended the relevant sharing. Now I will share the modified code to github, hoping to participate in the improvement of NanoVNA enthusiasts. Not those bad clones. I'm selling the full NanoVNA at gen111.taobao.com, if you are an overseas user, you can purchase the hardware I made through alibaba. you can also design your own PCB by reference schematic, it should be noted that analog circuit partial shielding and isolation are important, the bridge part is strictly matched, if you need to use harmonic extension 300M or more measurements need to pay special attention. Some clones found in the network have been modified incorrectly in order to simplify the installation, which may result in a dynamic of about 800M less than 20dB, which has lost the significance of measuring. NanoVNASharp is a PC control software can export Touchstone (snp) files which can be used for various radio design and simulation software. NanoVNASharp is a separate project with no open source plans.

编译

Build firmware

It is recommended to compile with gcc-arm-none-eabi 8, and exceptions may occur with other versions of the compiler. Please sync the CibiOS submodule before compiling.

$ git submodule update --init --recursive

MacOSX

Install cross tools and firmware updating tool.

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

Linux

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 -C /usr/local gcc-arm-none-eabi-8-2018-q4-major-linux.tar.bz2
$ PATH=/usr/local/gcc-arm-none-eabi-8-2018-q4-major/bin:$PATH
$ sudo apt install -y dfu-util

Normal version

$ make

AA version

$ make ANTENNA_ANALYZER=YES

Windows

Follow these instructionsto install gnu-mcu-eclipse.

Existing Code as Makefile Projiect. Project > Properties > C/C++ Build > Setting: Confirm that Toolchains is "GNU MCU Eclipse ARM Embedded GCC (arm-none-eabi-gcc)"

Project > Properties > C/C++ Build > Tool Chain Editor:

Current toolchain: ARM Cross GCC
Current builder: Gnu Make Builder

Normal version

just Build Project.

AA version

Project > Properties > C/C++ Build > Environment >Add:

Name: ANTENNA_ANALYZER
Value: YES

Build Project.

Debug use Eclipse + cmsis-dap +openocd

Debugger Configurations > GBD OpenOCD Debugging, Double click to create a new setting, Select “Debugger“ label, add config option.

-f NanoVNA_DAP.cfg

感谢edy555创建了这个项目,所有软件版权归edy555所有。 Thanks to edy555 for creating this project, all software copyrights are owned by edy555 https://github.com/ttrftech/NanoVNA; 感谢cho45对项目做出重大改进。 Thanks to cho45 for making major improvements to the project. https://github.com/cho45/NanoVNA

以下为原项目自述

The following is the original project readme

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 -C /usr/local gcc-arm-none-eabi-8-2018-q4-major-linux.tar.bz2
$ 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 without installing arm toolchain.

$ 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

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

Credit

Contributors

You can’t perform that action at this time.