Last February I set up an electroplating experiment using a Raspberry Pi 2, and the results were quite good. To do this, I filled a cup with lemon juice and connected some alligator clips to some pennies. I then ran a current across from the Pi’s GPIO pins. I wrote a small program in Node.js to control the GPIO output and to try to calculate the PWM duty cycle to get the correct target output voltage.

At first, I tried to run it at 1.5 volts according to this tutorial, but that seemed to be too high a voltage and black soot-like material began to collect on the coin on the negative terminal. I’m not sure if my voltage was too high since I don’t have a multimeter around to check the average voltage or if my code that calculated the duty cycle was incorrect. I also wonder if the PWM’s pulsing nature may have caused a different effect on the electroplating process compared to regular direct current. Eventually, I also changed the frequency of the PWM to 20kHz instead of the default 800 hertz and had it run on a GPIO pin with hardware PWM, which also may have made a difference. This appeared to have worked pretty well for plating the negative terminal coin with copper. This seems to have worked much better than the last time I tried this with vinegar and a 1.5 volt battery.

Copper plated coins

Above: The two donor pennies used to get the copper for the plating process.
Below: The two copper plated coins: a US quarter and a US nickel.

The JS code I used for this is available here on GitHub.