You could use the linear sweep voltammetry (LSV) test in the cheapstat firmware to do anodic stripping voltammetry. The settling time parameter can be used to set the time for your preconcentration step.
There is also a squarewave voltammetry (SWV) test in the firmware. This would almost do what you want for squarewave anodic stripping voltammetry. Unfortunately there doesn't seem to any period at the beginning of the trial which could be used for your preconcentration step. However, I think it would be pretty easy to modify the firmware to add this. The SWV test in implemented in the SWV_test function in cheapstat.c. For an example of how this delay at the start of the trial could be implemented you could look at the LSV_test function which implements the linear sweep voltammetry.
Corrosion monitoring and analysis usually takes a large dynamic range (eg polarization curves etc.) or requires measurements with respect to open circuit (LPR, EIS , OCP-monitoring). These are not well-suited to the current version of cheapstat.
By default the new potentiostat has +/- 1, 10, 100, 1000 uA current ranges (16-bit ADC) and +/- 1, 2, 5, 10 V output ranges (12-bit DAC). Other ranges are possible by changing a resistor (and possibly capacitor) on the PCB - up to a max of around 20mA.
We are currently developing a programming library and reference firmware for the new Potentiostat. These will be available when we first launch the device. Currently implemented tests include: cyclic voltammetry, sinusoidal voltammetry, constant voltage, linear sweep, and chronoamperometry.
The new potentiostat is controlled over USB. So all test parameters are set/retrieved and all tests initiated/stopped over USB. Also, data is streamed to the host PC, as it is acquired, over USB during tests. Because of this test duration is not limited by the MCU memory.
We should have the firmware ready fairly shortly. While I can't put an exact date on this I'm hoping we will have it ready by early March. Once the firmware is ready we will add the new potentiostat as a product on our website.
At launch we won't have software for the host PC with a Graphical User Interface (GUI) etc. This is definitely something we are actively developing, but it won't be ready right away. We will have a serial library (Python/pySerial) for controlling the device along with example programs demonstrating how to set/get parameters, start trials, receive data, etc.
Also, all hardware designs, firmware, and software will be open source. I will be making these available soon.
I haven't modified the cheapstat to have a +/- 1uA range - however I'm pretty sure this should be doable.
Also, we have a new potentiostat design coming out soon which is basically a shield for the teensy 3.2 development boards (https://www.pjrc.com/teensy/teensy31.html). It has current ranges of +/- 1, 10, 100, 1000 uA and output voltage ranges of +/- 1, 2, 5, and 10V. We just got a batch of the new of the PCBs in - I've attached an image below. We should have them up on our website within the next 2-3 weeks.
Note, we are not the original authors of the cheapstat firmware, but I have some familiarity with it. In the cheapstat.c file each test has its own function. For example for the CV test the function is called "CV_test". The serial data is sent at the bottom of this function. As an example, in the "CV_test" function look at the code following the "//start output to USB" comment.
The cheapstat's hardware is capable of this, but it would require considerable modifications to the cheapstat firmware. There is currently no serial API for setting parameters or initiating runs - this must be done manually using the joystick switch on the device. At the moment we don't have plans to make any modifications to the cheapstats firmware - such as adding a serial control API.
We are currently developing a potentiostat shield for use with the teensy 3.2 development board (https://www.pjrc.com/teensy/teensy31.html) which could definitely be used as an OEM unit. The firmware is being developed from the ground up with a serial API for configuring/controlling the device and streaming back data. Also, it is programmable using the Arduino IDE (w/ the teensyduino patch).
Some quick specs on the potentiostat shield:
12-bit programmable voltage output ranges: +/- 1V, 2V, 5V and 10V
16-bit current measurement w/ programmable ranges: +/- 1uA, 10uA, 100uA, 1000uA. (hardware defaults)
Programmable over USB using the Arduino IDE
Serial API for controlling device over USB/Serial
5.UEXT expansion header w/ UART, I2C, SPI buses for communication with external hardware.
6.Expansion header with additional DIO and analog inputs.
Note, the default current ranges can be modified by changing a resistor. The maximum output current is about 30mA and is limited by the control amplifier.
We are currently testing prototypes and developing the firmware. We have batch of assembled PCBs coming arriving in about 2-3 weeks. So we should have these available on our website within the next month or so.
Initially, we will offer the device as a hardware shield w/ option to include a pre-programmed teensy. We will have an Ardunio library + default potentiostat firmware which can be used for controlling the device. We will also have some programming examples for users who wish to create their own firmware and a python library demonstrating how to use the serial API provided by the default firmware.
Later we plan to develop and enclosure and some PC software (with GUI) so the shield+teensy can be used as a ready-to-go laboratory instrument.
I've included some images of early prototypes we've been testing - with and without teensy
The values returned are the raw integers read from the ADC (analog to digital converter) on the output of the transimpedance amplifier (current to voltage converter). You will need to convert these integer values to current measurements e.g. uA. While it is possible to do a first principles calculation using the values of the feedback resistor in the transimpedance amplifier it is generally better to just do a simple calibration using a dummy cell consisting of a single resistor (of known value R).
The basic idea is to connect the counter and reference electrodes to one side of the resistor and the working electrode to the other side. You then want to sweep the voltages through a range of values - e.g. via a cyclic voltammetry test. Because the resistance R is known for each output voltage v(t) in the test you can calculate the current i(t) = v(t)/R through the resistor. At the same time you have the measured ADC integer values n(t) corresponding to this current. To get the calibration you can just perform a linear fit between the ADC integers n(t) and the know current values i(t).
When performing the calibration test make sure to select an appropriate resistor. You want to generate currents which span the input range (for current), but don't go outside of it. The transimpedance amplifier can't generate voltages higher then 3.3V or lower than 0V - so if you go outside of the current range you will get clipping (or saturation) of the output which will show up as a flat spot in your calibration data.
The control amplifier on the cheapstat uses the TLC2264 op amp http://www.ti.com/product/TLC2264. According to the spec. sheet this has maximum output current of +/- 50mA.
You might be able to get output voltages as high as 3V if you only care about unipolar output. The cheapstat is a 3.3V device. The the potentiostat circuit uses the REF voltage as its effective "ground". The value of REF is set via DAC1 on the microcontroller. By default this is set to the mid-point voltage 3V/2 = 1.65V. This allows for symmetric positive and negative voltage output - e.g. -1.65V to 1.65V (at least from the hardware). You could modify the firmware and change the value of REF to be 0V. It which case you could output 0 to 3.3V. Also, you may need to make some other firmware changes - to the various test parameters - in order to get this to work.
@wendy I just designed a little dummy cell for testing a new potentiostat design which we are currently developing. It would work with the Cheapstat as well. I've ordered 10 PCBs - which should arrive in about two weeks. I could send you one if you would like.
Dummy cell schematic
Dummy Cell Layout
You could put different values in for R1, R2, R3 and C1 for different tests.
Q1. Could these connectors be used with any other potentiostat? Are there any voltage or current adjusting electronics mounted on the PCBs of these adapters?
A1. There are no voltage or current adjusting electronics mounted on the PCBs of these adapters. The adapter makes direct electrical connections with the counter, working and reference electrodes on the screen printed electrodes. Depending on the potentiostat you are using it may be possible to use our adapters. The adapters have a 3-pin female receptacle which connects to a three pin header on the cheapstat. You may need to modify this connector to work with a different potentiostat.
Q2. How long would it take for the adapters to arrive after we order them? Our address is Boston MA 02210. What would be the estimate of the shipping cost?
A2. The shipping cost is calculated at checkout on our website. Currently shipping the adapters is about $7 to Boston (depending on quantity). Provided the adapters are in stock they will ship the next business day. Shipping with USPS Priority mail typically takes 1-2 business days.