Tuesday, August 25, 2009

Bye Bye Ferric Chloride...

IMPORTANT UPDATE: 28th August 2009
Upon further reading, I learn that the HCl + H2O2 solution have short shelf life. So I decided to test my solution. True enough, it wasn't able to etch any PCB. I'm not sure what's the cause yet but my guess is that I need to add the 'starter' copper immediately after mixing the HCl + H2O2 to stabilise the solution so that the solution is CuCl2+ H2O instead of HCl + H2O2.
Will update the result after the experimentation... :-)

This site has very complete and full of technical information on the subject.

After more than 20 years relying on Ferric Chloride as my etchant for PCB, I decided to switch to a new solution for PCB etching that promises faster etching, cleaner solution and recycle-able chemicals. After review of several sites on the internet, I decided to go with the Hydrogen Peroxide/Hydrochloric Acid solution.

Photo below shows the starting chemicals, i.e., muratic acid (31.45% HCl v/v) and Hydrogen Peroxide (6% H2O2 v/v). The muratic acid (1 quart, ~950ml) was obtained from Ace Hardware, normally used as cleaning agent. The hydrogen peroxide (450ml) was obtained from a pharmacy.

For the volume of solution that I required and based on the concentration of chemical available, my etchant is made by adding 600ml of the muratic acid to 900ml of hydrogen peroxide yielding 1.5 liters of etchant.

As usual, I added the bubble ring for solution agitation during etching. However, with the new solution, the air bubble also serves as oxidizer, regenerating the solution. Theoretically, I should not need to throw away the solution for eternity. If the air bubbling isn't enough to regenerate the solution, addition of small amount of new muratic acid should be able to replenish the consumed ions...

Better explanation of the chemistry involved at this site. Excerpts below:

Here's what's going on chemically:

Before there's much copper dissolved in the solution, Cu + 2 HCl + H2O2 -> CuCl2+ 2H2O is the dominant net reaction. That is, the extra oxygen in solution from the peroxide is oxidizing the copper metal, in presence of the acid, to make copper (II) chloride. That's our starter etchant. The resulting CuCl2 shoud be a nice emerald green color.

After you've dissolved a lot of copper into the solution, and used up all the peroxide, the copper chloride does most of the etching for you: CuCl2 + Cu -> 2 CuCl. That's the end etchant.

Eventually you etch so much that you convert all the CuCl2 into CuCl, which doesn't dissolve copper (and is a yucky brown color). As long as you've got enough acid in the solution, you can simply add more oxygen to re-oxidize the copper(I), making more copper(II) chloride and water: 2 CuCl + 2 HCl + O -> 2 CuCl2 + H2O. And then you can etch again.

Bottom Line:

Two things to maintain: CuCl2 levels and acid levels.

CuCl2: After all the peroxide is used up, and the solution starts turning brownish, you'll have to add oxygen to regenerate the solution again: toss in a few more capfuls of peroxide or bubble air through the solution or swirl it around vigorously, or just pour it into an open container and wait. It's easy to tell when you're ready to etch again, because the solution turns green.

It's also impossible to add too much oxygen by adding air, so bubble/swirl to your heart's content. If you're using peroxide to add oxygen, be sparing -- a little goes a long way, and it's mostly water so you're diluting your etchant by adding it.

Acid: Note that HCl is being consumed in the starter etchant and the regeneration reactions. So we're going to have to add a bit more acid as time goes by. If you notice that it's harder to re-green your brown etchant, it's probably time to start thinking acid.

Monday, August 3, 2009

RFM-USB Interface

The photo shows the RFM-USB interface made using double-sided, non-PTH PCB. As can been seen, the top layer components pads are not soldered. This approach result in higher number of vias but simplify soldering of the double-sided board. 100% homebrewable...

During testing, another problem was identified. The RFM12B has a max VCC of 3.8V so I used a 3.3V regulator for it and simple voltage divider on the signals from PIC to the RFM. Then, the output from RFM12B are wired directly to the PIC. Upon measurement, the voltage of the RFM12B output max to about 3.7V. Unfortunately, the PIC input (SDI) has a schmidt trigger thus requires minimum iput of 0.8xVCC. At 5V, that translated to 4V... thus higher than what the RFM12B can deliver. Hmmm... more thinking/decision required:

  1. Run the RFM12B at USB voltage (normally below 5V) which is over the design max but below the absolute max (of 6V).
  2. Replace the RFM12B with RFM12 (meant for 5V) and run the interface at USB voltage.
  3. Run the PIC at 4.2V (minimum for PIC18F2550) via voltage regulator or simple diode voltage drop.
  4. Add level translator on the RFM12B output to bring the output to VCC.
I'm using option 1 for now (using my previous board). The above new board still works since the VCC from USB on my PC is around 4.6V. Thus 0.8x4.6V->3.68V, something the RFM12B still can managed. For actual production, I'll use option 1 and 2, i.e., run everyting at VCC from USB and replaced the RFM12B with RFM12.