A new Arduino-based interface to read electromotive force (emf) from potentiometric detectors is presented. The interface is fully designed with the open code philosophy and all documentation is accessible on web. The work includes the electronic design, the firmware loaded on Arduino and the graphical used interface (GUI) coded in Java to register data from a computer (PC or Mac). An active PVC-based membrane doped with cetyltrimethylammonium dodecylsulphate was used to test the detector performance by measuring a calibration curve.
The electronic design is based on an ArduinoTM Uno open-code microcontroller board. The Arduino board includes digital input/output pins, analog inputs, timers, USB communication and more. This basic equipment is completed with a programmable-gain instrumentation amplifier and a set of two electronic-filtering systems jumper-selectable. The added electronics must be powered with a symmetrical supply, obtained from the Arduino unregulated +5VDC power jack through the VIN pin, by using two set-up switching regulators. All these circuitry is mounted on a home-designed shield board whose block diagram is shown in Figure:
All circuitry was included in only one printed circuit board, the Open ISEmeter shield board. That board was designed by using the freeware version of popular CAD-CAM software from CadSoft named EAGLE PCB Design Software Lite Edition. This software was used to create the documentation presented in Figure:
To configure the detector and to receive the data collected a graphical interface was designed as shown next Figure:
From top to bottom the panel control contains the following items: a Start/Stop button to launch or halt the data acquisition; a Copy button to dump the collected data to OS-clipboard as text, these data can be pasted to any processing data application; a dropdown box selector to set the full scale of voltage reading and the gain of differential amplifier; a dropdown box selector to setting different filtering options; a pair of text box to displays the time and voltage of latest acquired data or the pointer device when it moves over the graph; and finally a dropdown box selector to set what is the serial port where Arduino is connected.
In this project an interface to dynamically collect emf data from potentiometric detectors is designed, manufactured and tested by applying the open source philosophy. All tools used to design and create the necessary code are free and, most often open source. Therefore the only cost of the interface is the electronic hardware, with a total of US$ 75, well below the cost of any commercial potentiometer.
The video below shows how a potential obtained from a power source can be monitored with an Arduino and a Java app. The value of potential is plotted on a graph three times per second.