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
erikkaashoek f16e790389
Fixed a crash when a band frequency went below 0 Hz, e.g. SPAN on a new band: the frequency printer wrote past its buffer for values from 1 THz (issue #175)
4 days ago
.circleci update golang 1.10 7 years ago
.settings SAVE_STATE and LOAD DEFAULTS 4 years ago
.vscode style: uniform code style and untabify 7 years ago
ChibiOS@0cfe7f5285 fix: USB serial ZLP, shell locking and wrap-safe button repeat 2 months ago
FatFs Add option use or not string lib for fatFS 6 years ago
NANOVNA_STM32_F072 Implement unresponsive tinySA reboot using WDG 3 years ago
NANOVNA_STM32_F303 fix: 'reset dfu' on the tinySA ULTRA 1 month ago
doc Doc update 7 years ago
python Python updated 5 years ago
.clang-format style: uniform code style and untabify 7 years ago
.cproject SD card repair 11 months ago
.gdbinit add hard_fault handler 10 years ago
.gitignore table updates 2 years ago
.gitmodules env: replace git submodule url as http to prevent failure to fetch without github account 7 years ago
.project Individual ref markers 6 years ago
Font5x7.c Squashed commit of the following: 4 years ago
Font7x13b.c zero strike removed and listen in preset 4 years ago
Font10x14.c zero strike removed and listen in preset 4 years ago
Makefile build: reject unknown firmware targets 2 weeks ago
README.md Add firmware update from the SD card (tinySA ULTRA) 2 months ago
STM32F072xB.ld more flash for tinySA3 5 years ago
STM32F303xC.ld fix: SDSC card size, browser stack use and firmware update build checks 2 months ago
changelog.txt Changelog: V1.4290 P2 issues #141 #107 #122 1 week ago
chconf.h tinySA Basic compatible 1 year ago
chprintf.c Fixed a crash when a band frequency went below 0 Hz, e.g. SPAN on a new band: the frequency printer wrote past its buffer for values from 1 THz (issue #175) 4 days ago
flash.c Config: clear the 1 kHz tone option read from an old sd_icon_save byte 1 week ago
fw_update.c fix: SDSC card size, browser stack use and firmware update build checks 2 months ago
fw_update.h Add firmware update from the SD card (tinySA ULTRA) 2 months ago
hal_adc_lld.c Initial commit for H4 tinySA version 6 years ago
halconf.h fix: USB serial ZLP, shell locking and wrap-safe button repeat 2 months ago
ili9341.c No white flash at power-on on the tinySA ULTRA (ZS405) 2 weeks ago
import.bat import script 6 years ago
main.c Version screen: copyright 2026, aligned thread table (issue #93) 2 weeks ago
mcuconf.h Move mcuconf.h files to board/CPU folder 6 years ago
nanovna.h SHOW BANDS: the band table is highlighted with its names when multi band is off (issue #169) 1 week ago
numfont20x22.c Squashed commit of the following: 4 years ago
plot.c SHOW BANDS: the band table is highlighted with its names when multi band is off (issue #169) 1 week ago
prog.sh initial commit 10 years ago
radio_config_Si4468_1kHz.h Filters updated 6 years ago
radio_config_Si4468_3kHz.h Filters updated 6 years ago
radio_config_Si4468_10kHz.h Squashed commit of the following: 5 years ago
radio_config_Si4468_30kHz.h Squashed commit of the following: 5 years ago
radio_config_Si4468_100kHz.h Squashed commit of the following: 5 years ago
radio_config_Si4468_200Hz.h Filters updated 6 years ago
radio_config_Si4468_300kHz.h Filters updated 6 years ago
radio_config_Si4468_600kHz.h UI improvements 6 years ago
radio_config_Si4468_850kHz.h Squashed commit of the following: 5 years ago
radio_config_Si4468_default.h Updated output tables 4 years ago
radio_config_Si4468_short.h Updated timing for fast RSSI access 6 years ago
radio_config_Si4468_tx.h Double correction removed 6 years ago
radio_config_Si4468_undef.h Removed port names 6 years ago
rtc.c Lost RTC init 6 years ago
sa_cmd.c ext_gain: show the current value (issue #171) 2 weeks ago
sa_core.c SHOW BANDS: the band table is highlighted with its names when multi band is off (issue #169) 1 week ago
si446x.h fix https://github.com/erikkaashoek/tinySA/issues/33, fix F072 build 4 years ago
si446x_cmd.h First stage SI4463 RSSI working 6 years ago
si446x_defs.h fix https://github.com/erikkaashoek/tinySA/issues/33, fix F072 build 4 years ago
si446x_patch.h First stage SI4463 RSSI working 6 years ago
si4432.c Keep a console request while the lever, touch or listen mode is handled 2 weeks ago
si4432.h MAX2871 4 years ago
si4463_radio_config.h fix https://github.com/erikkaashoek/tinySA/issues/33, fix F072 build 4 years ago
si4468.c Keep a console request while the lever, touch or listen mode is handled 2 weeks ago
si4468_radio_config.h fix https://github.com/erikkaashoek/tinySA/issues/33, fix F072 build 4 years ago
si5351.c SI5351 removed 4 years ago
si5351.h avoid irregular spurs 5 years ago
spi.h fix: SDSC card size, browser stack use and firmware update build checks 2 months ago
tlv320aic3204.c Reduce differences and remove unneeded parts 6 years ago
ui.c Fixed a crash when a band frequency went below 0 Hz, e.g. SPAN on a new band: the frequency printer wrote past its buffer for values from 1 THz (issue #175) 4 days ago
usb_msc.c Add USB DISK mode: SD card as USB mass storage (tinySA ULTRA) 2 months ago
usb_msc.h Add USB DISK mode: SD card as USB mass storage (tinySA ULTRA) 2 months ago
usbcfg.c Unique USB serial number from the MCU ID (issue #85) 2 weeks ago
usbcfg.h initial commit 10 years ago
vna_browser.c File browser: REN renames a file (issue #100) 1 week ago
waterfall.c Allow more better define waterfall_palette size and use 6 years ago

README.md

tinySA - tiny Spectrum Analyzer

GitHub release CircleCI

About

tinySA is very tiny handheld Spectrum Analyzer (SA). It is standalone with lcd display, portable device with battery. This project aim to provide an useful instrument for the RF enthusiast.

This repository contains source of tinySA firmware.

Support

General tinySA support questions should be posted here: https://groups.io/g/tinysa/messages

Use github issue list only for firmware bugs and preferrably cross post to: https://groups.io/g/tinysa/messages

Prepare ARM Cross Tools

UPDATE: Recent gcc version works to build tinySA, 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/erikkaashoek/tinySA.git
$ cd tinySA
$ git submodule update --init --recursive

Build

Just make in the directory.

$ make

For tinySA Ultra use this command

$ make TARGET="F303"

Build firmware using docker

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

$ cd tinySA
$ 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

Update from the SD card (tinySA Ultra)

The tinySA Ultra can install a new firmware from its SD card, without DFU:

  1. Copy the firmware .bin file to the root folder of the SD card, for example with STORAGE→USB DISK. Eject the drive when the copy is done.
  2. Select STORAGE→UPDATE FIRMWARE, pick the file and confirm with UPDATE.
  3. The tinySA checks the file, programs it in about 10 seconds and restarts. Do not switch it off or remove the SD card during the update. If the card is removed anyway, the update waits and continues when it is inserted again.

Settings, calibration and presets are kept. The shell command fwupdate {file} checks a file without changing anything, fwupdate {file} flash installs it.

Only firmware that contains the update header (from this version on) can be installed from the SD card; older versions and the tinySA basic firmware are refused. If an update is interrupted, the tinySA does not start: hold the jog button while switching on to enter DFU mode and flash the firmware with a PC as above.

Companion Tools

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

Documentation

Reference

Note

tinySA is a trademark owned by its respective owner. Unauthorized use the the name tinySA not permitted

Authorized Distributor

Credit

Contributors

Powered by TurnKey Linux.