Well, I did it.
I decided to tackle something simple for my first attempt at etching a circuit board. I wanted something with a low parts count, and that was easy to test. I decided on a voltage level shifter circuit, as it only requires a MOSFET and 2 resistors per channel, and 4 channels is generally sufficient for most digital protocols.
I spent a day learning Eagle CAD, in which I created, destroyed, and re-created the circuit about 5 times. I ended up with a very clean-looking schematic, and two separate boards (both hand-routed); one for SMT parts, and one for through-hole. Both boards are really tiny; they easily fit on a breadboard.
Since the boards are so small, I decided to etch several, in case the etching went weird on me. So the PDF had 6 copies of the PTH board, and 9 copies of the SMT one.
I don’t consider myself an Eagle expert at this point, but I certainly got to learn how to find and place parts, name my nets, and route traces on both the top and bottom layers. I really should write up the Eagle work in another post. Note to self.
Anyway, at the end of the day, I had a PDF on a USB stick. I took these to Kinko’s, and printed the PDF for one dime on the self-service printer. Then I let the Kinko’s guy talk me into letting him do the copy onto a transparency, for which he charged me 82 cents (oh, the humanity!) *and* I forgot to remind him to use the highest density on the copy, so it came out a little dim. Live and learn.
I got the transparency home, chopped it up, and purloined a picture frame.
I did my little darkroom thing, got the board taped down, and put it in a well-lit room for 20 minutes.
Meanwhile, I ate a frozen entree so I could use the empty plastic tray for my developer. 1 part developer (NaOH), 10 parts water (used cold from the tap — I bet it would have gone faster if it was a little warmer), and when the timer went off, the board went right in.
I was led to believe that this part of the process would take about 1 minute. When a minute had gone by and nothing had happened yet, I was fully convinced that I had messed up somehow. I kept developing, and within a few minutes (probably less than 5, but I was pretty stressed out at this point), this happened:
This part was very exciting. I was not sure when exactly the developing process was done, nor how much I could mess with the board during this time, so I don’t think that I got as much of the photoresist off as I should have. This probably caused a problem during etching — but at the moment, I was worried that the developer was going to eat my traces, so…
I washed out the plastic bin (saved the developer in a glass jar for next time), added 1 part vinegar (acetic acid) to one part hydrogen peroxide (H2O2), a touch of salt, and put in the board.
I was etching a 1oz copper-clad board, and I hadn’t put down a ground plane (I tried! really I did!), so I knew there was a lot of copper to remove. But etching. Took. Forever. I kept adding salt, the etch was just going very slowly, I tried foam brushing a lot, I tried sloshing the board around. Eventually, I realized that the etchant was looking shot, so I dumped it and poured in a whole new batch of etchant, lather rinse repeat, made a little more progress, but still needed a third batch of etchant to finish the job. The last batch, I put in a lot less salt. I think that helped. But by the time I finished, some of the photoresist was looking pretty thin, in the middle of the board.
It took over an hour and a half (I was led to expect ~20 minutes) to etch the 3″x5″ board.
A quick swipe with nail polish remover, and I headed out to the shop to separate the individual boards, and drill the holes.
Separating the boards was done with a hacksaw. I’ll probably use the tablesaw next time, but I was pretty fried at this point and just wanted it done. The boards are wonderfully non-rectangular, too.
I started drilling on the big drill press, but I was having lighting problems (I need to install the light on the drill press. Another note to self. So I moved to the Dremel. I’d forgotten how much I hate Dremel tools. They just stink. The motor is weak, the collet won’t hold bits properly, there’s a ton of runout… yuck.
I broke 3 bits trying to drill out 2 of the PTH boards. I didn’t even bother with the SMT ones, because it turns out you can’t buy SMT parts locally on a Sunday in Seattle. I mean, really. What is the world coming to?
I got the holes drilled (only a few mistakes there), then headed back inside because I realized I was going to need the schematic in front of me while I was soldering.
It took a second to figure out how to install all the parts; I had to mirror the layout on the Mac screen so that I could get the holes all lined up.
I was also unable to find SIP resistor packages, so I had to invent my own; I’m absolutely certain I’m not the first person to think of this, but essentially, the SIP packages have a single power pin (tie HIGH or LOW) and a bunch of resistors, so I just twisted together one lead from all 4 resistors, and used that to tie one leg of each to the positive rail. Clever trick, doesn’t even look half bad, but I’d rather just have a SIP package.
I spent some time ohming out the whole circuit. I found 2 shorts caused by imperfect etching. The rest of the board seemed solid, and I was getting the readings I expected, so I decided to bit the bullet and test the thing.
I set up the breadboard as follows:
- ground rails tied together.
- far side is the HIGH side, power rail driven by a FTDI cable attached to the Mac (running on battery)
- near side is the LOW side, power rail driven by an Arduino plugged into a USB charger wall outlet.
- I set up an LED on the HIGH side with a 1K pullup to 5v (from the FTDI) and ground pin going to channel 4 on the HIGH side of the new board
- I set up an LED on the LOW side with a 1K pullup to 3.3v (from the 3.3v pin on the Arduino), and group pin going to channel 3 on the LOW side of the board.
- I put in a jumper wire on the LOW side on channel 4 (other end not plugged in)
- I put in a jumper wire on the HIGH side on channel 3 (other end not plugged in)
The idea is that the HIGH LED will only light if its ground pin goes to GND, and the only way that’s going to happen is if the LOW channel 4 pin goes to GND.
Ditto for the LOW LED and the HIGH channel 3 pin.
It worked! The LEDs only lit when the opposite side channel (which are not connected normally) went LOW.
You can see me checking the voltage across the 2 resistors. This is after the voltage drop of the LEDs, of course. One is at 1.7v (on the 3.3v side), and the other is at 3.1v (on the 5v side). W00t!
So now I have a simple-but-useful circuit. Actually, with a little soldering, I have about a dozen of them. Anybody need a level shifter kit?
More important, though, I designed, CAD’d, exposed, etched, and drilled the circuit, and it worked on the first try! I feel like a whole new world has opened up to me.
That was Immensely Satisfying.