Using Eagle, I drew up a schematic for a 6-digit score display with an I2C interface, and had it autoroute a two-sided board for the schematic:
That sounded easy, but it took many days to add each part to the Eagle libraries so that it knew where the pads were and how big each component was. Then I had to determine where vias should not be allowed to go -- for example, under surface mount components, and make sure that I didn't need plated through-holes by restricting traces to the side opposite the component.
Now, I didn't want to go directly from schematic to physical board, because no doubt there would be mistakes. I wanted to breadboard the circuit first, but surface mount components don't fit on breadboards unless you use breakout boards to which the component gets soldered. Here's the breakout board for the I2C bus extender:
This board contains all the termination resistors, a dual CAT5 jack, and jumpers for optional termination of the long side of the bus. The blue traces are on the underside of the board, and since there are only four traces, they can be replaced by wires, so that I only need a single-sided board.
The first step in making the board was to spray matte black paint on the copper surface. Then, I exported a 1000 dpi monochrome board image from Eagle including only the pads, vias, and traces, and used Photoshop to define the painted areas that the laser engraver, a Trotec Speedy 300 flexx, should ablate away:
The procedure for this is as follows, for anyone who cares. This procedure could probably stand to be optimized, but it works:
- Import into Photoshop, convert to RGB mode.
- Copy the layer
- On the copy, select color range, black.
- Select > Modify > Expand 20 px
- Paint bucket black, noncontiguous, tolerance 0, fill the selected area.
- On the original layer, invert.
- Select color range, black.
- Delete. Now you're left with white where the copper traces are.
- Place the original layer above the copied layer.
- Merge layers.
The black area is now where the paint needs to be removed, and the white area is where the paint will remain. Note that we don't remove copper from large empty areas, which isn't important unless parasitics will screw you up.
The next step is to define where the holes are. Because the holes will be cut, not engraved, the holes have to be defined as paths. In Photoshop, you can use the quick selection tool and select inside each hole. I'm pretty sure they can be directly turned into paths, but I haven't figured that part out yet. Instead, I opened the file in Illustrator, converted the holes to vectors using Live Trace, and outlined the vectors using 0.25 px red strokes:
The Trotec Speedy 300 flexx at NextFab Studio is capable of cutting very thin metal using its fiber laser, where a CO2 laser would just bounce off. I placed the painted copper-clad board in the laser, ran the cut path, then the engrave path:
This board contained breakout boards for other components, too. I sheared the boards apart, etched with ferric chloride using the sponge technique, and cleaned away the paint using acetone.
One problem was that sponging the board took a long, long time. As noted in the instructable, the center of the board etched almost immediately. But then the corners of the board seemed to almost refuse to be etched.
The good news is that this method is very precise. There is no undercutting of traces -- I used 10 mil traces, and under a microscope there was no sign whatsoever of undercut. The bad news is that the laser, in cutting the holes, tended to blow some of the paint around the hole away, meaning that the copper around the hole disappeared.
One idea I had was to cut the holes before painting. Then I can paint the board, and ablate the paint away and in theory the paint should remain around the holes. The problem then becomes properly registering the board in the laser, which is difficult because the laser can only be manually moved 10 mils at a time. But, I think that if I place registration holes on opposite ends of the board on a 10 mil grid, I should be able to register the board.
I'll be trying this method this weekend.