This post is a roundup of open source hardware control projects that I know of. Each of these projects allows users to communicate with instrumental hardware.
project | notes |
---|---|
acq4 | Python. Neurophysiology. Built on ZeroMQ. |
andor3 | Python. Interface to Andor camera devices. |
Auspex | Python. |
Basil | Python and Verilog. Implements low-level serial standards. |
Bluesky | Python. The future, I hope. |
comedi | Linux kernal drivers. |
CRAPPY | Python. |
Cryostat-GUI | Python. |
Daiquri | A web-based framework for data acquisition. |
DAQari | DAQ software using WebSerial & FileSystem Access API's. |
DataLog | Python. For PicoTech "PicoLog" hardware. |
datalogd | Python. Datalogging daemon with some sensor support. |
deepthought | Python. Example interface to Bluesky from MicroManager. |
devicely | Python. Health sensor data. |
DOOCS | Multilingual framework from DESY. Hardware support. |
EPICS | Multilingual framework. Supported hardware. |
Exopy | Python. |
GDA | Generic data acquisiton. Some sort of framework. |
Experimentor | Python. Opinionated, clean. By python for the lab team. |
Hardware-Control | Python. See JOSS review. |
Home Assistant | Huge project with a lot of Python-based hardware support. |
IIO | Linux subsystem with impressive sensor support. |
Instrbuilder | Python, Bluesky. See JOSS and IEEE papers. |
Instrumental | Python. Supported hardware. |
InstrumentKit | Python. Just a collection of hardware enablement classes. |
ImSwitch | Python. Supported hardware. |
itom | C++ with Python scripting. Supported hardware. |
Karabo | Multilingual framework from XFEL. See publication. |
labdrivers | Python. |
LabThings | Python. Originally for microscope. |
Lantz | Python. Project seems to be on life support. |
libiio | C. Library for interfacing with IIO devices. |
LinuxCNC | Lots of motor support, driven by gcode. |
magdynlab | Python. Brazilian Center for Physics Research. |
micro-manager | C++. Impressive, see whitepaper and class reference. |
Mjolnir | Python. IoT architecture for scientific sensor networks. |
MX | Full data acquisition and control system. |
MXCuBE | Python. Macromolecular Xtal Custom Beamline Environment. |
nidaqmx-python | Official Python API for interacting with NI-DAQmx. |
nimi-python | Official Python API for NI Modular Drivers. |
picosdk-python | Python. Official support for PicoScope devices. |
PLACE | Python. |
Py-Hardware-Support | Python. Small project implementing a few camera drivers. |
pyacq | Python. Built on ZeroMQ. |
pyadi-iio | Python. For IIO hardware from Analog Devices. |
Pychron | Python. Focus on noble gas mass spectrometry. |
pycomedi | Python. Interface to comedi |
PyDAQmx | Python. Interface to NI DAQmx. |
PyFixate | Python. |
PyMeasure | Python. Supported hardware. Large community. |
PyMoDAQ | Python. Developed within French CNRS. Seems popular. |
Pythics | Python. |
python-ivi | Python. Classes defined by IVI foundation. |
python-microscopy | Python. Supported hardware. |
python-seabreeze | Python. Interface to Ocean Optics spectrometers. |
python-usbtmc | Python. Pure Python USBTMC driver. |
PyVISA | Python. VISA. |
React AS | React automation studio, GUI for EPICS. |
REP-instrumentat... | Python. Collection of hardware enablement classes. |
Qcodes | Python. Supported hardware. |
Qudi | Python. Spectroscopy focused. |
QTLab | Python. Inspiration for Qcodes. |
Sardana | Supervision, Control and Data Acquisition. |
ScopeFoundry | Python. Ducktyped extensible hardware interface. |
SFGacquisition | Python. Small group project, abandoned. |
storm-control | Python. Monolithic software for STORM experiments. |
Subdue | Python. Supported hardware |
TACO | Parent of Tango |
Tango | Multilingual framework. "500+ device classes". |
thorpy | Python. Thorlabs APT serial interface. |
thorlabs_apt | Python. Thorlabs APT dll interface. |
thorlabs-apt-prot.. | Python. Thorlabs APT serial interface, sans I/O. |
TRSpectrometer | Python. Time-resolved spectroscopy focus. |
usbq | A Python-based framework for monitoring USB. |
Virgo | Python. Radio astronomy. Built on top of GNU Radio. |
Xi-CAM | Plugin based GUI framework with synchotron focus. |
yaq | Multilingual framework. Built with love by me š„°! |
Zorg | Python. Framework for robotics with hardware abstraction. |
The folks at LabPy are maintaining their own catalog.
The folks over at python-data-acquisition also have a list of existing-packages.
PyInstruments is a central reference point for the various Python-based experimental data collection frameworks.
Readers may also be interested in EPICS: A Control System Software Co-Development Success Story.
Readers may also be interested in the Open Process Automationā¢ Forum.
built 2024-12-26 23:00:03