title: hardware control date: 2021-01-25 tags: instrumental python roundup 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](http://www.acq4.org/) | Python. Neurophysiology. Built on ZeroMQ. | | [Bluesky](https://blueskyproject.io/) | Python. The future, I hope. | | [EPICS](https://epics.anl.gov/) | Multilingual framework. [Supported hardware](https://epics.anl.gov/modules/manufacturer.php). | | [Exopy](http://exopy.readthedocs.io/) | Python. | | [Experimentor](https://github.com/aquilesC/experimentor) | Python. Opinionated, clean. By [python for the lab](https://www.pythonforthelab.com/) team. | [Instrbuilder](https://lucask07.github.io/instrbuilder/build/html/) | Python, Bluesky. Drivers without code. | | [Instrumental](https://instrumental-lib.readthedocs.io/) | Python. [Supported hardware](https://instrumental-lib.readthedocs.io/en/stable/overview.html#drivers). | | [Lantz](https://github.com/lantzproject) | Python. Project seems to be on life support. | | [micro-manager](https://micro-manager.org/) | C++. Impressive, see [whitepaper](https://github.com/nicost/uScopeControl/blob/master/Software%20for%20Microscopy%20Workshop%20WhitePaper.pdf) and [class reference](https://valelab4.ucsf.edu/~MM/doc/MMCore/html/class_c_m_m_core.html). | | [Py-Hardware-Support](https://ddietze.github.io/Py-Hardware-Support/index.html) | Python. Small project implementing a few camera drivers. | | [pyacq](https://github.com/pyacq/pyacq) | Python. Built on ZeroMQ. | | [Pychron](https://github.com/NMGRL/pychron) | Python. Focus on noble gas mass spectrometry. | | [PyDAQmx](https://pythonhosted.org/PyDAQmx/) | Python. Interface to NI DAQmx. | | [PyMeasure](https://pymeasure.readthedocs.io) | Python. [Supported hardware](https://pymeasure.readthedocs.io/en/latest/api/instruments/index.html). Large community. | | [PyMoDAQ](https://pymodaq.cnrs.fr) | Python. Developed within French [CNRS](https://www.cnrs.fr/en/cnrs). Seems popular. | | [python-microscopy](http://www.python-microscopy.org/) | Python. [Supported hardware](http://www.python-microscopy.org/doc/supported_hardware.html). | | [python-seabreeze](https://python-seabreeze.readthedocs.io/) | Python. Interface to Ocean Optics spectrometers. | | [Qcodes](http://qcodes.github.io/Qcodes/index.html) | Python. [Supported hardware](https://qcodes.github.io/Qcodes/api/generated/qcodes.instrument_drivers.html). | | [Qudi](https://github.com/Ulm-IQO/qudi) | Python. Spectroscopy focused. | | [ScopeFoundry](http://www.scopefoundry.org/) | Python. Ducktyped extensible hardware interface. | | [SFGacquisition](https://github.com/GeigerGroup/SFGacquisition) | Python. Small group project, abandoned. | | [storm-control](https://github.com/ZhuangLab/storm-control) | Python. Monolithic software for STORM experiments. | | [thorpy](https://github.com/UniNE-CHYN/thorpy) | Python. Thorlabs APT serial interface. | | [thorlabs_apt](https://github.com/qpit/thorlabs_apt) | Python. Thorlabs APT dll interface. | | [Virgo](https://github.com/0xCoto/Virgo) | Python. Radio astronomy. Built on top of GNU Radio. | [yaq](https://yaq.fyi) | Multilingual framework. Built with love by me 🥰! | The folks over at python-data-acquisition also have a list of [existing-packages](https://github.com/python-data-acquisition/meta/blob/master/existing_packages.md).