Capslocker Rebuild

This project is mainly about my new build process, which I used to create a single sided PCB for a rebuild of the Capslocker project from last year. Instead of using a laser printer to create an iron-on resist pattern, I'll cover a whole PCB in resist and then use a laser cutter to etch off the resist.

First, I created a new design in Eagle. I wanted this version of the Capslocker to be a little easier to program and adjust, so I added a potentiometer and a 6-pin AVR ISP header. It makes the device a bit bigger, but really makes it easy to modify the code.

Next, I lightly spray painted some single sided copper clad PCB material from Jameco. The best paint I've found is Rust-Oleum "Painter's Touch" flat black spray paint. It dries in about 20 minutes.

The laser cutter I'm using is a 45 watt Epilog, one of two currently available at Techshop in Menlo Park.

I set up the spray painted copper clad on the laser table and focused it as precisely as possible. A sharp beam is essential to getting a precision resist mask. Then I printed-to-file using a postscript driver, imported that file into Corel, converted to a 1200x1200 DPI bitmap, and inverted. I set the laser to 50% speed and 40% power, raster mode, bottom-up etching. It can be a good idea to print two copies since the second pass cleans up paint residue a lot, but it's not required.

Here's what it looks like out of the laser. Most of the black residue is loose powder, but some is still stuck to the PCB.

It's easy to remove most of the residue using water and a paper towel. I used to use alcohol because it removed the residue almost instantly, but I found that it also eroded the paint mask too much. Water alone doesn't get enough of the residue off, so you need a very mild abrasive polish. The best I've found for the purpose is ordinary toothpaste, although I forgot to bring it to Techshop and used some plastic polish instead. This also works fine, but it has a wax which needs to be removed with a grease-cutting soap before you attempt to etch the copper.

Now it's time to etch! I'm using ferric chloride solution from Jameco because it's easily available and relatively safe to transport. There isn't a permanent etch tank at Techshop or I'd probably use cupric chloride.

After the etch was finished, I cut the boards apart and set up a mini drill.

Here's the finished product, ready for soldering and final PCB trimming. I removed the paint with some brush cleaner, acetone (nail polish remover) also works great.

I didn't take photos during the solder process, but here's the Capslocker ready for annoyance. It's difficult to keep solder from creeping up unmasked traces, so I went ahead and tinned them all. I glued a piece of plastic to bring the overall connector thickness to about 2mm, which fits well in most USB ports.

Programming the Capslocker is easy using the 6-pin ISP header. I used an STK-500 to load the code from last year, slightly modified to read the potentiometer ADC and adjust the delay accordingly.

This is how the new Capslocker looks when installed on a victim's PC.

And here's a comparison between the old and new Caplockers. The old one is definitely a lot smaller, but reprogramming it requires special adapters or soldering wires directly to the IC. The new Capslocker also includes zener diodes to be compatible with a lot more computer USB ports.

I hope you've enjoyed this glimpse into my current proto process, which couldn't exist without Techshop (or $10,000 for a laser cutter). Laser toner transfers are definitely more accessible to most people, and you could easily do this project with that technique. However, I'm getting more repeatable results from the laser etch process, though I think the minimum feature size is actually a bit coarser than toner transfers. It works for larger SMD components, and is perfect for quick through-hole PCBs.

Submitted by Garrett on Wed, 04/01/2009 - 23:47.

Garrett - This is great!

Garrett -

This is great! Thanks for the writeup about your laser etching process!

Do you think that you could add soldermask and silkscreen as well by using the same process?


Very nice. I may make a few

Very nice. I may make a few these for the pc's at work.. Muahahha

To make it smaller, you

To make it smaller, you could use try using right angle headers, or even some kind of right angle extension to make the icsp header less high. You also might try finding a lower height potentiometer, maybe even a surface mount one. I also think it would be interesting if you could make a case for it, to make it a little less obvious. Ie, make it look like a normal flash drive or something. For extra confusion or distress, tack on the label of a manufacturer the victim has other peripherals from.

Would it be possible to

Would it be possible to design one that can be programmed through the usb port ?

Yeah, I'm working on (just

Yeah, I'm working on (just barely, over the past year) a way to configure the behavior using control requests to the HID and saving the configuration in EEPROM.

Actually writing new code to the device would be a bit harder...not impossible, mind you. It would be a variation on the USBTinyISP code, and you'd need about 2300 bytes for the bootloader so it would be a good idea to move up to the attiny85.

Instead of the "big" 2x3 pin

Instead of the "big" 2x3 pin header, check these out:
I build up programming tools with these on the end, and just hold the connector to the vias while programming. Works awesome, and doesn't require a header to be soldered on there so your form factor is a little nicer.

Next stop is soldering using

Next stop is soldering using the laser. I was reading in a soldering process book about laser soldering. I imagine there is some more science to it, but a good start would probably be applying the solder paste and running the laser briefly on each joint. The trick may be creating the output from the PCB program that allows for focusing the laser on each pad and only where the pad is exposed (so you don't slice up the components).

Thanks for the cool

Thanks for the cool project!

We have the same Epilog 45W laser at work, it cost 20 000$ and not 10k.
I might try that.

Here is a other idea for the programming header, hard to explain.
You could slide the PCB in the 6 pin header. So you would have 3 pin on the bottom layer and 3 pin on the top layer.
The 6 pin header would be exactly where you have your decoupling cap.
That would make the device longer/flat but not higher.

Thanks again!

Yes, I have a PCB design

Yes, I have a PCB design with that layout, but I didn't want to make a double sided PCB.

You wouldn't be selling

You wouldn't be selling those boards would you? This is the hardest Captcha ever!

Mind putting up your various

Mind putting up your various eagle files and new pcb designs (both single and double sided)?

I am really interested in

I am really interested in this process for etching a board, but I have never seen it explained why no one just etches the copper clad off the board with the laser rather than using the chemical process. Is it possible? I am sure that someone MUST have thought of this before. If someone could explain I would really appreciate it.

It's really not feasible.

It's really not feasible. Any laser powerful enough to burn away copper would then instantly punch through the fiberglass underneath it. Vaporized copper compounds pose their own problems, too. A 45W laser is definitely not going to even leave a mark on copper.

Can you talk more about

Can you talk more about using the laser cutter to cut the etch pattern? Any idea of the limits of the fineness of the line of paint you can burn away and still get a reliable etch? In this example, you're just burning away "bulk" areas; have you tried using vector mode with the "outline" capability of EAGLE?

Hi, do you have the

Hi, do you have the schematics for this newer version. You added zener diodes for more compatibility. Can you specify which voltages (13v or 5v or? ).
I'm interested in this project and want to build my own variation. Actually I've been waiting for some project which is similar to what I want to do. This could save me a lot of time.

Kind regards,

volts must be 3.6

volts must be 3.6

volts is 3.6 (like in usbasp

volts is 3.6 (like in usbasp programmer)

Are u blogging now? I need

Are u blogging now? I need some parts for Twitter Weather Station, will have to visit you soon.

Doesn't copper reflect

Doesn't copper reflect light? I was under the impression that it was a bad idea to put anything reflective in a laser-cutter..that it would reflect part of the beam back into the laz....?

Good idea, I was using an

Good idea, I was using an Epilog summit and capable for double sided pcb with QFN ic solder on it. :)

Does the programming work ok

Does the programming work ok in circuit? I've tried programming the previous version (made with a DIL part) using my usbtinyisp and a harness that sits over the chip but tend to just get errors. I suspect the pullup signifying low speed is too weak for the programmer

Hi When I start the PC and

When I start the PC and Capslocker is connected to the PC the copmputer does not recognize the USB Device I have to unplugg it and plugg it in againg in order to get the PC to recognize it, any idea of how to make the PC to recognize it at Windows start up, Or am I doing some thing wrong?

Hi Garrett, Does the

Hi Garrett,

Does the PCrecognize the Capslocker when you restart windows or when you start it while it is already plugged in?


Nice instruction, thank you

Nice instruction, thank you :)