NanoVNA/README.md

108 lines
2.8 KiB
Markdown
Raw Normal View History

NanoVNA - Very tiny handheld Vector Network Analyzer
2017-01-18 16:36:55 +01:00
==========================================================
2019-08-11 03:48:09 +02:00
[![GitHub release](http://img.shields.io/github/release/ttrftech/NanoVNA.svg?style=flat)][release]
[![CircleCI](https://circleci.com/gh/ttrftech/NanoVNA.svg?style=shield)](https://circleci.com/gh/ttrftech/NanoVNA)
[release]: https://github.com/ttrftech/NanoVNA/releases
<div align="center">
<img src="/doc/nanovna.jpg" width="480px">
</div>
2017-01-18 16:36:55 +01:00
# 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.
2017-01-18 16:36:55 +01:00
This repository contains source of NanoVNA firmware.
## Prepare ARM Cross Tools
2019-09-14 04:50:22 +02:00
**UPDATE**: Recent gcc version works to build NanoVNA, no need old version.
### MacOSX
Install cross tools and firmware updating tool.
2017-01-18 16:36:55 +01:00
2019-07-21 00:00:35 +02:00
$ brew tap px4/px4
2019-09-14 04:50:22 +02:00
$ brew install gcc-arm-none-eabi-80
2019-08-10 06:16:32 +02:00
$ brew install dfu-util
2017-01-18 16:36:55 +01:00
### Linux (ubuntu)
2019-09-14 04:50:22 +02:00
Download arm cross tools from [here](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads).
2019-09-14 04:50:22 +02:00
$ 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
2017-01-18 16:36:55 +01:00
Fetch source and submodule.
2017-01-18 16:36:55 +01:00
$ git clone https://github.com/ttrftech/NanoVNA.git
$ cd NanoVNA
2017-01-18 16:36:55 +01:00
$ git submodule update --init --recursive
## Build
Just make in the directory.
2017-01-18 16:36:55 +01:00
$ make
### Build firmware using docker
2019-09-14 04:50:22 +02:00
Using [this docker image](https://cloud.docker.com/u/edy555/repository/docker/edy555/arm-embedded) without installing arm toolchain.
$ cd NanoVNA
2019-09-14 04:50:22 +02:00
$ docker run -it --rm -v $(PWD):/work edy555/arm-embedded:8.2 make
## Flash firmware
2017-01-18 16:36:55 +01:00
2019-09-14 04:50:22 +02:00
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.
2017-01-18 16:36:55 +01:00
$ dfu-util -d 0483:df11 -a 0 -s 0x08000000:leave -D build/ch.bin
2019-09-14 04:50:22 +02:00
Or simply use make.
2019-08-27 14:22:35 +02:00
$ make flash
2017-01-18 16:36:55 +01:00
2019-08-10 06:16:32 +02:00
## Control from PC
2017-01-18 16:36:55 +01:00
2019-08-18 03:48:27 +02:00
See [python directory](/python/README.md).
2019-07-21 00:00:35 +02:00
## Note
Hardware design material is disclosed to prevent bad quality clone. Please let me know if you would have your own unit.
## Reference
* [Schematics](/doc/nanovna-sch.pdf)
* [PCB Photo](/doc/nanovna-pcb-photo.jpg)
* [Block Diagram](/doc/nanovna-blockdiagram.png)
2019-07-21 00:00:35 +02:00
* Kit available from https://ttrf.tk/kit/nanovna
2019-09-14 04:54:07 +02:00
2019-10-13 00:04:51 +02:00
## Authorized Distributor
* [Nooelec](https://www.nooelec.com/store/nanovna-bundle.html)
2019-09-14 04:54:07 +02:00
## Credit
* [@edy555](https://github.com/edy555)
### Contributors
* [@hugen79](https://github.com/hugen79)
* [@cho45](https://github.com/cho45)