Skip to content

Repository files navigation

Control Software for the Toptica TeraFlash pro THz Spectrometer

“”

This code is developed by the University of Bern and is no official product of Toptica Photonics AG.
This application aims to be an improved version of the original Toptica LabView-based control software.
The TCP communication protocol is probably incomplete and features may be missing as it was reverse engineered using wireshark. The scanning stage is not supported but a list of other features is.

A smaller python package is also available here.

Features:

  • Can be compiled on macOS, Linux and Windows
  • Lightweight, responsive
  • Plots for time domain and frequency domain
  • Control of time window and range
  • Control of averaging
  • Control of frequency resolution
  • Control of FFT window
  • Set and clear reference pulses
  • Save to npy binary or csv
  • Persistence mode, settings are saved after closing
  • Set antenna ranges
  • Add Channel control
  • Add fast scanning (voice-coil) support
  • ...

Screenshot of the application on macOS

It can be compiled and run on all platforms. Tested on:

  • MacOS 12.4 Monterey x86
  • MacOS 10.14.6 Mojave x86
  • Debian 12 (Testing) x86
  • Windows 10 x86

Download and Installation

Pre-Built Bundles

Binary bundles are available for macOS, Linux and Windows here for easy usability (no need to compile the source code).
Running the apple silicon binary may result to the message "TeraFlash is damaged and cannot be opened.", to get around this you first need to run:
xattr -rd com.apple.quarantine TeraFlash.app On Linux first install the following::

sudo apt-get install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev libssl-dev

Install from Source

The Application is written in Rust and the GUI is based on egui.
The source code can be run using cargo run or bundled to a platform-executable using cargo-bundle.
Currently cargo bundle only supports linux and macOS bundles see github issue. As a work-around we can use cargo wix to create a windows installer.
After downloading
cargo install cargo-bundle on linux and macOS or cargo install cargo-wix on windows run
cargo bundle on linux and macOS or cargo wix on windows to create platform-executable bundles.

On Linux first install the following::

sudo apt-get install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev libssl-dev

One might have to delete the Cargo.lock file before compiling.

Disclaimer: This package is provided on a best effort basis with no guarantee as to the functionality and correctness. Use at your own risk. Users are encouraged to contribute by submitting issues and/or pull requests for bug reporting or feature requests.

Copyright (c) 2026 University of Bern, Space Research & Planetary Sciences, Linus Leo Stöckli.

This work is licensed under the Creative Commons Attribution-NonCommercial 4.0 International License. To view a copy of this license, visit https://creativecommons.org/licenses/by-nc/4.0/

About

TeraFlash is a GUI written in rust to interface with the TeraFlash Pro THz time domain spectrometer from Toptica. Use at own risk.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages