Measuring Open Circuit Potential

  • Looking at the example file, I believe it is relatively easy to create a test to measure the potential between two electrodes. Unfortunately, the firmware itself doesn't support open circuit ("floating") potentials; the working-reference (output) potential is set to 0V at initialization.

    Will there be issues if I remove the setVolt(..) commands defined in these methods?

    • SystemState::initialize()
    • AnalogSubsystem::initialize()

    To evaluate the changes, I plan to run a simple python script like this:
    port = '/dev/ttyACM0'
    sample_period = 5
    dev = Potentiostat(port)
    t_start = time.time()
    while True:
    ref_volt = dev.get_ref_volt()
    t_current = time.time()
    print('%05.0f,%04.2f' % (t_current - t_start, ref_volt))

    Any thoughts?

  • Hi Brad,

    Unfortunately, just removing the setVolt commands won't be sufficient - as the control amplifier will still be running trying to control the voltage between the reference and working electrode. You really need to disconnect the counter electrode. Right now your best bet is to disconnect it manually. You might put a little switch between the counter electrode and the test cells. You could even use a digital switch activated by one of the DIO lines on the 5x2 header P14.

    In a future revision I would like to put another digital switch on the board so the counter electrode can be disconnected in firmware (without added an external switch).


  • Hi Will,

    Thanks for the tip. For now I'm going to manually disconnect CTR from my sensor.

    I did run into a minor problem where the commands aren't recognized by the device. I'll try to refresh the device with newer firmware.

    OSError: command, getRefVolt, not found, {'success': False, 'message': 'command, getRefVolt, not found', 'response': {}}


  • Updated to 0.0.4 and it works. Thanks again!

Log in to reply