Cyclic Voltammetry (CV) Simulator Written in Microsoft Excel

File uploaded by Jay Brown on Nov 19, 2015Last modified by Jay Brown on Jul 14, 2019
Version 127Show Document
  • View in full screen mode



The attached file is an updated version of a simple cyclic voltammetry (CV) simulator written in Microsoft Excel.1 The spreadsheet supports up to four chemical species and four redox couples. The calculations assume that the first process is a charge transfer. Experimental CVs with up to 10,000 data points can be copied/pasted into the spreadsheet for comparison to the simulation. The spreadsheet can be operated in protected mode or unprotected and modified as needed. The spreadsheet is provided with no guarantee and it may not be suitable for all applications. System requirements: Microsoft Windows 8.1 Office software or later. New version (v_17) uploaded to website on 7/10/19.


Other platforms


A Microsoft Excel app is available for the Apple iOS operating system. The CV spreadsheet is currently running on an Apple 7 plus iPhone. All the calculations in the spreadsheet work except for the least-squares-fit optimization macro, which is not supported by the app. The screen is too small for detailed work, but a simulation on an iPhone is a great conversation piece to promote electrochemistry.




List your formal redox potential (Eo') values in decreasing order if reductions occur during the forward sweep.2 Reverse this order if oxidations occur during the forward sweep. You can then coalesce two adjacent peaks by exchanging their Eo' values. Set the Eo' values of unused peaks beyond the switching potential (E2) in the proper order noted above to exclude them from the model. Set the starting potential (E1) value greater than the switching potential (E2) if reductions occur during the forward sweep. Reverse this order if oxidations occur during the forward sweep.


Software updates


Simplified the diffusion grids on 6/16/19. All diffusion grids now use the same Saul’yev RL variant parameters (l, a1, and a2) which can be found under the column labeled as Simulation constants. Moved the root-mean-square error (ERMS) value to its own row labeled as Error analysis to avoid confusion with the simulation constants.


Improved the diffusion profile graphics on 6/4/19. The spreadsheet now automatically recognizes when symmetry in the model generates the same species on the forward and return sweeps and avoids graphing the same species twice.


Added a Total simulation graphic to the Import data page to help users optimize the background parameters on 5/31/19. First, copy/paste your experimental data into the Import data page. Then adjust the Offset parameter to zero your baseline. Next, click on the Species 1 tab to begin your simulation. You can then return to the Import data page at any time to optimize your Gain and Offset parameters based on your simulation.


Incorporated the Saul’yev RL variant to simulate Fick’s Second Law of Diffusion on 1/8/17. This method can calculate thinner reaction layers than the combined Taylor series that was used previously.3 Reducing the variable xscale reduces the length of the diffusion grids and places the concentration points closer to the working electrode surface. However, using diffusion grids that are too short or long will distort your simulations, so adjust this parameter only as needed.


Separated the equations involving the number of electrons in the rate-determining step from the total number of electrons transferred on 12/22/16. The number of electrons in the rate-determining step (na) now controls the peak width.2 The total number of electrons transferred (n) now controls the total current.


Spreadsheet variables


Several variables from the original spreadsheet were renamed to incorporate new features. The following table describes the variables that are used in the newest version of the spreadsheet.




Value and/or unit(s)


Amplification factor for experimental background

Unitless multiplier


Constant added to the experimental current



Formal potential for a redox couple



Total number of electrons transferred per species (controls total peak area)



Number of electrons transferred in the rate determining step (controls peak width)



Common diffusion coefficient

 ≈ 1 x 10-5 cm2/s


Standard heterogeneous rate constant for an electron transfer



Transfer coefficient for a redox couple

≈ 0.5 (unitless)


Bulk concentration of the analyte



Starting potential of the CV experiment



Switching potential of the CV experiment



Scan rate used during the CV experiment



Surface area of the working electrode



Temperature of the sample during experiment



Compress or expand x-axes of diffusion grids

Percentage (%)


Rate constant for a first-order homogeneous reaction that removes a species from electron transfer cycle



Rate constant for second-order homogeneous reaction that removes a species from electron transfer cycle



Bug report


Bug in the diffusion profile graphics was corrected on 6/26/19. Bug in the data selection process was corrected on 4/25/16. Bug in the Import data graphics corrected on 12/31/15. Bug in the concentration calculations of the 4th redox couple oxidized form corrected on 12/8/15. Bug in the time increment calculations was corrected on 11/16/15.


References cited


1. J. H. Brown, J. Chem. Educ., 2016, 93 (7), 1326–1329. DOI: 10.1021/acs.jchemed.6b00052.


2. A. J. Bard, L. R. Faulkner, Electrochemical Methods: Fundamentals and Applications, Wiley: New York, 1980, ISBN: 0-471-05542-5.


3. D. Britz, Digital Simulation in Electrochemistry 3ed ed., Springer: Berlin, 2010, ISBN: 978-3-642-06307-7.