ABE-Stat, a Fully Open-Source and Versatile Wireless Potentiostat Project Including Electrochemical Impedance Spectroscopy

Exciting discoveries in material science and molecular interactions are resulting in many promising electrochemical biosensor technologies. Compact, high-quality instrumentation is critical to adaptation of these new technologies especially for distributed applications in the agriculture and food industries. To this end, we have developed ABE-Stat, a fully open-source, battery-powered potentiostat project including a wireless Android interface. ABE-Stat is capable of conducting routine electrochemical analyses including cyclic voltammetry (CV), differential pulse voltammetry (DPV), high impedance potentiometric measurements, and can connect directly to the internet through WiFi or indirectly through the Android interface. Importantly it is the ﬁrst fully open-source potentiostat capable of evaluating electrochemical impedance spectroscopy (EIS) across a wide frequency spectrum (0.1 Hz to 100kHz)withuserselectableamplitudeandbias.Currentnoisewasobservedtobeoveranorderofmagnitudelargerthanthenominal resolution of the embedded 24-bit analog to digital converter (ADC), but were largely consistent with the actual ADC speciﬁcations. In this manuscript we share detailed documentation for ABE-Stat including hardware design and source code, and evaluation of the performance of all avaiable analyses. We also suggest design improvements that could improve the noise performance of ABE-Stat and consistency of EIS measurements across the spectrum.

In our experience, unavailability of high quality, affordable analytical hardware/software can be a considerable barrier to commercialization of new diagnostic technologies. [32][33][34] Our objective here is to make available a new platform to facilitate the commercialization of electrochemistry-based diagnostics for food safety and quality, agriculture and the environment, or for teaching and scientific investigations in under-resourced settings. An important sub-objective is to extend capabilities of previously documented open-source potentiostat projects by incorporating a wireless interface and enabling electrochemical impedance spectroscopy (EIS). Numerous reports of customized devices for electrochemical analyses have been published recently. 35,36 Some of these approaches have leveraged powerful software tools available in proprietary platforms such as LabVIEW 37 or MATLAB, 38,39 though for greater accessibility many devices are built on open-source hardware/software platforms such as Arduino, 40,41 single-chip potentiostats 42 or commercially available systems-on-achip. 43 Landmarks in the development of fully documented opensource potentiostat projects include the "CheapStat" from Rowe et al., 44 fully operational versions of which are directly available at an affordable price, and the "DStat" from Dryden and Wheeler 45 which established a benchmark of performance for voltammetric applications rivalling proprietary commercial platforms. In the same spirit, we document here a fully open-source potentiostat project "ABE-Stat", which we hope can facilitate rapid commercialization of portable diagnostic * Electrochemical Society Member. z E-mail: danielje@hawaii.edu technologies for food, agriculture, and the environment. Our design is largely inspired by the component selection and layout of DStat by Dryden and Wheeler, 45 but like some other projects 38,46-48 uses a wireless/smart phone interface to improve portability of the system. This inherently WiFi-connected platform facilitates sharing and aggregation of results and inclusion of geospatial and temporal metadata. It also potentiates the facile incorporation of new machine learning tools for classification of results and automated decision support, 48,49 and facilitates the integration of field data into the Internet of Things that is expected to have a tremendous impact in the food supply chain. Our design is also the first such open-source project that has incorporated hardware and software features to enable EIS, with arbitrary DC bias and programmable AC amplitude. A parametric comparison of the ABE-Stat to other notable custom potentiostat networks described in the recent literature is presented in Table I.
Digital information is communicated through frequency-shift keying over the audio jack of a generic phone and shuttled to a MATLAB program through Voice Over Internet Protocol, which returns processed results back to phone by SMS. † Device is wireless and battery powered, but requires cabled connection to audio jack of phone. ‡ Device connects to remote PC through generic phone and Voice Over Internet Protocol (VOIP). ¶ Builds on "CheapStat" as potentiostat hardware. § Wi-Fi enabled by virtue of interface to Android devices.

Figure 1.
Abridged schematic of ABE-Stat analog networks. Analog switches (ADG715, ADG779, and ADG704) are controlled by ESP8266 (not shown). This includes options to configure the electrode network (2 or 3 electrode, or open circuit) and composition of the excitation signal (from DAC and/or digital synthesizer output of network analyzer AD5933) using single pole switches (ADG715). Another set of analog switches control the routing of working current to electrometergrade transimpedance amplifier (LMP7721) and 24-bit ADC (ADS1220), or alternatively to the inputs of the network analyzer IC (AD5933). The transimpedance gain is controlled by one of four resistors selected by the switch ADG704. value (i.e. resistor at top left of Figure 1) into the summing network to the control amplifier. For system control we used the ESP8266 WiFi microcontroller system (ESP12S Module, Espressif Systems, Shanghai, China) with embedded WiFi radio, 80 MHz 32-bit microprocessor and 4 MB of flash/programmable memory. For simple interfacing to a custom Android app described below, the hardware device also incorporates a classic serial Bluetooth module (RN42, Microchip, Chandler AZ, USA). Due to the limited hardware IO of the ESP8266, a series of three 8-bit shift registers (74HC595, Fairchild Semiconductor, Sunnyvale, CA, USA) are used to generate control signals for various chip selects and to route various network signals including to set the transimpedance amplifier gain and routing of the working current through either a custom electrometer grade amplifier (LMP7721, Texas Instruments) to the system ADC or to the amplifier terminals of the network analyzer. Configuration of the electrode network and the composition of the control signal is achieved by setting the states of 8 analog switches (ADG715 octal analog switch, Analog Devices) through Inter-Integrated Circuit (i2c) communication. The i2c port is also used to control and read data from the network analyzer AD5933. Electrodes are connected to the device through spring loaded terminals (COMBICON PTSM Series connectors, Phoenix Contact, Blomberg, Germany) which are also used to optionally connect a thermocouple for temperature measurement. A spare two outputs from the shift registers are available and could potentially be used for feedback control of temperature for example. To enable truly portable operation, ABE-Stat can be powered directly with a single-cell lithium battery, and the hardware includes a charging circuit for the battery that is powered through a micro-USB jack. The battery connector is compatible with many generic lithium polymer batteries resold through a variety of electronics suppliers (i.e. we use a 2000 mA-hr battery, product ID 2011, from Adafruit, New York City, NY, USA). The full EAGLE (Autodesk Inc., San Rafael, CA, USA) schematic and layout files for the 4-layer printed circuit board (PCB) measuring 2.9 in × 3.5 in (∼74 mm × 89 mm), along with gerber fabrication files, bill of materials, and centroid files for assembly are available as supplemen-tary materials (Files S1) which also include a text file with links to the material on the internet (GitHub Inc., San Francisco, CA, USA).
Software design/approach.-While the ABE-Stat hardware is inherently WiFi-enabled through the ESP8266 microcontroller and could easily be automated to continuously upload data to a server, for general purpose uses we have developed an Android app to interface with the device over Bluetooth ( Figure 2). The app (ABE-Stat) is freely available through Google Play, and the source code is included as supplemental material (Android code as Files S2; Arduino firmware operating on the hardware as Files S3) including text files with links to most recent versions on GitHub. A quick guide to connecting and using ABE-Stat, including instructions for updating the firmware and photographs of the populated PCB, is shared as supplemental material File S4. In general all commands originate from the Android side and conform to simple coded instructions. The hardware then responds accordingly and returns coded data resulting from the requested analyses. Currently the interface defaults to a "multimeter"-like interface when the device first connects, displaying the open source potential on the electrode network, as well as device and thermocouple temperatures. Thermocouple temperature is estimated assuming a type K thermocouple using software compensation relative to the temperature value recorded on the ADC chip, and ITS-90 standard polynomial coefficients. 50 The user can then select other measurements including network current for a user defined potential (and electrode configuration), or resistance or capacitance for user defined electrode configuration. For more detailed analyses and/or to create an electronic record of data the user can use the options menu to create and edit methods based on several common techniques including Cyclic Voltammetry (CV), Differential Pulse Voltammetry (DPV), Electrochemical Impedance Spectroscopy (EIS), and a "Static Logging" function suitable for implementing chronoamperometry or monitoring of potentiometric sensors, which records cell potential, current, and temperatures under static conditions for configurable network (open circuit, or 2 or 3 electrodes with user defined bias). The number of cycles or duration of each method can be controlled, and results of analysis are displayed graphically in real time. Results are stored as comma delimited (.csv) files which can be can be opened for viewing later within the app, or shared by e-mail directly from the app. Currently the app includes separate string files to operate in any of 6 languages (English, simplified Chinese, Spanish, Japanese, Korean, and Portuguese).
System calibration.-Calibration of each ABE-Stat requires the use of a separate Android app ("ABE-Stat Cal", available as Supplemental Material File S5). Calibration of the ABE-Stat system is predicated on the presumed accuracy of the precision 2.048 V reference on the ADS1220 ADC. System calibration first requires that the DAC be calibrated over its nominal dynamic range (−1.65 V to 1.65 V), which is achieved by communicating nominal system DAC outputs to the Android along with the corresponding observed network potential outputs at discrete intervals over the range. The calibration app then returns least squared error linear regression coefficients which are stored into system EEPROM of the ABE-Stat hardware device. The transimpedance gains are then calibrated by applying a (calibrated) potential to a two-terminal network with a known resistor value (which the user pre-calibrates and sends the value of from within the app), and measuring resulting voltage outputs from the transimpedance amplifier on the ADC. Calibration of the network analyzer is the most tedious operation, as it requires calibration of digitized admittance and system phase across frequencies for a total of 48 different settings (4 different possible peak AC amplitude values of 10 mV, 20 mV, 50 mV, and 100 mV; 3 different transimpedance gains used in conjunction with the network analyzer; internal x5 programmable gain amplifier enabled or disabled, and; use of internal 16.776 MHz system clock or external 250 kHz clock to set the frequency range for analysis). These calibrations are conducted using "real" resistive loads in a twoelectrode network, first having the system estimate the load resistance, and then calibrating each setting expected to result in an unsaturated output with reasonably high signal to noise ratio (i.e. peak voltage output above 100 mV). This is repeated for as many resistor values required to achieve calibration of all available settings-typically nominal values of 100 k , 33 k , 10 k , 3.3 k , 1 k , 330 , and 100 . Finally the internal clock of the network analyzer, which in our experience is only accurate to about 1%, is calibrated by connecting the network to an oscilloscope and having the user enter the actual frequency observed when the synthesizer is programmed to construct a nominally 2047.85 Hz signal. Systematic step-by-step instructions for calibration are shared as Supplemental Material File S6.

Evaluation of ABE-Stat current draw/power requirements.-
To estimate current draw from the battery (and correspondingly the estimated battery life), power was supplied from a fully charged single-cell lithium battery (4.2 V) and current was measured through a handheld multimeter (Fluke-115, Fluke Corporation, Everett, WA, USA), for a variety of operating conditions with the device firmware as shared in the supplemental materials (Files S2). In the implementation described here, average current requirements for ABE-Stat vary primarily depending on the required rate of data transmission over the Bluetooth radio, and whether or not the AD5933 network analyzer chip is powered (i.e. for EIS measurements above 60 Hz).
Evaluation of ABE-Stat noise.-To evaluate the noise on the ABE-Stat, its firmware was customized to record cell potential and current under static conditions, interfacing to a separate general purpose data acquisition and control application ABE-VIEW 51 described elsewhere. In these experiments, the cell was configured for two electrodes, and a nominally 1 M (5%) leaded resistor was used as the load, applying a 0 V control signal. Current noise was estimated as the root mean squared (RMS) error values for 1000 observations recorded at each of the four transimpedance gains available on the device, for the ADC configured in the default "normal" 20 Hz data rate used for static logging and "multi-meter"-like functions, as well as in "turbo" mode at 2 kHz data rate used for dynamic voltammetry functions (CV and DPV) and low frequency EIS. Static voltage noise in the control circuit was estimated as the RMS error values of the corresponding measurements recorded after each current measurement, and dynamic voltage noise was estimated as the observed standard error in the least squared error linear regression of observed cell potential against time for the forward sweep of a CV scan at 0.1 V/s of a nominal 1 M (5%) resistor in two-electrode configuration. Thermocouple noise was estimated as the RMS error value of 1000 voltage measurements at 20 Hz data rate for a tin-plated solid copper wire shorted across the thermocouple inputs.
Voltammetric measurements.-For demonstrating the performance of voltammetric functions of the ABE-Stat, single CV and DPV scans were recorded for a three electrode cell in an electrolyte solution containing equimolar concentrations of K 4 Fe(CN) 6 and K 3 Fe(CN) 6 totaling 10 mM, and 0.1 M KCl. 52 A saturated Ag/AgCl electrode (catalog # A57194, VWR International, LLC, Brisbane, CA) was used as the reference, platinum electrode (product # CHI115, CH Instruments, Inc., Austin, TX) was used as the counter electrode, and gold wires (50 μm gold-plated tungsten wire immersed to about 1 cm, ESPI Metals, Ashland, OR) with and without dip coating in polyethyleneimine 20 were used for working electrodes. Cells were equilibrated for 10 seconds at the starting potentials (-0.2 V vs. saturated Ag/AgCl), then scanned to +0.6 V and back to the starting potential at 0.1 V/s (CV) or with 2 mV steps/25 mV pulse amplitude at 25 Hz (DPV). All scans were compared with scans recorded under the same conditions/parameters with a reference laboratory potentiostat (μ-Autolab type III potentiostatic frequency response analyzer (FRA) equipped with NOVA software version1.6, Metrohm Autolab USA Inc., Riverview, FL). As the reference instrument reports DPV potentials from prior to the pulse and ABE-Stat reports potentials after the pulse, potential data from ABE-Stat DPV scans were shifted down by 25 mV for comparison.
Potentiometric measurements.-To demonstrate high impedance potentiometric measurements with ABE-Stat measurements were made using a combination pH electrode (Fisherbrand Accumet Catalog number 013-620-285, Thermo Fisher Scientific, Waltham, MA, USA), recording the average of 100 observed potentials with ABE- Stat in each of three pH standard buffers (4,7,10), and comparing values to the "equilibrium" potential observed on a benchtop laboratory meter (Accumet Fisher AR 60). The temperature displayed by the laboratory meter was recorded to evaluate the Nernstian behavior of the system.

Electrochemical impedance spectroscopy.-EIS measurements
were recorded using the same electrochemical cell and conditions described above for voltammetric measurements. For each working electrode (coated and uncoated gold wires) scans were recorded for each combination of 0 and 200 mV bias vs. saturated Ag/AgCl, and peak AC amplitudes of 10 mV and 100 mV. Prior to each scan, cells were equilibrated at the given bias potential for 10 seconds. For comparison, scans were also completed for the same signal settings using the same reference potentiostat as used for voltammetric scans, set to estimate impedances from a single AC cycle at each frequency.
To better understand some of the EIS performance limitations of ABE-Stat, scans were also recorded for simple linear two-terminal networks (in 2 electrode configuration), with 0 V bias. Loads evaluated included a nominal 33 k (5%) leaded resistor, as well as other 33 k resistors soldered in parallel to nominal 100 pF (20%) ceramic, 10 nF (20%) ceramic, and 10 nF (20%) polyester film capacitors. Ideal EIS behavior was predicted for these loads by modeling each load as a resistor with value taken as the average impedance observed at the lowest 10 frequencies of the scan, and, where applicable, parallel capacitance estimated as the equivalent capacitance for the impedance magnitude observed at the highest factor of 10 frequency where impedance magnitudes were observed to be rolling off linearly on a logarithmic scale.

Evaluation of ABE-Stat current draw/power requirements.-
The current from a single-cell lithium battery required to power ABE-Stat varies depending on the analytical function being implemented (Table II). In the firmware shared here it should be noted that the WiFi radio of the ESP8266 is explicitly disabled, and that alternative firmware implementations using WiFi capability could change the current draw significantly. Here, variations in current are largely governed by the data transmission rate required for the given analysis, and importantly whether or not the analysis requires the network analyzer AD5933 to be powered (i.e. only EIS at frequencies above 60 Hz). Even for analytical applications with the highest power requirements (∼110 mA for EIS above 60 Hz) the nominally 2000 mA-hr battery we use should last for up to 18 hours of continuous operation on a single charge, well in excess of the typical battery life for smart-phones and tablets with the screen illluminated.

Evaluation of ABE-Stat noise.-Current noise observations on
the ABE-Stat were approximately 21 times the value of the nominal quantization step of the 24-bit ADC even at the lowest gains and data rates (20 Hz) used for routine analysis (Figure 3)-equivalent to a loss of more than 4 bits from the nominal system resolution. As expected Figure 3. Observed current noise on ABE-Stat measuring at "normal" (20 Hz) data rate (black symbols) and "turbo" (2 kHz) data rate (red symbols).
noise was higher at the higher data rates (2 kHz) used for dynamic applications like CV, DPV and low frequency (below 60 Hz) EIS, with RMS noise approximately equivalent to the quantization step of a 16-bit system with equivalent range. These levels of noise were greater than those reported by Dryden and Wheeler for the DStat, 45 which were approximately equivalent to 23 bits of precision at lower gains at a 60 Hz data rate. Much of the discrepancy can be attributed to limitations in the respective ADCs used in the projects even though they are both nominally 24-bit Sigma-Delta systems. For example the ADS1220 used for ABE-Stat has an Effective Number of Bits (ENOB) of 20.01 when using a data rate of 20 Hz or 16.79 at 2 kHz, 53 compared to the ADS1255 (Texas Instruments) used for DStat with reported ENOB of 23.8 at 60 Hz, 21.2 at 2 kHz, and 19.8 at 30 kHz. 54 RMS noise in the voltage control circuit of ABE-Stat was about 50 μV under static conditions for all observed data rates, approximately equivalent to the quantization step for the 3.3 V 16-bit DAC. This is consistent with an approximate current noise floor of 50 pA which is near the value of about 100 pA observed at the highest gain (10 6 ) under the tested conditions ( Figure 3). Under dynamic conditions (i.e. CV) the RMS error of the control potential was observed to be about 300 μV, potentially contributing additional noise to dynamic measurements such as CV and DPV.
Noise at the thermocouple inputs was about 5 μV, equivalent to roughly 0.1°C for a type-K thermocouple. This value is substantially lower than the RMS noise observed on the control amplifier, and close to the manufacturers specifications (3.9 μV) 53 under the settings used for thermocouple measurement.
Voltammetric measurements.-Cyclic voltammograms with ABE-Stat corresponded closely to measurements with a reference instrument (Figure 4), with significantly larger redox current peaks for bare gold wire electrodes compared to electrodes coated in polyethyleneimine. Similarly, DPV scans resulted in expected characteristic shapes of redox current curves, with substantial correction for the background currents from dielectric charging at the boundary layers and larger current peaks on bare wires ( Figure 5). All scans were highly symmetric reflecting the highly reversible nature the selected redox reaction.

Potentiometric measurements.-Potentiometric measurements
with the ABE-Stat corresponded closely to those of the reference instrument ( Figure 6), with root mean squared error of 3.2 mV between corresponding readings, or standard error of 1.5 mV for the linear calibration using the reference instrument as a standard. The potentials reported by ABE-Stat for different nominal pH standards resulted in a sensitivity of −57.9 mV/pH unit at 22°C, representing about 1% deviation from the predicted Nernstian response of −58.5 mV/pH unit at that temperature.
Electrochemical impedance spectroscopy.-EIS scans of ferricyanide solution with ABE-Stat resulted in data reasonably close to those measured with the reference instrument, especially for small AC amplitude signals (10 mV peak) with bias (200 mV) close to the redox potential of ferricyanide (Figures 7a and 7c). At higher AC amplitudes (100 mV) more significant deviations from the reference instrument could be observed (Figures 7b and 7d) which may partially be attributable to the non-linear nature of redox processes and corresponding limitations in the approaches for estimating impedances with ABE-Stat (see discussion). As expected gold wires coated with polyethyleneimine exhibited higher impedance than bare gold wires across the spectrum, and correspondingly capacitive characteristics and peak differences in phase of cell current and voltage occurred at lower frequencies. At lower frequencies especially the higher AC amplitude condition resulted in higher observed impedance magnitudes  Removing the DC bias in EIS measurements ( Figure 8) resulted in significantly increased impedance for all conditions as redox currents were diminished, and correspondingly a more capacitive characteristic (larger phase lag of current) at low frequencies. Unbiased measurements also resulted in significantly more noise in the ABE-Stat impedance data, especially at low frequencies where network impedance was highest (near or above 100 k in magnitude) and the AC perturbation signal was small (10 mV ; Figures 8a and 8c).
EIS scans of two-terminal linear passive networks (Figure 9) mostly behaved as predicted, with a purely resistive characteristic at low frequencies transitioning to capacitive characteristics at higher frequencies for networks including a capacitor in parallel with the load resistor. Nevertheless large discontinuities can be observed in the ABE-Stat data, notably at several characteristic frequencies (2 Hz, 60 Hz, and 2 kHz) corresponding to different approaches that ABE-Stat uses to estimate impedance.

Discussion
In the spirit of other fully open-source potentiostat projects like CheapStat from Rowe et al. 44 and DStat from Dryden and Wheeler 45 we have shared an open-source hardware design with software tools to make high quality electro-analysis more accessible to the community. While ABE-Stat falls short of the exceptionally low-noise performance of DStat, its performance is better in this respect than many other published potentiostat projects. 44,55,56 Importantly ABE-Stat can be operated wirelessly through Bluetooth or WiFi, and is configured to enable EIS measurements with user defined bias. The total cost of components/bill of materials for ABE-Stat is about US$105, similar to the component costs for DStat. Circuit board fabrication and assembly can vary based on geographical factors and especially the scale of production, but we have obtained quotes for fabrication and assembly (excluding component costs) from a US-based manufacturer of US$110 each for a quantity of 25, and US$47.50 each for a quantity of 100.
While we believe that our existing hardware design is adequate for many routine analytical applications, and could readily be adapted for low-cost biological and chemical sensing in the field, there are several important limitations that the user should be aware of and that could potentially be addressed with improvements in device design. For precision voltammetric measurements of small signals the most obvious improvement would be to use the ADC from DStat (ADS1255 family, Texas Instruments), which under similar conditions has Figure 7. EIS magnitude and phase plots for 200 mV bias with 10 mV peak AC (left) and 100 mV peak AC (right). Red symbols are from ABE-Stat, black symbols are from reference instrument, filled symbols are for bare gold wire, and open symbols are from "coated" gold wire. All measurements made in 10 mM potassium ferricyanide/ferrocyanide and 100 mM KCl solution, with saturated Ag/AgCl reference. Vertical dashed lines represent major discontinuities in how ABE-Stat determines impedance. effectively 4 bits (16x) better precision and importantly has a maximum data rate of 30 kHz compared to 2 kHz for the ADS1220 used in ABE-Stat. For measurement of small signals the stability of the control amplifier also needs to be improved. Like Dryden and Wheeler, we made significant efforts to isolate noisy digital components of the device and especially in the case of ABE-Stat the wireless radios from the analog circuitry. This included generous use of ferrite beads and other filtering between the respective power supplies and grounds. For the implementation shared in this work the WiFi radio of ESP8266 was also disabled. The fact that noise on our thermocouple input was close to the rated value for our ADC suggests that isolation of the digital and analog power supplies was largely effective, but the relatively high noise observed on the control amplifier of ABE-Stat suggests that significant improvement could be made stabilizing the potentials on this part of the design for both static and dynamic measurements.
Several system improvements might be achieved by changing from an ESP8266 based microcontroller to the newer ESP32 (Espressif Microsystems) based microcontroller, which has considerably more general purpose input/output (GPIO), as well as integral Bluetooth (both classic and low energy standard) in addition to WiFi. All of these features could result in a considerably condensed footprint of the digital circuits which may improve noise performance, and switching to low energy Bluetooth itself might result in considerably diminished noise.
One of the most compelling features of ABE-Stat is the ability to conduct EIS measurements. While other published projects such as Pruna et al. 39 and Zhang et al. 57 nominally have the same capability, they are implemented on a connected PC operating with expensive proprietary software (MATLAB), 39 or have relatively restricted frequency range and do not allow user control over the applied DC bias. 57 Even so there are significant hardware and software improvements that could be made for EIS measurements with ABE-Stat including innovations gleaned from the prior art. While the network analyzer chip AD5933 is powerful and is also used in the project of Zhang et al., 57 it has several limitations that can make non-linear analyses such as EIS difficult. On the AD5933 the frequency of AC signals (from a built-in digital synthesizer) and the resulting impedance analyses are scaled to the system clock, with synthesizer frequency governed by a userdefined phase accumulator value clocked in at a rate proportional to the system clock, and impedance is estimated from the coefficients of a 1024 point Discrete Fourier Transform (DFT) that is also sampled at a rate proportional to the clock. Accurate measurements using the internal 16.776 MHz clock therefore cannot be made for frequencies below about 1 kHz 58 (corresponding to the 1024 measurements for the DFT sampled over a single cycle of the synthesizer frequency), and similarly at the low end of frequencies major errors occur if frequencies are evaluated that do not correspond to integer numbers of cycles over the sampled period. In our case we force ABE-Stat to only evaluate integer harmonics of the minimum frequency below 10 kHz, and as results were not consistent at the minimum frequency value we only used the internal clock for measurements starting at about 2 kHz. Below this frequency we use an external 250 kHz clock with AD5933, nominally extending the analysis range down to about 15 Hz. However, due to AC coupling of the synthesizer signal into the control amplifier (critical frequency 7 Hz) we only use this clock to evaluate frequencies down to about 60 Hz. Evaluation of impedances at lower frequencies is achieved by disconnecting the network analyzer and building the entire desired signal in software from the DAC. Impedances at the desired frequency are then estimated from the corresponding DFT coefficients of the current signal from a 24-point sample. Below 2 Hz the samples are taken over a single cycle of the given frequency, but since reading the ADC is the slowest part of the operation even at the highest data rate of ADS1220, above 2 Hz samples are distributed over 8 cycles (corresponding to 3 samples per cycle). These variations in the implementation of EIS measurements can result in large discontinuities at these critical frequencies (Figures 7, 8, and 9), especially when analyzing non-linear systems where the current signal is not a perfect sinusoid. Zhang et al. 57 overcome many of these issues by controlling the AD5933 timing from a programmable clock, which in principle could be used to consistently control the sampling period with respect to the applied frequency at any arbitrary frequency. This approach could potentially also address a limitation of the AD5933 for analyzing EIS, in that starting a new "frequency sweep" (measurement at a new frequency if the frequency needs to be incremented on a logarithmic scale) requires a reset command which introduces a large transient on the applied DC component of the signal. 58 Some of this transient can be observed through the AC coupling to the control amplifier of ABE-Stat even when the synthesizer is disconnected through it's corresponding analog switch, resulting in undesired perturbations of electrochemical equilibrium that could affect measurements.
It should be noted that ABE-Stat measurements from the AD5933 using the 250 kHz clock (i.e. in the range from 60 Hz to 2 kHz; Figures 7, 8 and 9) are unreliable for non-linear non-resistive loads. This is unfortunate because these correspond to very critical frequencies (i.e. circular portions of Nyquist plot) in many electrochemical systems. We are currently not able to explain this phenomenon, though in a previous iteration of the ABE-Stat design the analog power supply to the network analyzer AD5933 was from a precision voltage reference that was overly taxed from the current demand of the AD5933. This resulted in a relatively large AC signal on the voltage reference and distortions in the control signal with a very large harmonic near 750 Hz. 51 It is essential therefore that designers keep this constraint under consideration and power the AD5933 with a voltage source with current capacity easily capable of supplying the rated requirement (10 mA for 3.3 V supply). 58 For extending the frequency range and improving performance for the software-intensive EIS approach at low frequencies of ABE-Stat, the higher speed ADC used by Dryden and Wheeler 45 (ADS1255 Series) could be useful.
While EIS can be conducted by ABE-Stat with arbitrary DC bias, one important limitation is that the analog reference for the AD5933 network analyzer chip (generated internal to the chip, and approximately half of the analog supply voltage 58 ) is not directly connected to the reference for the rest of the analog circuitry (generated by a "rail" splitter chip from analog voltage supply and ground; TLE2426 Texas Instruments). This results in discrepancies in bias voltage from the calibrated values when impedance measurements are made with AD5933. We've observed these discrepancies to be about 20 to 30 mV, which can be significant where precise biases relative to redox potential is important. In future iterations this could be corrected by making a single voltage reference for the entire analog network using a voltage follower from the Vin pin of AD5933, as this pin is "virtually" connected to the AD5933 reference through an internal amplifier. Alternatively the AD5933 reference voltage could be routed through a voltage follower to the system ADC to allow it to be measured/calibrated with respect to the rest of the analog circuit.

Conclusions
We have designed a compact and versatile potentiostat device (ABE-Stat) and accompanying software to conduct many routine electrochemical analyses, and made the designs and source code freely available for direct use or adaptation. The design was inspired largely by that of the DStat from Dryden and Wheeler, 45 though with respect to noise for voltammetric applications our design fell short of the DStat which we regard as a benchmark for performance of an open-source device. Even so the ABE-Stat represents some compelling advances in open-source potentiostat projects, in that it is also fully wireless enabled (WiFi and Bluetooth), includes an Android interface to facilitate field use, and in addition to basic voltammetric (CV and DPV) and potentiometric (open source voltage) measurements it incorporates capability of conducting EIS measurements across a wide frequency spectrum (0.1 Hz to 100 kHz) and large range of impedance values (less than 100 to in excess of 100 k ) with any of four available peak AC amplitudes (100 mV, 50 mV, 20 mV, or 10 mV). In contrast to other recent projects that incorporate EIS capability 39,57 our implementation does not have additional proprietary software dependencies, and allows user control of the DC bias. We have fully characterized all of the capabilities of the device, and made rational recommendations for improving design with respect to current noise, and consistency of EIS measurements.