Easy to build PSoC based Potentiostat

Use a PSoC 5LP and an external capacitor to build a Potentiostat

Public Chat
Similar projects worth following
Here we show how to create a potentiostat for electrochemical experiments out of a PSoC 5LP board. The CY8CKIT-059 and a 100 nF through hole capacitor are the only components needed to create the device.

Electrochemistry is the study of the interaction of electricity and chemistry. Electrochemistry underlies many everyday electronic devices such as batteries, glucose sensors, and metal corrosion. Normally this requires expensive equipment to perform educational or research experiments, but in this project we developed a device that can be build for ~$10 from commercially available parts that only requires a few through hole parts to be soldered on to create.

A graphical user interface (GUI) was also developed for the device written in python that uses pyusb to communicate with the device and matplotlib to display the data. The GUI can be used to perform cyclic voltammetry, amperometry, and anode stripping voltammetry.

A detailed description of how it was developed and the experiments performed is available from our paper published in PLoS One at:
a youtube video of how to develop the device is available at:

In our paper we show that the device can perform similar to standard research equipment and can accurately perform cyclic voltammetry to quantify the amount of vitamin C in orange juice.  Can function as a single chip glucose meter to measure blood glucose and measure the amount of lead in water down to the 15 ppb level.

More details and command instructions can be found on the github pages for the firmware and GUI.  The github pages also list future improvements that are planned.


Cover for potentiostat

Standard Tesselated Geometry - 860.31 kB - 08/01/2018 at 11:00



Cap for vial to perform anode stripping voltammetry experiments

Standard Tesselated Geometry - 277.46 kB - 08/01/2018 at 11:00



top for a beaker to perform analytical electrochmistry

Standard Tesselated Geometry - 223.79 kB - 08/01/2018 at 11:00



Case to hold a CY8CKIT-059

Standard Tesselated Geometry - 27.94 kB - 08/01/2018 at 11:00


  • 1 × CY8CKIT-059 PSoC 5LP development board from Cypress Semiconductor
  • 1 × 100 nF capacitor

  • 1
    Programming the device

    Plug male end of CY8CKIT-059 into the USB port of the programming computer.  Using the program PSoC Programmer from Cypress Semiconductor load the Potentiostat.hex from the github repository into the chip

  • 2
    Attaching electrodes

    Attach the electrodes you want to use to the following pins: P0.0 - working electrode; P3.4 - reference electrode; P3.6 - counter electrode using solder or alligator clips.  

  • 3
    Add a capacitor

    To use the more accurate DAC attach a 100 nF capacitor between P 3.1 and ground on the edge of the board.

View all 5 instructions

Enjoy this project?



Brian Bender wrote 05/01/2019 at 21:37 point

Just got this up and running and it works great! The instructions from the paper were clear and easy to follow. 

I have been messing around with PSoC Creator and I did have a couple questions that are hopefully simple to answer. Would it be possible to run a CV without the GUI? I'd like to:

1. Trigger a CV start via a UART Rx command/interrupt
2. Run a CV (perhaps with hard-coded start/stop/rate parameters
3. Output the 'current/voltage' data via UART to Tx/terminal

I've inserted a UART block, but I'm looking for help identifying and transmitting the current-values. Can this be accomplished by only modified main.h? Any code help would be much appreciated!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates