The chemistry of home-etched PCBs

I saw this most-useful post on the synthDIY mailing list, and the author graciously allowed me to post it up…Enjoy!

As it happens, I am a bit of a chemist (or, more precisely, a chemical
engineer by training working in the field of hydrometallurgy, or the aqueous
extraction, separation and purification of metals from ores. (It turns out
I’m not much of an electronicist (yet), but we can’t all be good at

Two things: 1) good etchants, and 2) reasonable disposal thereof:

I do hand-etching of pcb’s and I don’t use ferric chloride. The problem
with ferric chloride is that it is not easily reusable. The operative
reactions in a ferric chloride-based etchant are as follows. First, the
ferric will oxidize the copper metal to cupric, while being reduced to

2 Fe(3+) + Cu(0) –> 2 Fe(2+) + Cu(2+)

Next, the cupric will also participate in the oxidation of copper metal,
with both going to cuprous (by a reaction called “proportionation”):

Cu(2+) + Cu(0) –> 2 Cu(+)

Both reactions are just exchanges of electrons between ions.

The problem with ferric chloride is that the ferric ion Fe(3+) is not easily
regenerated from the ferrous ion Fe(2+). Reaction between ferrous and the
oxygen in air is slow:

4 Fe(2+) + O2 + 4 H(+) –> 4 Fe(3+) + 2 H2O

However, reaction between cuprous ion Cu(+) and oxygen is virtually

4 Cu(+) + O2 + 4 H(+) –> 4 Cu(2+) + 2 H2O

All that is needed is some free acid (presumably hydrochloric acid, HCl, aka
“muriatic” acid, available in any pool supply shop or hardware store) to
combine with the reduced oxygen atoms and form water. Indeed, cupric can be
regenerated in the etchant simply by vigorously aerating the solution for a
few seconds with a stirring rod.

Another problem with ferric chloride etchant is that ferrous chloride is
harder to neutralize than cupric chloride. More on that below.

Basically, ferric chloride is a “one-shot” oxidant. Provided without acid,
it cannot be reoxidized, so it cannot be reused. Given that an etchant
solution will accumulate copper in solution, it seems far better to me to
avoid ferric chloride altogether and simply use acidified copper chloride,
or better yet, simply start with an alternative oxidant such as hydrogen
peroxide, and let copper accumulate in solution and eventually take over.
An acidic copper chloride etchant can be reused indefinitely, provided that
HCl is added periodically to provide the protons for the reoxidation
reaction. Indeed, such an etchant solution actually improves with age!

Now to address why cupric chloride is easier to dispose of than ferric (or,
more accurately, ferrous) chloride. The easiest way to dispose of metal
ions is to precipitate them as hydroxides with a base such as sodium
carbonate. Hence, cupric is precipitated from chloride solution thus:

CuCl2 + Na2CO3(s) + H2O –> Cu(OH)2(s) + 2 NaCl + CO2(g)

Ferrous is precipitated thus:

FeCl2 + Na2CO3(s) + H2O –> Fe(OH)2(s) + 2 NaCl + CO2(g)

Obviously, these are the same reaction, just with different metal ions. The
big difference is that Fe(OH)2 is only stable at pH values above about 8,
while Cu(OH)2 is stable at pH values above about 5. This means that copper
will precipitate much more readily, with less consumption of the base, and
it will not redissolve in neutral water (pH 7), while Fe(OH)2 will. In
other words, Cu(OH)2 is more stable in the environment. Either precipitate
may be filtered with a paper filter and dried in an oven to make a dry solid
cake for disposal. The filtrate solution is salt water which can be poured
down the sink.


David G. Dixon
Department of Materials Engineering
University of British Columbia
309-6350 Stores Road
Vancouver, B.C. V6T 1Z4

Make a robot friend with Adafruit’s CRICKIT – A Creative Robotics & Interactive Construction Kit. It’s an add-on to our popular Circuit Playground Express, FEATHER and other platforms to make and program robots with CircuitPython, MakeCode, and Arduino. Start controlling motors, servos, solenoids. You also get signal pins, capacitive touch sensors, a NeoPixel driver and amplified speaker output. It complements & extends your boards so you can still use all the goodies on the microcontroller, now you have a robotics playground as well.

Join 7,500+ makers on Adafruit’s Discord channels and be part of the community! http://adafru.it/discord

CircuitPython in 2018 – Python on Microcontrollers is here!

Have an amazing project to share? Join the SHOW-AND-TELL every Wednesday night at 7:30pm ET on Google+ Hangouts.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Follow Adafruit on Instagram for top secret new products, behinds the scenes and more https://www.instagram.com/adafruit/

Maker Business — Despite multiple bankruptcies, RadioShack continues to find ways to keep the lights on

Wearables — Molding with glue

Electronics — A few words on inductor resistance

Biohacking — Running Blades

Python for Microcontrollers — Help bring CircuitPython to other languages!

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !


  1. I have been using Muriatic Acid and Peroxide. But am never certain if I am doing things right.
    I am not sure I understood the parts about reuse and disposal.
    Any chance of an idiots guide being somewhere?

  2. http://antoine.frostburg.edu/chem/senese/101/redox/faq/h2o2-cu.shtml

  3. http://members.optusnet.com.au/~eseychell/PCB/etching_CuCl/index.html

  4. I use sulfuric acid and hydroxide and it works for me.

Sorry, the comment form is closed at this time.