Skip to content

TUI application developed by Ovchinnikov Resarch Group at the University of Kansas for easy, interactive transport measurements.

Notifications You must be signed in to change notification settings

KU-DO-Lab/peppermint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Peppermint

splash screen

Hybrid TUI/Web application, written in python developed by Ovchinnikov Resarch Group at the University of Kansas for easy, interactive transport measurements. Peppermint integrates Microsoft's QCoDeS driver repository into an interactive interface driven by the Textual and Bokeh libraries.

Peppermint exposes two primary duties: monitoring and measuring. Instruments which must be closely watched for long durations (temperature controllers) may be configured to log data indefinitely (and in the future, important system events may be sent as notifications to team members). On the other hand, measurements may be configured as a sequence of primitive actions, such as setting a parameter, starting a sweep, or simply waiting for a duration.

Installation

Clone this repository and install dependencies with poetry. Then start the application using poetry run Peppermint.py (or equivalent commands, depending on your installation method). poetry lock and poetry install should be used to initialize your virtual environment and ensure that all packages are downloaded, once the repository is cloned.

For developers, it is recommended to also install textual-dev (included in pyproject.toml) which provides a debug console via textual console. To log the application to the console, run Peppermint with textual run --dev Peppermint.py. This allows debugging of the application at runtime.

Additionally, if you want to work on the project remotely (i.e., you can't plug into an instrument) you can run the program using the --simulated-instruments lakeshore or --simulated-instruments keithley flags to load simulated Lakeshore 336 or Keithley 2450 drivers. Another way to do this is to add an instrument manually by pressing m on the instruments screen. At the time of writing, this does not properly refresh the instruments when adding a simulated instrument, so it may seem that it does not exist. Confirm this in the parameters screen (p).

Features

Adding Instruments

Instruments can be added automatically by a user or (in the future) routinely when the application starts. Parameter tracking is handled automatically when preforming any kind of measurement, so all data is always saved.

Temperature Monitoring and Automation

Our environment implements a Lakeshore 336 temperature controller, for which we expose many important controls and collect data from in real-time.

Automation of Transport Measurement

Peppermint implements a versatile environment to configure a sequence of actions to be preformed by the instruments. Any measurement can be constructed from a sequence of building blocks: sets and sweeps.

Showcase

![instruments](https://github.com/user-attachments/assets/) ![parameters](https://github.com/user-attachments/assets/)
![temperature monitoring](https://github.com/user-attachments/assets/b107f986-6a67-46d8-9a9e-ca96efde19d2) ![sweeping](https://github.com/user-attachments/assets/)
![measurements](https://github.com/user-attachments/assets/698296f3-0794-44af-b5fb-00a512753a65) ![experiments](https://github.com/user-attachments/assets/)

About

TUI application developed by Ovchinnikov Resarch Group at the University of Kansas for easy, interactive transport measurements.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Contributors 2

  •  
  •