Dec 272011

Several people have asked about how I get my PCB boards burned with the results. For a long time I have promised that I would put up a tutorial about how to do it. So, I have an 8 hour drive ahead of me, so here you have it.

Having built a brazillion PCBs on perf board, I wanted something a little more custom. A few years ago, out of ‘necessity’, I decided to learn how to burn my own boards. I routed around online for several days, reading and watching many different methods of how to get the job done. I settled on Eagle Cad for the PCB design and layout. I will not go into how to use Eagle as there are already a number of good tutorials out there. Some of the best I found were this one and this one from Sparkfun. The first couple of boards I designed were slow going. As with all things, it got easier, and I got faster. What I found interesting is how designing on the screen has made clear things would not work on the physical breadboard. When you see the physical connectivity of everything, it just makes more sense.

For the actual boards, I tried a few different methods, but kept getting so-so results. I had seen the Pulsar FX website and read it front to back. For a product web site, there is an amazing amount of “How to” information on their site. I called and spoke with Frank (the owner) about his product. It turns out that he is a fellow tweaker and really cool guy. While I called to talk about his product, I had a great time talking to him about all sorts of geeky things. That is actually what sealed the deal. I bought the laminator a package of the transfer paper and some of the green ‘foil’. You can find his transfer paper on Amazon.

Having done the magazine thing with an iron, you don’t always walk away with good results. The special paper you buy from Pulsar is not a gimmick. If you follow the directions and use the right toner it works very well. I would not have thought that toner would have made that big of difference, but it did. I had some cheap generic toner in my printer and it fell apart. The second I used real, name brand toner, the whole quality game changed. My lines were solid and crisp. It was at that point that I started bringing my trace sizes down. While the product says I can get down to 6 mil (.006 inch), I stayed at a minimum of 10 mil.

Before I start to prepare the toner paper, I get the laminator plugged in and turned on. You want it fully hot when you transfer the toner to the board. You will also want to prep your board here as well. I cut my boards using an old paper cutter. After cutting the boards, I sand the edges using a fine grain sand paper as they tend to be a little sharp. I like the look of rounded edges on PCBs so I sand the edges round as well. This also helps prevent holes when etching (more on this later).

Ok, time to get down to business. While the following is more on how to produce a 2 sided PCB, the same concepts can be used for making single sided boards. I export the PCBs out of Eagle at 300 dpi. There should be 3 or 4 files (Top, Bottom, Front Silk, Bottom Silk). In this case I have 3. I use Photoshop to process my boards. I lay out all 3 files on one page. Eagle sends out a positive image of the board, so I invert the black and white. Any boards using the top must be horizontally flipped so it appears properly when it is etched onto the board. Once everything is set, I make a print to serve as a template for the toner transfer paper.

I cut out 3 pieces of the toner transfer paper (TTP). I cut about a 1/4 inch extra on all sides to leave room for a little play in where the printer prints as well as the possibility of not placing the paper exactly centered. I use a light stick painters tape and tape the TTP over the print on the pre-printed page.  I position the page on the manual feed on the printer and print again. When it comes out, the toner is now printed on the TTP (sorry… duh right?). I carefully pull off the painters tape. It is important that you pull carefully so the paper does not rip, and if it does (which sometimes happens), it does not rip into the print.

The next step is the moment that I dread the most. This is one of the steps that will either make or break the PCB. It probably does not need to be said, but alignment of the top and the bottom holes of a PCB is critical. I align the top and bottom by facing the prints towards each other. I use a wicked bright 3 watt LED headlamp and shine it through both layers of the TTP. I gently move the top around until I see a good portion of the PCB line up. I then zero in on the right hand side of the paper. Once it is about as close as one can get I squeeze with my right hand and then I move in the left side. Once everything seems to be all lined up, I use a piece of the painters tape and lock the 2 sides together to make a clam shell kind of shape (see the picture below).

Before I commit the design to the copper, I clean the copper completely with a green scrubby pad. As you scrub it, you can see the copper get shiny. I do not (and recommend that you do not) use soap that uses oil in it’s ingredients for grease break up (like Dawn). You want the board completely free of oils so the toner will stick. At this point I fill a plate with warm water in preparation for the toner’d board.

I place the board between the 2 sheets of TTP and make sure that the dimensions of the board are inside the area of the copper. I run it through the laminator 3 or 4 times flipping it over each time. I also move the board to a different position on the rollers so I get the maximum heat transfer per pass. I set the board and paper in the water.This is where the PulsarFX stuff rocks. I usually run my finger over the whole board to make sure it takes the water. I leave it for about 2 minutes, then I check it. The board will freely move when it has released from the paper so there is no question about when it is done. If the board moves it really moves too. It becomes slick on the paper. There is no scrubbing necessary, it just comes off clean.

If you are using the green foil, you would add it at this time. The foil fills in any pits or holes that the toner missed (within a certain amount). I do not have a picture of the green foil in this set as I was out of it. This is added to the board by placing it over the toner and running it through the laminator again. Anywhere the toner is, it sticks.

I really like one of the methods of etching the board found on the Pulsar site. The idea is to etch the board in about an ounce of Ferric Chloride inside a plastic ziplock bag. You then repeatedly run your finger over it to agitate the surface. This direct contact results in a really fast burn, which does a couple of things. It insures that no thin traces are over burned, resulting in broken traces. Also, this uses far less FC fluid (i.e. less waste). When I am done etching and cleaning the board, I throw the paper towels into the remaining solution, seal the bag, and toss it in the trash.

While swiping the surfaces of the board you will see the edges of the copper surface start to fade. Occasionally you will want to look through the board to check the condition of both sides. You want it as clear of any unwanted copper as possible. Again, being that this is such a quick process (3-5 minutes) you have plenty of time to make sure the board is clean. If you still see little remnants of copper, take the time to rework that area of the board in the etchant solution. Once the board is free of excess copper, I pull it out and clean it thoroughly. You do not want any of that fluid on you, or your clothes.

Using the green scrubby pad, scrub the board to get the toner and green foil off the board. You can use acetone to speed the process up a bit and make the job a little easier on your arms. The only drawback to using the acetone is that it melts the toner and the foil which colors the board a bit greenish black. This is not a really a problem, it’s more of a cosmetic thing.

Next up is the drilling of the board. PCBs have little tiny holes and as you may expect, need little tiny drill bits to drill them. I get my bits from Harbor freight as you can occasionally get them on sale. Again, there are many methods to drilling. What I have found to be the easiest is to use my drill press. The problem is your eyes crossing when you are trying to line up the drill bit to the holes. I designed a little magnetic board with 4 white LEDs on it to shine through the hole, and through the board which makes lining up the bit a heck of a lot easier. I keep a 12 v battery on my workbench strictly for this purpose. If the alignment of the top and bottom is the most dreaded part, drilling is probably the second. There are many opportunities to screw up your board during drilling. This is one area where you really want to keep your head straight and stay focused. It is a somewhat long and monotonous process and the holes are small which is a bad combination. I usually keep about a 10 mil of space between the drill tip and the board so the travel to board is at a minimum. While you will want to go fast to get the job done, I have found this to be the key to unsavory holes and broken bits.

 Posted by at 10:56 pm
Feb 252010

So, it was pinewood derby time for the Cub Scouts again. My son’s pack has a race for the adult kids too. I had been plotting my car since last years races. I wanted to really light the thing up.  Last year I had working head and tail lights, but this time I wanted bigger and better. I was just not sure what form it would take. I had considered many options. The most predominant idea was using an accelerometer to change the light settings based on force. The problem was that I wanted the lighting to stay very minimal until race time so that the surprise factor would be maximized. I was leaning heavily towards the Arduino Pro 3v due to it’s nice and tidy size. After more thought I started heading away from the accelerometer and started thinking about using an XBee to control the Arduino remotely.  Then while shopping at Sparkfun one day, I stumbled upon the Funnle IO board and that locked the plan together.

Funnel is an Arduino based board, with the added benefit of having an on board Xbee socket. Plus it is tiny, has a 3.2v line in (for  LiPo), and a LiPo charger onboard too.

I ordered the stuff from Sparkfun and started designing the circuits. The mental picture was to make 2 stripes that ran down the sides of the car. These would be able to blink, pulse, fade, and ripple. Then on the 4 corners I wanted to have a very bright strobe light effect that would strobe at about 1 pulse per second. The idea was something like a jet preparing to take off and the taxiing lights. I put together a breadboard mockup.  I decided to use the 6 PWM outputs for the stripes. This way I could make them flow however I wanted. I worked on many different ideas for making a slow PWM roll. I finally found that to make the lights really roll along, I needed to have more than one set as the rolling motion is much more pronounced when repeated in a longer strip. The thing started to take form.

I decided to use 3 sets of 6 LEDs on each side, but instead of running down the sides, they would actually sit on top of the car like some evil menacing engine. I did not want big bumpy 5mm LEDs all over it (which actually might just be cool), so I went with surface mount. All the LEDs and resistors are 1206. 36 LEDs at 20ma each would easily exceed the max draw for the Funnel, so I built a driver board to take the load off of the FIO. The driver board was nothing fancy, just a few small 2222 transistors (sot-23).

One thing I had a great amount of fun with was designing empty spaces on the board. Once the board was designed, it was quickly clear that though functional, it was hardly cool looking. There was a still ton of blank space, so I decided to decorate the PCB. It was arts n crafts time with Eagle Cad. So, I spent a couple of hours just playing with shapes. By about noon the next day, I had the board etched, and all soldered up, and was ready to start testing. I uploaded the code to the funnel and started to play. I had some problems with one the channels of strip lights. It turned out to be a transistor that was not completely seated on the board. It looked soldered, but when I heated it up and pushed down on it, it just sank. It was a quick fix and it worked great from there on out.  I made sure that the xBee was working, but mainly stayed on the ftdi cable during the remainder of programming and testing.

After designing the car, I needed to route out the innards where everything would fit. This was a little easier on paper than it was in wood. Eventually, it started to come together. Making a long story short, I got everything together and it worked great. This was my first real Xbee project. I really liked that I got feedback from the car which was sitting like 60 feet from me. Of course I had to program the Arduino to do so. All I needed to do to trigger an effect was just type a letter into the serial command box in the Arduino IDE. I had about 14 different things I could have it do.

Edit: (News) – My car is on Sparkfun’s Front Page!!! Call it my Andy Warhol 15 seconds. :0)

Edit: (Clarification) – No, I am not employing a “joule thief” circuit in the car. We get to name the cars, and I felt that the name fit. Some folks have asked if this is an “official scout issued” PWD kit. Yes it is, but I used 2 kits. The finished car is legal weight, but just scraping by. The wood weighs almost nothing as it is more or less, a shell.  When I weighed it after finally getting all together, it was over by quite a bit. I had to hollow out just about every place that was thick enough to be drilled. I avoided the spaces right around the wheel grooves as I did not want it to bust through during the race. If you look at the front picture on the video, in the reflection in the glass you can see where I had hollowed out the sides. Drilling a car that was already completed was a pucker factor of about 12. I really thought I was going to blow out one of the sides. But even that was not enough, when it raced, it did not have the left screw in place as it pushed the car over the legal weight of 5 oz..

Eagle Boards, Schematics, and Arduino Code

May 062009

We had a staff meeting at work. The topic of discussion was Relay for Life. Our department usually participates in some way. This year, there was the challenge of making a car out of boxes which would be carried around the track at midnight in a race. requirements were simple. It had to make it out of a box (duh), and it must have headlights. Seeing mass geek potential, I volunteered to build the car. I am not one to go to if you just want dirt simple.

I started to plan a rugged, heavy duty, off road kind of thing. Soon after we got a fairly massive UPS. The box was perfect. It was this crazy heavy duty cardboard. There was also this wonderfully shaped packing foam in the box, so that got grabbed as well.

One of the women who would be carrying the car is a cancer survivor. So, this was a custom build, just for her. She said that her car was going to be pink. Pink? Really? um… ok then. She said that we could also have purple trim if we liked. I decided on duct tape, and gaffers tape for the construction and vehicle color. Inspired by the shape of the foam, I set out to build her a hummer. A BIG PINK AND PURPLE HUMMER!

For the headlights, I wanted to go over the top. I decided that this thing needed a operational lighting system. Sure, we could throw in some flash lights, but I wanted bigger, and far brighter.

I have been experimenting with white LEDs for a camera flash system I have been working on. I decided to make panels of LEDs for the head lights. But really, how safe would a car be if there no brake lights, and blinkers? So, I made some LED panels for the rear too with real working blinkers and brake lights. This was all connected to an Arduino (Boarduino) through some FETs. I used 2n2222 for the left, and right blinkers as there was not as much amperage to worry about (Only 16 LEDs). There are 40 LEDs on the each brake light and and 40 each on the headlights. I got hit in the eye a few times with one of the head lights, and it was a wee bit painful. The brakes are each on PWM pins on the Arduino so that they could be slightly lit (because they are on when you turn on your headlights, right?), but then have the ability to go full bright during left and right blinking, as well as braking, all of which was controlled from a little button box. On the back wall of the car I made a LED ribbon out of pink LEDs. My initial intention was to do a 4 channel chase with the ribbon, but there was just not enough time.

The Relay night came. They took the car out to the track. They kicked on the lights and the 80 10,000 mcd white LEDs in front really lit the place up. They had a good time racing the pink beast around the track. Our car won for design.