Lab Genie

Lab Genie: a user-configurable environment for laboratory
data acquisition and control

Anyone who has worked in a modern lab knows that it’s unthinkable without computerized data acquisition and software-enabled controls. However, finding free, user friendly software even for something as simple as PID temperature control can be a challenge. The Lab Genie software, having been developed in a physics and chemistry laboratory, addresses several  experimental needs:

  • Reading and recording analog voltage signals and temperature
  • Running closed-loop PID temperature control
  • Controlling Hiden HAL Quadrupole Mass Spectrometers (QMS)
  • Running Temperature-Programmed Desorption (TPD) experiments with Hiden HAL QMS

Analog reader interface

Picture 2 of 5

While proprietary software certainly exists for all these tasks, it is often quite expensive or tied to expensive hardware products. Freely available software, on the other hand, frequently lacks data plotting or saving capabilities. Lab Genie aims to help fill the resulting niche. It can interface with the following types of hardware devices:

  1. Phidgets 1048, an affordable 4-channel thermocouple reader from Phidgets.
  2. Phidgets 1002, a 4-channel analog voltage output from the same company.
  3. National Instruments NI-9211 4-channel isolated thermocouple reader.
  4. National Instruments data acquisition (DAQ) boards (for analog voltage input and output).
  5. Hiden HAL Quadrupole Mass Spectrometer.

Any number of these hardware devices may be controlled from a PC with a Lab Genie installation. Lab Genie is configured for each particular hardware set-up by editing an XML file that contains a listing of the connected devices and indicates how they are used. A detailed description of Lab Genie configuration process is available in the configuration manual. Some example configuration files are also provided below.

Lab Genie is free and open source software (FOSS) distributed under the GNU General Public License. The source code is available from the Lab Genie github repository. If you’d like to try Lab Genie, two Windows installers are available for Windows Vista, 7, 8, 10 or later. The first installer is for those who don’t intend to connect National Instruments devices:

Download Lab Genie (no NI support)

If you do plan to use National Instruments devices, you’ll need to download the installer package below, as well as install the National Instruments NI-DAQmx drivers (they are NOT included in the installer package). Please be aware that by running Lab Genie with NI-DAQmx drivers, you’ll be bound by the NI-DAQmx Terms of Use.

Download Lab Genie (with NI support)

Example of PID temperature controller with Phidgets hardware

Lab Genie offers a simple way to set up a windup-protected PID temperature controller that operates a programmable power supply. The user interface allows controllable linear temperature ramps with (optionally) smoothed approach to final values, and incorporates software limits for control voltage and temperature:

This implementation of the PID controller outputs a control voltage that the programmable power supply should interpret as either the current setting or voltage setting – in other words, a value proportional to the square root of applied power. The temperature data can be saved into a text file if needed. To start acquiring temperature readings, check the “Read” box in the user interface. To start PID control, check the “Control” box. Unchecking either the “Read” or “Control” boxes during operation, or pressing the “Switch off power” button, will cause the controller to send zero control voltage to the power supply.

The image below shows the hardware part of an inexpensive temperature controller built around Phidgets 1048 (temperature reader), Phidgets 1002 (analog voltage output), Phidgets 3060 (USB isolator) and a BK Precision 1685B programmable power supply. The USB isolator in this set-up serves to prevent possible ground loops through the thermocouple circuit:

Up to four independent temperature controllers can be configured with this hardware set-up within a single Lab Genie configuration, which would use the four channels of the Phidgets 1048 thermocouple reader and the four channels of the Phidgets 1002 analog voltage output.

The Lab Genie configuration file for this hardware set-up is here. As with other configuration files, this file needs to be placed into the Lab Genie installation directory under the name “config.xml” (replacing the file that’s already there).

Configuration files

Configuration files tell Lab Genie what hardware is connected to the system and how it should be used. The current configuration file should be saved under the name “config.xml” in the Lab Genie installation directory. This is an XML file that can be edited by a text editor or by a specialized XML editor.

Hardware devices are identified in two ways in the configuration file. Phidgets devices are identified by their serial number, which can be read on the device itself or from the Phidgets control panel. National Instruments devices, on the other hand, are identified by the device name that can be set in (and read from) the NI Measurement and Automation Explorer (NI-MAX), a utility that is installed along with NI-DAQmx drivers.

Detailed description of the configuration process is available in the Lab Genie configuration manual.  Below are example configuration files for several typical hardware configurations. When using these files, be aware that in these examples the Phidgets serial numbers or NI-MAX device names will need to be changed to correspond to the devices on your system:

System requirements

Lab Genie can be installed on 32- and 64-bit Windows Vista, 7, 8, 8.1, 10 or later.