Open-Source Electrochemical Measurement System Equipped with Macro Language for Successive Measurements

Hidenobu SHIROISHI and Tatsuhiro OKADA


1 Introduction

The screening of new catalysts or probes is indispensable for improvement or development of devices such as chemical sensors [1 - 3], electrosynthesis [4, 5] and fuel cells [6 - 8]. A developer evaluates the performance of numerous materials routinely but facing complexity of measurements. For example, a researcher assesses the catalytic activity of materials by cyclic voltammetry and linear sweep voltammetry either hydrodynamically or hydrostatically, and analyzes the obtained data by the Koutecky-Levich equation and the Tafel equation. If such measurements and analyses are automated by a program, the screening of catalysts will be performed efficiently. There are some automation software packages not for conventional electrochemical equipment only connectable to an X-Y recorder but for a specific expensive electrochemical apparatus.
Useful information is often obtained from the combination between an electrochemical measurement and another measurement such as spectrometry carried out simultaneously. In such a situation, a specific program must be developed each time when a new system is installed. If an open-source program for electrochemical measurements were provided, a program serving the purpose might be obtained by a little modification of the existing software. In this study, we report an open-source software called "ECHAN" (ElectroCHemical ANalyzer) for automatic electrochemical measurements and analyses, which runs on Windows 98/Me/2000/XP. The program is written in Visual Basic Ver. 6, and its source code consists of 42 modules (about 10,000 lines).

Figure 1. Wiring diagram of the electrochemical equipment.

2 Implementation

We used a PC-9821 machine (NEC) in which Microsoft Windows 2000 was installed for developing ECHAN with the Microsoft Visual Basic version 6(SP5). The program was tested with Windows 98, 2000, XP installed in IBM-AT compatibles.
Figure 1 shows a wiring diagram of the electrochemical equipment. A/D boards made by Contec and ADLink are adaptable in the program for collecting experimental data from a dual or single potentiostat e.g., DPGS-1 (Nikko Keisoku). PCI-9112 (ADLink Technology) is recommended to use all functions of the software because the board has not only 16 channel A/D converter but also 2 channel D/A output and 16 channel digital I/O ports. GPIB-232CT-A (National Instruments), Contec products and PC9801-29n (NEC) with API-PAC (Contec) are supported in the program for operating function generator (FG-02, Toho Technical Research). An original power controller connected to the digital out terminal of PCI-9112 or the printer port of a computer was fabricated to operate a motor speed controller (SC-5, Nikko Keisoku) and electromagnetic valves for gas lines.

3 Feature of ECHAN

Figure 2 shows the control panel of "ECHAN". "ECHAN" can record twenty data sets (called "Track" in "ECHAN") in a file. Each data set has a maximum of 20,000 points. A user selects a track by clicking the "Updown button" (Figure 2 (1)). The reference potential can be changed by a reference electrode displayed in a combo box (Figure 2 (2)). The user can change a title, current scales and pH by clicking the item of an information area (Figure 2 (3)).

Figure 2. Screen shot of the control panel of "ECHAN". (1) Present track and "Updown button" for selecting a track. (2) "Combo box" for the conversion between reference potentials (3) Information table for the present track. (4) Graph area of the present track.

Table 1. Command in ECHAN.
OpenOpen experimental data sets in ECHAN format.
Save asSave experimental data sets in ECHAN format.
Import TrackImport an experimental data set from another file.
Search TrackSearch experimental data sets by keywords and measurement condition.
QuitQuit ECHAN
Copy All as Text DataCopy an experimental data set and its information to clipboard.
Copy I-E (or t) as Text DataCopy an experimental data set to clipboard.
Replace Words in each titleReplace words in each title
Special CopyCopy an optimized experimental data set to clipboard.
Edit TracksCopy or Move an experimental data set to another track.
Edit a TrackEdit an experimental data set.
Delete a TrackDelete an experimental data set.
Paste from ClipboardPaste to the present track from clipboard (tab separated values only).
Copy I-t Table (Multipotentiostat Only)Copy current-timeable measured by multipotentiostat mode to clipboard.
Copy V-I Table (Multipotentiostat Only)Copy voltage-current table measured by multipotentiostat mode to clipboard.
Cyclic VoltammogramMeasure a cyclic voltammogram under hydrostatic or hydromic condition.
RDEMeasure a rotating ring-disk voltammogram under hydrostatic or hydrodynamic condition.
Potential StepMeasure a potential step measurement under hydrostatic or hydrodynamic condition.
RPM vs. IMeasure a rotating-speed sweep measurement under hydrodynamic condition.
MultipotentiostatMeasure time, current and voltage with multipotentiostat.
FFT FilterSmooth an experimental data set by FFT low pass filter.
SmoothingSmooth an experimental data set by the simple moving average or the Savizky-Golay method.
CalculationCalculate between two tracks.
Koutecky-Levich AnalysisAnalyze a data set based on Koutecky-Levich or Levich equation
%H2O AnalysisCalculate percentages of 4-electron reduction in total oxygen reduction reaction
Cottrell Equation AnalysisAnalyze a data set based on Cottrell equation
Coulomb Number CalculationCalculate Coulomb number in desired range of a data set.
Tafel AnalysisAnalyze a data set on the basis of Tafel plot
Power ControlShow a power control module
MacroShow a macro editor for automatic measurement
SettingsShow settings

Figure 3. Form module for searching data sets by keywords and measurement conditions. (1) "Directory list box" and "Drive list box" for specifying a folder. (2) Dialogue area for search conditions (3) Result table matched to the condition (4) "Updown button" for a destination track.

Table 1 shows the commands of ECHAN allocated to the menu bar. Since many functions are equipped in this software, some of the menus are described below as examples. The details of the usage are written in a help file.
1) File menu
An original text file format ".ech" is used in "ECHAN". Figure 3 shows the screen shot of a form module for searching tracks. The user can search data sets by keywords and measurement conditions in a specific folder.
2) Edit menu
Figure 4 shows a "Special Copy" form module displayed by [Edit] - [Special copy]. The user can not only reduce the points of a data set but also convert the y-scale for exporting to the windows clipboard with this module. Figure 5 shows the illustration of a reduction algorithm. In the figure, the points of A to D express part of the experimental data. d is the maximum distance allowed as a next point. To maintain the characteristic of the data, the points are selected as follows: After the aspect ratio of an electrochemical data set is adjusted to 1, first (Figure 5, A) and second point (Figure 5, B) are adopted as a yardstick and as points for exporting to the clipboard. If the third point C is satisfied with a function of an angle (q) and a distance (d) (Figure 5, hatched region), the point C is skipped [9], and the next point D is examined in the same way. If the position of C is located to that of C', which is out of the hatched area, the point C' is adopted as a point for exporting to the clipboard, and the point B and the point C' are adopted as a new yardstick. The number of the data points decreases with increasing d value, and large q enables to skip scattered points. The user can confirm the reduced data points in a preview window (Figure 4, (1)) as black points after clicking the [Go] button.
3) Measurement menu
In the program, the user select measurements from the menu of cyclic voltammetry, rotating ring-disk voltammetry, potential step chronoamperometry, measurement of current vs. rotating speed at a fixed potential, and multipotentiostat measurement either hydrostatically or hydrodymanically. Figure 6 shows a form module of rotating speeds vs. current measurement at a fixed applied potential. The user can use not only the manual settings of rotating speed but also a sweep mode for the rotation speed that is conducted by a D/A output of PCI-9112, connected to a speed controller.
4) Calculation menu
Data sets obtained by measurements can be processed for noise elimination by a FFT low pass filter, for smoothing by the simple moving average or the Savitzky-Golay method [10] and for data transformation (addition, subtraction and multiplication) between two data sets.
5) Analysis menu
The user can analyze data sets by means of the Koutecky-Levich equation, the Levich equation, the Cottrell's equation, the coulomb number calculation, the Tafel equation and the electron number calculation concerned with oxygen reduction reaction [11].
6) Tools Menu
Successive electrochemical measurements can be performed using an original macro language when a GPIB-based function generator is used. A program written in the macro language can be executable on "ECHAN" which is equipped with a simple macro editor. "ECHAN" interprets the program in a sequential order. Since the templates for the measurements are equipped in the macro editor, the users can input a sequential program very easily. List 1 shows a sample program list of the macro language. In the sample program, after the program finishes measurement of a cyclic voltammogram at hydrostatic condition and then a rotating ring-disk voltammogram measurement at a rotation speed of 300 rpm, it sends a message to a specific e-mail address.

List 1. Sample program list of the macro language.
      CV.RecordTrack 0
CV.Title SampleName
CV.Setting 0
CV.DiskScale 1e-3
CV.Voltage 0.6 1.25 -0.25
CV.RetainTime 10
CV.Scanrate 20
CV.Repeat 3
CV.SamplingRate 5
CV.Accumlation 200
RDE.RecordTrack 1
RDE.DiskScale 1e-3
RDE.RingScale 1e-4
RDE.Title SampleName
RDE.Voltage 1 -0.3 1
RDE.RetainTime 10
RDE.Scanrate 5
RDE.Repeat 1
Mail.DisplayName Displayname
Mail.Address Address
Mail.Subject Measurements have been finished!
Mail.MsgNote Measurements have been finished!

Figure 4. Screen shot of "Special Copy" form module. (1) Preview window for native data (blue dots) and reduced data (black dots). (2) Dialogue for specifying parameters.

Figure 5. Illustration for the optimization of data points adopted in ECHAN. The points of A - D are experimental data points. d is a maximum distance (from A to E) allowed to next point, which is variable by the user. q is a user-setting angle to reduce the interference of noise.

Figure 6. Form module of rotating speed vs. current measurement.

4 Conclusion

An open-source electrochemical measurement system called "ECHAN" has been developed with Visual Basic. A user can perform various electrochemical measurements automatically with an original macro language when a GPIB-based function generator is used.

5 Availability

The "ECHAN" is distributed through a web site:

6 Agreements for using the program

The "ECHAN" is GPL. We cannot be responsible for damages that you might suffer when using this program. You can remodel this program without our permission [12]. Please feel free to contact us, when you find bugs.

We thank Mr. Noriyuki Ueno for making the power control unit.


[ 1] M. E. Lippitsch, J. Pusterhofer, M. J. P. Leiner, O. S. Wolfbeis, Anal. Chim. Acta, 205, 1 (1988).
[ 2] M. Kaneko, T. Takekawa, T. Asakura, Makromol. Chem., Macromol. Symp., 59, 183 (1992).
[ 3] S. Lee, I. Okura, Anal. Sci., 13, 535 (1997).
[ 4] M.C. Chakravorti and G.V.B. Subrahmanyam, Coord. Chem. Rev., 135-136, 65 (1994).
[ 5] A. J. Downald, D. Pletcher, J. Electroanal. Chem., 206, 147 (1986).
[ 6] T. Okada, M. Gokita, M. Yuasa, and Isao Sekine, J. Electrochem. Soc., 145, 815 (1998).
[ 7] J. P. Collman, L. L. Chng, and D. A. Tyvoll, Inorg. Chem., 34, 1311 (1995).
[ 8] T. Okada, M. Yoshida, T. Hirose, K. Kasuga, T. Yu, M. Yuasa, I. Sekine, Electrochim. Acta, 45, 4419 (2000).
[ 9] The decaying curve from point B to point E is defined as d(r - q)n/qn + xAB, where r is a radian, and xAB is a |xB - xA|.
[10] A. Savitzky, M. J. E. Golay, Anal. Chem., 36, 1627 (1964).
[11] A. J. Bard and L. R. Faulkner, Electrochemical Methods, Fundamentals and Applications, Second Edition, John Wiley and Sons, New York, NY (2001).
[12] The development kit attached to an A/D board is needed for compiling the program.