diy solar

diy solar

My adventures building a Zinc-Iodine battery


Battery researcher
Sep 7, 2020
Welcome to my adventure building a Zinc-Iodine battery

All experiments carried out from #100 are now shared publicly ( The experiment_summary excel file contains a summary of all important variables in the experiments that have been ran, the analysis_images folder contains processed analysis results with the commonly expected curves (charge/discharge curves, capacity, voltage evolution, etc), the raw_data_files folder contains all the raw data from the experiments, in case you want to carry out your own analyses.

All experiments are carried out using a Swagelok cell with a 0.5 inch diameter Swagelok cell, vertical cross-section showed below:

Titanium electrodes are sanded using 240 paper between experiments. The Swagelok cell and electrodes are always cleaned with ethanol - which fully dissolves iodine - and water between experiments. All anodes/cathodes/separators used between experiments are new, most materials are cut to size using a 0.5 inch hole puncher.

Electrochemical measurements are carried out using an open-source USB potentiostat-galvanostat built using the gerber files and code provided here. The PCB was manufactured through PCB-way. The python program included in that article is also used to carry out the electrochemical experiments.


Original #1 post below:

Now that my adventure with Zn-Br batteries is over, I have decided to move to the Zinc-Iodine chemistry. I will start by attempting to reproduce this paper, which uses a high surface area, highly conductive carbon electrode, a zinc sulfate electrolyte and a zinc anode. They achieve a highly stable battery due to the confinement of the iodide ions within the activated carbon nano structures.

I have elemental iodine, a GFE-1 high surface area graphitic felt, zinc sulfate and zinc metal, so I'm going to try and load the GFE-1 cathodes with iodine and see how it goes ?
Last edited:
An update on some things I have learned so far:

If you place GFE-1 material - as is - in a flask with elemental iodine at 55C for 10min (what the paper says they did), there is virtually no uptake of Iodine by the material.

The GFE-1 cathodes are theoretically very high surface area, so necessarily somewhat nanostructured, but since it has been in contact with the air for months, it is likely already saturated with other materials. I don't have the infrastructure to "active" the carbon again or vacuum to pull any of these things out, so I am not likely to succeed with this approach.

I will therefore try synthetizing ZnI2 from zinc metal and elemental iodine, create a device with 2M ZnI2 and try to charge the device very slowly (<0.1mA/cm2). If the process is not diffusion but charge limited, then all the nanostructured spaces should fill with elemental iodine first.
... I don't have the infrastructure to "active" the carbon again or vacuum to pull any of these things out, so I am not likely to succeed with this approach....
if there's nothing attached that's melty (e.g., plastic) I've heard (never tried) carbon can be reactivated in an oven around 400°F.
I successfully made my ZnI2 solution today. Here is how I did it:

Make sure you read everything first, also make sure you only do this in a very well ventilated place, have a respirator and adequate safety equipment at hand. As a precaution I also kept 1L of a 100g/L solution of sodium ascorbate. This is to reduce the Iodine quickly in case it got out of hand.

  1. Weigh 45g of elemental iodine pellets in a 500mL beaker (0.35 mole)
  2. Add 120mL of distilled water
  3. Add 40g of zinc metal pieces (do NOT use powder or shavings). The Zn here is in excess, to ensure no elemental Iodine remains.
  4. Stir with a glass rod. Initially nothing will happen, but it will start getting hot after 5-10 min of stirring. Do NOT heat the beaker.
  5. As soon as you feel it heating up, place beaker in a bath with ice plus water saturated with NaCl (this is to make the temperature very low). This is critical, the reaction is very exothermic so without cooling it will "run away" and the elemental iodine will start to evaporate aggressively from solution.
  6. Keep stirring until the mixture becomes clear
  7. Filter to remove any Zn powder that might have formed from the Zn metal pieces.
This will create a solution of ZnI2 approximately 1.5M. You can then measure the density of the solution to figure out what the exact concentration of ZnI2 is.
I then created a battery using my Swagelok cell and the 1.5M ZnI2 electrolyte. I used 10 layers of fiberglass separator, a GFE-1 cathode and graphite electrodes. The battery was charged to 5mAh and discharged to 0.6V, both at 15mA (11.6mA/cm2). CE=72%, EE=64% on first cycle. Average charge voltage was 1.25V, average discharge voltage was 1.10V. I will keep cycling it under these same conditions to see how it behaves.


Seems good for the first ever test :)
I ran 15 cycles for the battery described in #6, charging to 5mAh at 15mA. These are the results:


There was very slight deterioration of potentials and capacity, but so far no catastrophic failure or large deterioration of CE or EE. So far, no zinc dendrites either. I am now going to cycle the battery at 10mAh, see what I get.
What are you using for software/hardware to log with this?

Matlab and a good DAQ or do you have a sweet bench top kit that can export the data?

Just curious as I've got a data logging problem myself too deal with.
What are you using for software/hardware to log with this?

Matlab and a good DAQ or do you have a sweet bench top kit that can export the data?

Just curious as I've got a data logging problem myself too deal with.

For hardware, I use a DYI built potetionstat/galvanostat. As described in my blog (

About software, I use the python software provided in the potentiostat's paper to operate the hardware and log the raw data. I then use custom built python scripts to create the plots and statistics you see in my posts.
Charging to 10mAh I do see a sharp decrease in CE and EE, which are now 60% and 50% respectively.

I believe this is because of the presence of only ZnI2 in the solution. When I oxidize a lot of the Iodide into elemental Iodine, there is a lot of free Iodide available to form polyiodides that can then migrate to the anode and destroy the Zn formed. In the literature everybody starts from carbon electrodes that are saturated with elemental iodine and use ZnSO4 as the electrolyte. This means they start from a charged state.

I believe I might be more successful if I imitate how the discharged state of this setup looks like. I will prepare a new 10mL solution with 1.6g ZnSO4 and 0.5mL of ZnI2 1.5M solution. If the above hypothesis is true, then this should lead to much better improved CE, as the battery in the charged state will hold no polyiodides.
Last edited:
So my new experiments are using a solution that is 1M ZnSO4 and 0.1M ZnI2. This gives a theoretical capacity of 13.4 mAh in terms of Iodine, which is the limiting factor.

However, there is a big difference with the batteries in the literature. These batteries start their life in a charged state, with all the iodine already confined to the carbon cathode, while in my case, I start in a discharged state, with the Iodine homogenously dispersed in the electrolyte, outside the cathode. Having the iodine all confined to the cathode is key to the battery's success, as this is what prevents self-discharge through polyiodide formation and migration.

To achieve the same effect, I first need to charge the battery to fully confine all Iodine into the cathode, which means I need to charge it in a way that is not diffusion limited, which means the first charge needs to be done at low current. Once all the iodine is confined inside the cathode, I would theoretically have something equivalent to the initial state of the literature batteries.

I can test for whether I am fully confining everything by charging and discharging the battery and looking at the coulombic efficiency (CE). If I am not confining everything and I am getting side reactions because of the charging being diffusion limited, then the CE will drop substantially below 100%.

To test this, I need to run charge/discharge cycles at increasing capacities, at low current and see where the limits are. For example, I can tell that charging to 0.5mAh at 5mA the battery is not diffusion limited because I get a CE of practically 100% and an EE of 79%:


Now I need to increase the capacity and see if the CE drops, if it does, then I need to reduce the current as well. This will take a while!! ? ?
The ZnSO4+ZnI2 solution was a failure. The internal resistance was too high and I was never able to charge beyond 2mAh - because the potential increased beyond 1.6V - even when using quite low current (2mA). My ZnSO4 solutions also have a lot of precipitates, so it seems that my ZnSO4 is quite low quality :( I will need to purify it by adding H2O2 to precipitate all the Fe, filter and then recrystallize.
It's good to see you back, taking on a new challenge, and good luck

As before, I will continue to follow and help in any way I can
I was finally able to take a ZnI2 battery to charge to 15mAh, which gives me an energy density of around 20Wh/L. The battery was charged at a current of 20mA and discharged to 0.6V.

Battery was made of a GFE-1 cathode, 10 layers of fiberglass separator, and a graphite anode. The electrolyte is made of 1.5M ZnI2, 1% Tween 20 and saturated at 20C with both zinc sulfate and sodium chloride. For this first cycle, the CE is 66.4% and the EE is 50.13%. I will continue cycling the battery and let you guys know how it evolves.