Introduction: How to Make PCBs Easily

About: I study Computer Science and generally tinker with stuff. Be it software or hardware. I have my software periods and my hardware periods.

Who doesn't like the idea of PCB home manufacturing? But who can make PCBs at home?

Usually this defines the "pro" hobbyist from the amateur one...

The ability to make PCBs at home is the Holly Grail of an electronics enthusiast because it makes possible the (larger) production of a useful circuit with small cost and effort.

In this Instructable I will explain the basics of PCBs, and I will demonstrate 2 ways for easy PCB making:

The first one makes use of any Laser Engraver (DIY or not - I use My CNC Laser Engraver I made myself) and a specific PCB design software tool (The Free yet Powerful KiCad) with a (legitimately) free and open source toolchain,

while the second way just makes use of your hands, and a screwdriver or knife.

***ATTENTION***

PCB making (specifically etching - see next step) needs some basic chemicals (easily found at a pharmacy or Super-Markets - used for toilet cleaning) that can cause skin damage or eye damage on touch, and create some rather dangerous fumes). I use them for ages without issues, but I wear latex gloves and a pair of plastic safety glasses, while using them *outdoors*, to eliminate the possibility to smell and breath those fumes...

I strongly suggest you to do the same!

safety glasseslatex gloves

So let's move on:

What exactly is a PCB?

Step 1: What Exactly Is a PCB?


PCB stands for Printed Circuit Board and it is exactly what it implies! A whole circuit printed on a board, in a way that (little to) no wires are used or needed.

They are created by using a Copper Board:

copper board

Copper Boards are plastic boards that have a very thin (like 35µm) layer of copper on them. By scratching away the copper around an area on the board, we isolate it from the rest of the copper. Doing exactly this on many areas using specific area patterns and soldering components across those areas, makes a circuit, with wires being the isolated areas (called "traces" or "tracks").

There are 2 kinds of copper boards sold. The classic one and the photosensitive. The photosensitive board method is tricky and we will stick with the classic one-sided(for now) Copper Boards.

Now you may ask:

How do we remove the copper in such mannered and precise way?

Step 2: How Do We Remove the Copper From a Copper Board?

There are 2 ways of removing the copper from a board to make traces:
The Milling process and the Etching process.

The Milling process needs really special tools. Very precise CNC Mill equipment is needed (that is dead expensive) so I will just describe this method:

A drill enters the copper board, but only half way, just to remove the copper layer from the top. This drill (embedded in a CNC) "walks" on the board, removing all copper in its way. That means that the drill shouldn't touch areas that are meant to be conductive, but walk around them. This way, it isolates the conductive areas creating the traces. It is also called "Isolation Routing".

The Etching method is a lot cheaper. It suggests to cover the needed copper with something and bath the whole board in chemicals* that destroy copper. That way, the uncovered copper will be removed and the remaining will be the traces. But what is the thing that can cover the copper that good to prevent it from getting destroyed? Well... Ink (or Laser Printer Toner but this is a Different Story).

You can use a fat marker to draw the traces on the board and then etch it. As simple as that! But this leaves a lot of copper uncovered and the etching process will take time to remove all of it... (the video shows just that!) I suggest a better (and more sufficient) way in this Instructable.

*There are commercial chemicals for etching PCBs. I 've never used them!

I use a 6% solution of Hydrochloric acid (easily found for less than 2 euros per 450ml at super markets) and a 30% solution of hydrogen peroxide (found at pharmacies for almost free). I first add HCl acid and then some drops of H2O2. But to use so little you need a smart way to remove as less copper as possible...

Now that we know the basics lets go to the real thing...

Step 3: So Lets Design a Board!

I design boards using KiCad as it is a complete electronics suite and (according to my needs) it has nothing less than Eagle (which has a limited free version).

I won't demonstrate KiCad now, but I will definitely point you at the right direction (tutorial index - bottom of the page). This is where I started learning KiCad myself, so it is as good as I can find!

Now for Demonstration Purposes I will use a circuit design of my invention(!): Attiny85* Stepper Controller. It is a very cheap (less than 2.50 euros), very useful, single-sided circuit (you can see it in the picture).

*If you try this project you are going to program an AVR Attiny85 MCU. You can breadboard it, or do it with style using the DIy cheap AVR Programming Station I describe here(clicky).

So, to sum up we need to export the PCB files to G-Code

I have uploaded the KiCad PCB file. Name a project as "Attiny85_stepper_driver" and drop it in its folder to see it.

The "gerbers.zip" file includes an "Excellon Drill File", a "Gerber Back Layer" and a "Gerber Top Overlay" file. Those are needed in the tool chain explained later... You can open them using the free and great "gerbv - Gerber Viewer" open layer command. download page (Linux compatible as I use Linux only).

I have used a 1.80mm track width (this is way more that the default 0.254mm) to be sure that no precision issues will happen.

You can create new track widths at "Design Rules> Design Rules> Global Design Rules (tab)> bottom right of the page". Then you can modify existing traces by right clicking on them and going to "Select Track Width".

Step 4: The Plan...

So we are going to use the etching method, but to limit our chemicals, we are going to expose as littlecopper as possible. How we are going to do this? I had an idea, of combining the isolation routing process (as I own my DIY Laser CNC) with etching. Specifically I thought that maybe it was possible to etch the copper that it would be milled out if I was using a CNC Mill. That way, only a thin line around the trace would be etched, and this is as good as it can get...

To achieve this I tried several things and failed. Photosensitive Board was a fail, as it requires more chemicals (and not so common ones). But after a while I did it. And in the most budget way it is possible!

So, to sum up we need to export the PCB (Gerber) files to G-Code compatible for a CNC Mill, but run the Laser CNC instead. This can be achieved by using a software toolchain described explained in the next step!

Step 5: PC Toolchain (from KiCad Design to CNC Mill G-Code)

The uploaded images are in the order of the procedure. Be sure to enlarge them and watch them carefully. Down here I will describe the tools used, and provide website links and/or download links.

*** IMPORTANT ***

I use LinuxCNC and I have no Windows in my system. This means that I may use Linux exclusive tools. This is a rare thing but it exists. I will provide Windows alternatives for tools that I know that are exclusive, but for anything else let me know in the comments!

So. After we get the Gerbers from Kicad I use the "pcb2gcode" tool. This is a linux exclusive (I still don't know why) but there are many windows alternatives (this is a great site). There is also an online pcb2gcode tool!!!

I also use a GUI for pcb2gcode (because, for some reason, it is only a CLI program) made by a very nice guy. You can find it in his page. There are many others things for you to admire there as well!

When I obtain the G-Code I open it with LinuxCNC's EMC2*CAM program(Windows non-free alternative: Mach3). Then (with the Magic Z Mill emulation for Lasers: Mach3, EMC2), I run the CNC* and the laser burns just what a Mill would eat up.


*EMC2 comes embeded in an operating system called "LinuxCNC". This happens because a program that drives machinery needs real time kernel methods, and generally operating systems, not dedicated to machines, don't have them. LinuxCNC is normal and I have installed all my toolchains in it, so I don't need to swap OSs to drive the machine.

*I have made myself a Laser Engraver CNC. You can see it in my Instructable.

Step 6: The Procedure (pt1)

First of all we run the machine on wood. This way we can see the actual size of our PCB design.

Guided by this, we cut some copper board in a way that the PCB will have plenty of room on it. About 10%-20% more than the rectangular size of the design.

Then we take the chunk of copper board we just cut and paint it black using the spray can. The color is not optional. It has to be BLACK to absorb the most from the laser beam.

After that, we place the (PCB wannabe) copper board in our machine's bed. It has to be just above the wood (we just used) and cover the engraved area completely. This way we ensure that all of the traces will be engraved on the copper board too. We run the machine again (we may need to adjust the laser focus though)...

What we get is a copper board part, painted black where the copper was not hit by the laser, and exposed (or nearly exposed) on the areas that the laser burnt. Those areas happen to be the track boundaries!

Just because my laser is not that powerful, the engraved traces are visible, but the copper isn't exposed at all.

Here comes the second trick for today! Using a screwdriver, I scratched the paint, only on the engraved path, to finally expose the copper. And this is the second method I suggest (next page!)

Step 7: Scratching the Paint Is a Method Itself! (pt2)

When I was doing just that, I realized that if there were no traces from my CNC I could still do it (provided that the design was on my computer or hand-drawn), by just following a sketch! Just what the guy did in the Step 2 video, but with a screwdriver!

So this only needs a screwdriver with sharp tip and the spray can! No CNCs and fancy things Involved!

You will need a well lit area to do that job, because we are trying to see black traces on black background. A good angle will help with that too.

The photos are self explanatory I suppose. Just try to make the lines a bit bold, because this will help at soldering... Generally if you do the whole process one or two times, you will find out the best way to do this step...

With that done we move to the last part: Etching

Step 8: Etching (pt3)

The tough step!

This step requires the safety measures I described at the beginning. I just dropped the board in the glass and added some HCl. then some drops of Hydrogen Peroxide and left it for a minute or two. Then started brushing it softly with the "special helper tool" (it is NO LONGER a toothbrush).

There is a trick here: when you think that the PCB is ready... it isn't, leave it on more minute...

Now, by looking at it (still in the solution) you can see if there are any not etched lines (that should be etched). If this is the case, grab the board (you are wearing gloves - remember) andscratch it with the screwdriver a bit more.

When you finally remove it from the solution you are pretty close to your first PCB!!!

You can keep the solution for your next project! Just add some more chemicals next time!

Step 9: "Sanding" (pt4) and the Results!!!

Here is where the metal sponge comes in and clears the spray paint. "Sand" the board with the sponge like crazy.

Don't worry, the useful copper won't come out (we did all this chemical party to remove the copper - so it isn't that easy to remove it by just "touching" it with a metal sponge!)

In the photo you can see my PCB. It is my third PCB made this way. I tested with a DMM and it is working as it should - no leaks.

Now you can drill it (or just use SMDs) and populate it! You are done! Congratulations!



Thank you for reading this long Instructable. I really like finding comments. I log in every day just for that...