Printed Circuit Boards with a Laser II


Cutting the holes with the laser before painting was the key. I cut some test holes, determined that the holes cut by the laser were 0.005" in diameter over (so 0.0025" kerf), adjusted the file, and cut away:

IMG 0324

After spray painting:

IMG 0325

Registering the painted board in the laser was the most difficult part of the procedure. I lined up one corner hole with the laser, then moved the laser by the amount to where an opposite corner hole should be. Then I rotated the board to line up the laser with that hole, and moved back to the first hole, back and forth, until I was pretty sure everything was aligned. Then I set the laser to engrave the traces:

IMG 0328

For the most part, everything was aligned very well, except at the top left, where I was off by 0.007" in each direction. This was not enough to ruin that corner, but it did indicate that I should probably spend a little more time trying to get more accurate registration.

I used the sponge technique to etch the board. It didn't take as long as last time, perhaps because I used 1oz copper board this time. I suspect the board I used last week was 2oz copper.

IMG 0329


After removing the paint using acetone. This was the messiest part.

IMG 0332


Closeups using a microscope. Note how incredibly clean the traces look.



Nearly perfect registration for these pads from the upper right of the board:



These traces above the SMT pads are 10 mil (0.010"). Note the little blob of paint.



One of the breakout boards, the I2C expansion board. The dirty-looking areas are due to the flux that I haven't yet cleaned off.

IMG 0333


Another breakout board, this time the 6-digit display. It wasn't as bright as I had hoped.

IMG 0334


Next week I'll be testing the I2C interface on the Arduino, inserting the I2C bus expanders, and then putting the 6-digit I2C-enabled display in the bus.

Printed Circuit Boards with a Laser


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:

I2C breakout schematic


I2C breakout board

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:

P82B715 breakout top

The procedure for this is as follows, for anyone who cares. This procedure could probably stand to be optimized, but it works:

  1. Import into Photoshop, convert to RGB mode.
  2. Copy the layer
  3. On the copy, select color range, black.
  4. Select > Modify > Expand 20 px
  5. Paint bucket black, noncontiguous, tolerance 0, fill the selected area.
  6. Deselect.
  7. On the original layer, invert.
  8. Select color range, black.
  9. Delete. Now you're left with white where the copper traces are.
  10. Place the original layer above the copied layer.
  11. 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:

I2C breakout board cuts

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:

IMG 0269

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.

IMG 0273

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.

Drive design 2

Having drawn my idea for a layer drive, I went to NextFab, cut the casing parts out of acrylic on the laser cutter, wrote a quick gcode program to produce the brass pieces on the CNC mill, and put it together. Twice, because the first time I learned some things, and the second time I fine-tuned the design. Hence the adage, "Plan to build at least two."


Look! I found expansion springs! They provide about 0.3 pounds or so of force.


Here's a detailed view of how I put each layer together:


First comes a 3/16" spacer, milled down by a few thousandths of an inch. Then comes a 1/4" diameter brass zinc-plated bushing. The 1/8" drive bar fits over it and can slide back and forth. The bushing should be 1/8" high, but I only bought 1/4" high bushings. The rest of the space is filled by another 1/4" bushing. The total distance between supports is 3/4".

The reason I milled down the 3/16" spacer is that there should be another 3/16" spacer above the drive bar to hold the missing 1/8" bushing in place. That totals 1/2", plus another 1/4" bushing makes exactly 3/4", which means that the spacer has to be shaved by a few thousandths of an inch so the drive bar is loose.

Below is an animated image showing the drive bar movement. When the bars are spread apart, the rods are pulled against the force of the spring to the zero position. When the bars are pressed together, the rods may slide down the teeth in the bars to register a one, or remain in place if the rod is blocked to register a zero.

After showing this to Dan at NextFab, and explaining how I was going to have a square rod to push the bars at the right tim, he got this far-away look which meant he was thinking whether there was a better way. He mentioned cams and a threaded rod, but we couldn't immediately think of a way this would work.

On my drive (heh) home, though, it hit me.

But first, a retraction: I got the reasoning of the mechanical advantage wrong in the last post. The mechanical advantage, which is the output force divided by the input force, is equal to the output distance divided by the input distance, where the output distance is the hypotenuse. I measured my refined bars, and they need to move 0.42". My original idea would have the vertical bar move 0.5", and thus the mechanical advantage would be the hypotenuse (0.65") divided by 0.42", or 1.55. Thus, pushing on the vertical bar generates 1.55x the force to move the bar.


But what if I could make the hypotenuse longer? I would increase the mechanical advantage, but I would also increase the distance.


What if I could wrap the hypotenuse around a shaft, and rotate the shaft?


Despite the drawing's resemblance to a gyro (mmmm, gyro with feta and tzatziki, om nom nom), now I can have a larger distance traveled, simply by selecting the number of rotations required to go from the small part of the shaft to the large part of the shaft. The shaft is a screw, so it raises and lowers as it rotates, and so each drive bar hits the transition zone in turn as it follows the trajectory shown above (dotted line).

For example, if I had a shaft where the diameter of the small part is 0.5", making the diameter of the large part 0.5 + 2x0.42 = 1.32", and chose a single revolution for the transition (i.e. 2 rotations per inch) then the distance traveled would be 4.46", leading to a mechanical advantage of 10.6! The tradeoff, of course, is time. If I wanted the time between drive bars to be, say, 1/4 second, the shaft would have to move vertically at 2 inches per second, which is 4 revolutions per second, or 240 rpm.