Category Archives: Battery research

Building a DIY opensource USB potentiostat/galvanostat: Part Two

With some improved soldering skills I reattempted soldering of all the components into the brand new PCB I had left from Osha Park. After doing this I still experienced a significant amount of shorts but this time I was able to pinpoint the sources by some smoke coming off the PCB (not the greatest sign!). In the end all the shorts were coming from what seems to be the underside of the microchips, probably related with some flux residue that got carbonized and became somewhat conductive after the chips were soldered and the circuit was powered.

My somewhat successfully powered DIY potentiostat/galvanostat

With this information I now resoldered all the chips, being very careful about cleaning all the flux to ensure that there were not shorts after the chip was put into place. With all these shorts removed I was able to finally power the board without any excessive current drain.

Due to the fact that the drivers that come with this device are unsigned I had to restart windows using the “Advanced boot options” to ensure that driver signing was disabled. Also remember to install pyusb and usblib before launching the python program.

With this done I was able to successfully connect the PCB to the computer and use the software to interact with it. However after trying to do the calibration I noticed that the entire potentiostat/galvanostat functionality was actually not working and I was actually unable to set any potential without the circuit going a bit “crazy”. As you can see in the image below, everytime I tried to set the potential to some value I just got some random potential being set, with current bouncing all over the place.

Trying to set the potential of the device to 1.5V with RE connected to WE and CE connected to SE just generated a bunch of noise

Feeling the temperature of the different chips, the one that is overheating seems to be the OPA4192 chip. I tried to remove it and resolder it again, but I have the same problems and the same type of abnormal behavior. Right now it seems that the most likely scenario is that all my desoldering and soldering endeavors have fried one of the components of the board, meaning that I might not be able to get it to work at all with the current components.

Thankfully plan B is still going on – a PCB being fully assembled by pcbway – so I should be able to get a fully working board within the next couple of weeks. I am still debating whether it’s worth it to order new components and try on a new board – with my already gained experienced – but I think I’ll wait for the working PCB to ensure this board works as I expect it to before I make any further DIY attempts.

Building a DIY opensource USB potentiostat/galvanostat: Part One

As I explained on my last post, I want to build a system to characterize batteries at a small scale at my home. This means being able to test things like their coulombic efficiency and measure things like charge/discharge curves. The perfect solution came as the USB potentiostat/galvanostat published in this paper so I order 3 boards using Oshapark and got the rest of the parts from microchipdirect and digikey.

PCB board I received from Oshapark

I received my PCB order last week – as shown above – and proceeded to solder the components that I received as well. After soldering all the components I then connected the board to the PicKit3 programmer using the programming leads. By the way, the square pin right below the K3 mark should match pin 1 in the programmer, something that is not mentioned within the above cited paper.

When I did this I used the MPLAB X IPE v5.4 software, downloaded from this link. Using the advanced options I made the PicKit3 provide power to the board and I then proceeded to program it at 4V because when I connected it at 5V I received some erros about VDD not matching between the microcontroller voltage and the provided voltage. In the end I was able to program and verify the chip at this voltage with the hex file provided by the authors of the paper.

After this I then connected the chip into the computer using a USB port and instantly received a USB overcurrent warning, which immediately disconnected the PCB from my computer (uh oh). After checking the board I noticed a short after the charge pumping circuit, where the +9V line was almost shorted to ground, with a resistance of around 10-100 ohm when it should be at least 10kohm given the lowest resistance connected between ground and this line (R2). You can test this by measuring resistance between the leads in R2.

After painfully taking out all the components one-by-one from one PCB and soldering them onto a second one I realized that my problem was that overheating the PCB actually created a short-to-ground in this line, more likely than not related with partial melting of the PCB in the U8 microchip leads where the +9V and ground lines are particularly close to one another. This can actually happen by heating anywhere on the board that’s connected to the ground line, even if you overheat something like the LED D3 or D4 lines. I noticed because I caused the same damage on the second board I was working on, even though the lines were not shorted right before I was working on the D4 LED but became shorted right after I spent around 20 seconds applying heat (yes, my bad).

Two boards I worked on that are now useless. Left one was the first I soldered all components on, second is the one I was testing components on when I noticed the short caused by over-heating the ground line.

Right now I sadly only have one board left (sigh) and have already desoldered and soldered a lot of the components. I now need to desolder all the remaining components from these two boards solder them onto the third board, although this case I will need to be especially careful about how I apply heat to the board as I definitely do not want to cause this shorting issue again. I will update this blog after I try again.

Building a machine to test and research batteries at home

As a chemist who loves electro-chemistry, battery technology has always seemed incredibly interesting, especially since it’s within the group of potential topics that could be researched with some degree of success at home. This is because batteries can be made within a very wide array of chemistries, some of which use very easy-to-find materials and the equipment necessary to research batteries at a small scale should not be hard to build.

Public PCB project at OshPark

However, after looking at a lot of people sharing their DIY batteries at their own houses on the internet, it seems clear that most of them don’t do any proper characterization of their batteries at all and those who do – who appear to be very few – seem to use relatively expensive pieces of equipment to do so, probably the lower end of what would be used within a regular university research environment.

The options available to minimally characterize batteries, which means at least measuring their charge/discharge curves seem to all be expensive and there is no commercial option I could find that would allow you to perform these tests for less than 1000 USD.

However, I did find a very interesting publication (here) where the researchers share the PCB, software, firmware and bill of materials for a cheap galvanostat/potentiostat that can be used for the characterization of small batteries. Given its limited current +/25mA, it cannot be used for the characterization of any larger batteries, but it should allow for some very interesting and well-done research of small batteries at home.

I added this PCB to OshaPark (you can order it here) and I have ordered the materials from Digikey using the bill of materials provided by the author within the paper (you can use this file to upload to dikigey directly) . The microcontroller used within this project also requires to be programmed using a PicKit3, so you will need to get one here. Note that due to COVID related supply constraints I had to order the MCP3550-50E/SN microchip from microchipdirect.com instead of digikey and I also changed the mini-USB port for a micro-USB port (609-4053-1-ND).

Current progress of my order at pcbway

As backup plan I have also ordered a fully assembled PCB board from pcbway.com, which charged me a total of 154 USD for the entire production of the PCB and mounting all the surface components. This is all done in China and the exported to the US, so it will take around a month for the entire process to go through. I want to compare the quality of my own assembly with the product I obtain from China.

In this process I also got quotes for several different US manufacturers for the production of these boards, but came to the conclusion that it is not economical unless I wanted to get at least 10-20 manufactured. This is because the price is often in the 1200-1500 USD range, independently of whether I get 1 or 10-12 boards done.

I still haven’t received everything I need from oshpark and digikey to assemble the board but once I do I will update you on my progress building/programming/testing this open source galvanostat/potentiostat.