Skip to main content

Collection of I/O interfaces to communicate with microcontroller boards and laboratory devices, with optional PyQt5 multithread support and graphical user-interfaces.

Project description Requirements Status


Collection of I/O interfaces to communicate with microcontroller boards and laboratory devices, with optional PyQt5 multithread support and graphical user-interfaces.


pip install dvg-devices

Supported devices

Arduino, or similar microcontroller board
Aim TTi QL series II power supply
Bronkhorst EL-FLOW mass flow controller
Julabo circulator recirculating bath
Keysight 3497xA digital multimeter
Keysight N8700 power supply
Parker Compax3 servo controller
Picotech PT104 temperature logger
PolyScience PD recirculating bath
ThermoFisher ThermoFlex chiller


  • Class SerialDevice() offering higher-level general I/O methods for a serial device, such as auto_connect(), write() and query().
  • Class Arduino() which wraps around SerialDevice(). In combination with DvG_SerialCommand it allows for automatically connecting to your Arduino(-like) device and for easy serial I/O communication.
  • Separate PyQt5 interfaces are provided for each of these devices, offering out-of-the-box multithreaded data acquisition and communication. It relies on DvG_QDeviceIO.
  • Ready-to-run PyQt5 demos to directly control many of the supported devices with a graphical user-interface.


0.2.6 (2021-03-02)

  • Minor: Adjusted width of GUI control in

0.2.5 (2021-03-02)

  • Loosened dependence to pyserial~= 3.4

0.2.4 (2021-03-02)

  • Added device: Julabo circulator

0.2.3 (2020-08-27)

  • Workaround for bug with unknown cause in Aim_TTi_PSU_protocol_RS232 where the power supply occasionally will skew the serial input and output stream, such that the reply matches the second-previous query statement. Fixed by forcefully flushing the serial input and output buffers whenever a wrong reply is received. Hopefully, this will fix the skew when the next query() operation gets executed.

0.2.2 (2020-08-27)

  • Fixed bug in BaseDevice.query_ascii(). The use of ast.literal_eval got removed because it chokes on nan. Everything is now interpreted as a float instead.

0.2.1 (2020-08-12)

  • Fix wrong import statement dvg-pyqt-controls
  • Fix wrong import statement dvg-pyqt-filelogger

0.2.0 (2020-08-11)

  • Added dependence dvg-pyqt-controls~=1.0
  • Added dependence dvg-pyqt-filelogger~=1.0
  • Added dependence dvg-pyqtgraph-threadsafe~=3.0

0.1.0 (2020-07-23)

  • Fixed bug in where inspect.getouterframes() would momentarily suspend the thread. Solved by ditching inspect. The new ID_validation_query mechanism now relies on a simple boolean flag that gets set to force query() to raise on timeout.
  • Update dependence dvg-qdeviceio==0.3.0

0.0.7 (2020-07-17)

  • Update dependence dvg-qdeviceio==0.2.2

0.0.6 (2020-07-16)

  • Finished implementing BaseDevice.SerialDevice()
  • Update dependence dvg-qdeviceio==0.2.1

0.0.5 (2020-07-07)

  • Update dependence dvg-qdeviceio==0.2.0 Enum DAQ_trigger is now called DAQ_TRIGGER
  • Code style: Black

0.0.4 (2020-07-04)

  • Update dependence dvg-qdeviceio==0.1.2

0.0.3 (2020-07-02)

  • Fixed broken packaging

0.0.2 (2020-07-02)

  • Major restructuring PyPI package
  • Implemented DvG_QDeviceIO

0.0.1 (2020-07-01)

  • First release on PyPI

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for dvg-devices, version 0.2.6
Filename, size File type Python version Upload date Hashes
Filename, size dvg_devices-0.2.6-py3-none-any.whl (113.9 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size dvg-devices-0.2.6.tar.gz (102.2 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page