Centre d’Élaboration de Matériaux et d’Etudes Structurales

Accueil > Faits marquants


An open-source software for simple data acquisition from complex experimental setups

par Guy Molénat - publié le

PyMoDAQ, « Modular Data Acquisition with Python » is an open-source software for automated data acquisition as a function of various experimental parameters. Its generic graphical interfaces, that can be run without any programming skills, allow instrument controls while specific extensions make it very versatile.

Driving experimental setups and acquiring data is often made using either commercial software or home made ones. As the experiment evolves, adding controls to these solutions can be cumbersome and time consuming. Simple, open-soure and free tools devoted to this task is therefore a must for the scientific community. Various project, developed by scientific communities, are existing either focusing on a specific task or on the contrary to no predefined thematic application. PyMoDAQ has been developed with this second objective in mind but also to be as simple to use as possible. PyMoDAQ is open-source and written in Python language with a graphical interface allowing its use without any programming skills. It can be adapted to any application with the help of its modular structure and its various extensions. Its characteristics and comparison with other project have been published in Review of Scientific Instruments.

Born four years ago, PyMoDAQ allows now the control of any instruments using two generic interfaces : one for detectors (for instance to record signals from an oscilloscope or from a camera) and one for actuators (for instance to control experimental parameters such as applied current or laser polarization…). These interfaces are grouped together within a Dashboard allowing their configuration (number, types, settings…) for a particular experimental setup. Several extensions are complementing the dashboard allowing for instance the automated data acquisition as a function of one or more variable parameters (DAQ_Scan).

PyMoDAQ’s schematic structure showing control interfaces grouped within a Dashboard and the existing extensions

The main interest of PyMoDAQ is its simplicity of use with its graphical interfaces while still being usable for any kind of experimental setup. PyMoDAQ aims to be a collaborative project giving access to the community of multiple base elements allowing the construction of other specific extensions. A broad range of instruments are already taken care of via existing plugins and this number is increasing with the help of other contributors.


References :

[1] PyMoDAQ : An open-source Python-based software for Modular Data AcQuisition. S. J. Weber, Review of Scientific Instruments, published on April 8, 2021, https://doi.org/10.1063/5.0032116 ; HAL link

[2] PyMoDAQ, S. J. Weber, source code, https://github.com/CEMES-CNRS/PyMoDAQ.

[3] PyMoDAQ’s documentation, S. J. Weber, http://pymodaq.cnrs.fr

[4] PyMoDAQ’s demonstration video, https://www.youtube.com/channel/UC9Yg-Y9TsOL9k55ql1owrXQ.


Contact : 

Sébastien Weber, research engineer at CEMES, CNRS, sebastien.weber [at] cemes.fr