Home Member Area Links Events Publications Promotions

LabVIEW projects - Autolab DAC tool

Using LabVIEW to add DAC signals to an Autolab potentiostat

Emmanuel Skupien


For his experiments at ChemE Emmanuel Skupien uses a Metrohm Autolab potentiostat. The configuration of the potentiostat allows the use of some analog signals, both as inputs (ADC, Analog to Digital Converter) and as outputs (DAC, Digital to Analog Converter). Unfortunately the number of DACs is insufficient for the experiments Emmanuel wants to perform.

This document describes a method how (external) DACs can be added using (one of) the DIO ports on the potentiostat.

Using the DIO ports

The potentiostat has 2 25 pin DIO connectors, each good for 24 digital input/output signals. Although a single digital signal (one pin or bit) just represents a logical '0' or  '1', a group of bits could represent a larger range of numbers, e.g. 8 bits represents a number between 0 and 255.  This feature can be used to address almost any number of DACs with a given resolution. Since the 24 bits of the DIO are divided in groups of 8 (port A, B and C) and NOVA, the potentiostat control software, only allows one group to be changed at a time, it is convenient to use one port to select a DAC, one port to set a value and one port to trigger the digital to analog conversion. This easy solution allows for 256 8 bit DACs but theoretically, using only one DIO connector, this method allows for 2m DACs with n bit resolution where m+n equals 23. (Since bit 24 must be used to 'trigger' the conversion.)

The potentiostat should execute a NOVA routine, to set an external DAC to a specified value, which would look like this:

  • reset port C to clear the trigger bit
  • set port A to the 'address' of the DAC (not necessary if there is just one external DAC)
  • set port B to the new value for the DAC
  • set port C to trigger (start) the digital to analog conversion

The device which holds the external DAC should execute a routine, to analyze the signal from the potentiostat, which would look like this:

  • read the trigger bit until it has changed from logical '0' to logical '1'
  • read the 'address' bits (also not necessary if there is just one external DAC)
  • read the 'value' bits and change the output of the selected DAC

Practical solution

A simple way to connect a DIO port to an external device is through a breakout box. This breakout box can be easily connected to a general purpose IO device such as the NI USB-6008/6009 device. A single NI USB-6008/6009 can be used to add 2 external DACs as shown below and (almost) any number of DACs can be added using either more of the same or alternative IO devices.

User interface

The presented LabVIEW program can be used for two additional DACs.

The basic user interface shows the continuous readout of the DIO ports in Autolab DIO, where the left most bit is the 'address' bit and the right most bit is the 'trigger' bit and the bits in between are the 'value' bits.


With remote enabled the value of the selected DAC can be set, otherwise a request from the potentiostat will be ignored. The requested value, which ranges from 0 to 255, is shown as a percentage in output (%). The actual DAC output is a voltage within the range given by range (V).


Each new setpoint for the DAC is recorded in the history list, which can hold upto 100 entries. Since the setpoint can also be changed manually, (r) will be added for (remote) requests from the potentiostat.

The extended user interface, which can be opened by pressing the gearbox symbol, can be used to simulate the Autolab DIO.


For a copy of the project send a request to the author.


This concept could also be used in other ways:

  • with both ports
  • with propietary hardware e.g. through Arduino, Microchip
  • with additional control signals besides 'trigger' e.g. 'all zero' and 'first/next/previous/last preset'

The NI-USB6008/6009 can generate two independent 0 to 5 Volt signals.

Any DAQmx device that has (at least) 10 digital inputs and (at least) 2 analog outputs can be used instead of a NI-USB 6008/6009.

A valid DAQmx, possibly a simulated device, should be assigned as Dev1.


I thank Emmanuel Skupien for programming with NOVA and Alex Boot for building the breakout box.

Bart Boshuizen 2012-06-07

© copyright 2000-2014,
design by Bb.