Make hobbyist PCBs with professional CAD tools by modifying "Design Rules"

It's nice that there are some professional circuit board tools available to the hobbyists. Here are some tips for using them ito design boards that don't need a professional fabricator to actually MAKE them...

Remove these adsRemove these ads by Signing Up

Step 1: Introduction, part 1 - my gripe

There are numerous tutorials on the net about making your own printed circuit boards (PCBs.) Toner transfer, photo-sensitized PCBs, sharpies; all sorts of information...

Likewise, there are are a number of Computer Aided Design packages (CAD) designed to help create PCB designs, possibly with accompanying schematics. Some of these have low-cost versions aimed at students and hobbyists.

But I see on various web pages PCBs created with these CAD packages, by hobbyists, that are not "friendly" to actually being fabricated by hobbyists using the methods described on the PCB pages. A lovely published PCB is not nearly so useful if it requires the $50+ typical minimum price from a professional board maker.

I don't have any doubt that with the right equipment, and supplies, and some practice, you can get good enough at home PCB fabrication techniques (take your pick) to produce high quality board of significant complexity, with fine traces, small holes, and so on. But a lot of PCBs don't really need that complexity, and it would be nice if they were DESIGNED in such a way that you didn't NEED a lot of experience in PCB making to get a working PCB.

This document contains some hints on configuring a CAD package to create boards that are easier to manufacture in a hobbyist environment. It's based around Cadsoft's Eagle CAD package, but the principles are relatively general and should be applicable to other CAD packages as well.

Step 2: Intro, part 2 - Cadsoft EAGLE

Cadsoft EAGLE:

Cadsoft is a German company that is a veritable mecca of software distribution enlightenment. In addition to the reasonably-priced professional PCB design packages ($1200), they have freeware, lite, non-profit, and other intermediate licenses. Their software runs under windows, linux, and MacOSX. It's slightly quirky, with a steep (but not too high) learning curve on the front end, but from most reports it is not any more so than other professional CAD packages. They have online support forums that are active from both the company and other users, the package is under current development and gets better with each release. A number of PCB fabricators will accept their CAD files directly. It's good stuff.
Use it. Propagate it. Buy it when you "go pro."

This document is not a tutorial on how to use EAGLE, although it'll probably be somewhat useful in that role. It's more about how to configure and customize an Eagle installation to better suit the hobbyist.
See also:
Schematic Entry
Create PCB from schematic
Creating Library parts
Design rule modification
Send CAD Files to manufacturers

Step 3: Our sample circuit: Blink some LEDs.

As an example, I'm going to use a simple and rather standard two-transistor, two-led "blinky" circuit. It looks like this.

(If you decide to actually build this, the transistors can be any general purpose silicon NPN types like
2n4401, 2n2222, 2n3904.) The ON time for each LED is about R*C (one second for the values here.)
The battery can be 3V up to ... whatever, although you may need to adjust the current limiting resistors
for higher voltages.) The caps should have a voltage rating a bit higher than the power source you intend
to use. For a 9V battery, I used 16V caps. Resistors are 1/4 watt. )

Step 4: Placing the parts

It looks pretty simple, so we'll throw the components onto a board just about the way they look on the schematic:

Step 5: Autorouted using the defaults, and what's wrong with it...

Then we fiddle with the autorouter a bit, being careful to set the top later direction to "N.A." to get a one-sided board (but using all the other default settings.) We gets something that looks like this.

That actually looks pretty nice. So what's the problem? The problem is that if you try to make that board in your kitchen, you'll probably be in for a lot of frustration. There are two main issues:

1) Trace width. The default trace width is 10mil (a mil is 1/1000 of an inch) or about 0.2mm That's fine for most professional PCB fabricators; most can routinely and reliably make boards down to 6mils. But it's VERY fine to accomplish using something like toner transfer (recall that a fine-lead mechanical pencil is 0.5mm - nearly 3 times bigger!)

There's a similar problem with the amount of pad left around the holes; while it's fine for a fancy CNC-drilling machine, if you try to drill the holes with typical home equipment you'll probably end up removing the whole pad.

2) Clearance. This is the space left between tracks (or between tracks and pads.) Like the trace width, it defaults to a small number: 8 mils. that's just not a realistic value for a hobbyist...

Step 6: Let's fix the DESIGN RULES

Collectively, these parameters (and many others) are called the "Design rules" for the board. Fortunately, they are designed to be changeable to meet the requirements for different PCB fabricators, and they can be changed to better match the needs of the hobbyist as well. You can get to the design rule check and options with the DRC command or button. It looks like this.

The DRC panel is usually used to do a design rule CHECK. After a board is laid out (usually with significant hand routing) you'd click the "CHECK" button and Eagle would go and make sure that what you've done conforms to the design rules you've specified. However, the autorouter also pays attention to the design rules you've set; it wouldn't be a very useful feature if the autorouter created boards that were "illegal."

As you can see, there are LOTS of parameters you can change. We're only interested in a few of them. (the individual parameters usually are illustrated with a nice picture showing the object you're actually changing.
A nice help feature...)

Step 7: Modifying the CLEARANCE rules

In the CLEARANCE panel, we can control the desired clearance between several different sorts of objects. The default clearance is 8mils for everything...

At some point you need to decide what you want the values to be. This is just an example, so I get to pick. I like 0.8mm, which is very close to 1/32 inch. So we can set a bunch of the clearance values to 0.8mm:

The "same signal" clearances can stay at small numbers; we don't care a lot about that. The PAD to PAD clearance has to be a significantly smaller 0.5mm; more about that later...

Step 8: Modifying the SIZES rules

The SIZES panel has the next set of parameters to change.

We don't have to worry about micro or blind vias, cause they're not appropriate to hobbyists in the first place, and not supported by the freeware Eagle in the second place. We can set the minimum width and minimum drill to
(again) 0.8mm (incidentally, .8mm is about a number 68 drill.)

Step 9: Changing pad sizes with the RESTRING rules

The RESTRING panel controls the size of pads. It'd be nice if we could make the ring be 0.8mm thick too, but by the time you have .8mm of hole and .8mm of ring on each side, you have 2.4mm diameter pads. Since many parts have the pads on 0.1inch (2.54mm) centers, that doesn't leave enough space BETWEEN
pads. So I'll use 0.6mm here, and I'll still have to use the smaller clearance values between pads that I mentioned above. I'll still have problems with PADs that are much bigger than .8mm (it takes about a 1mm hole
to hold a .025inch square post as found on many connectors.) You can trade off pad-pad clearance against pad diameters forced by the restring settings, depending on where you have more problems with whatever PCB technique you're using. One advantage of a large pad is it makes you less sensitive to the drill you actually use; even if the library is set up for a .6mm drill and you use a .8mm drill, you should have enough copper left so that you won't have a big problem. You don't need to set inner layer or micro-via values:

Step 10: Optional: adjust pad SHAPES

In the SHAPES panel, I like to force the pad shape to ROUND, since I've already made the pads very large in the RESTRING panel. The oval pads get VERY large when you use big restring values... This is optional, though:

Step 11: Save your chosen rules, and autoroute again

Having changed all those parameters, we should APPLY them, and then we can go back to the FILE panel and save them somewhere appropriate:

When creating future boards, you can use the FILE panel of the DRC window to read in the hobbyist-friendly parameters instead of having to retype them all. (Or just get the honny.dru file from the top page.) You can even suck them in you your init file.

Getting back to the circuit, if I run the autorouter NOW, I get a much more reasonable looking result...

Step 12: But why stop there?

We could stop there, but we don't have to. The autorouter operates on a grid (defaults to 50mils), so what it's done is put tracks along the grid in places that don't violate the design rules. That probably means that there's significantly MORE room for even wider tracks or clearances. If we GROUP the entire board, we can "change width 1.0mm" or equiv, and use the DRC "check" option to see if we STILL pass our specs. Or we could have
another DRC file with different parameters. In fact, this board can have it's trace width increased to 1.4mm without violating our clearance rules:

Step 13: Finalizing the PCB design

At this point, there are some traces that are reasonably close together, and it might make sense to manually move them apart a bit more, and clean up some of the stranger things that the autorouter has done. And I can decide that I want this to be one of those edge-of-stage warning lights that stands on its own by virtue of the 9V battery, which means I should reposition some of the components a bit. I can move around the silkscreen so that I can use toner transfer for that too. I end up with this:

Step 14: But did it WORK?

Let's see. I can be intentionally sloppy here, so as to better emulate someone without much experience, right? (Sure. That's a good excuse. I normally run off my boards on an LPKF PCB "plotter", so I genuinely suck at doing this the hard way.)

Scrap of board, magazine paper/toner transfer; looks not so wonderful at this point. Touch up with a sharpie.. etch, drill, clean... More toner transfer for the "silkscreen", add components and power it on...

Step 15: Summary

This is just an example, based on some personal opinions. The key thought is
that the wider your traces, and the more space between them, the easier your
board will be to fabricate by hobbyists. And most PCB packages have settings
that can be modified so that they'll do most of the work for you...
elmobd312 months ago
Thanks alot :)
jefremichel12 months ago
thanks so much for this info! new to eagle and slowly climbing the learning curve.
How exactly do you remove the silkscreen to only print the traces and pads?
There is a layers icon.

See this:

Just do the same on the board side of things.
It is a well informative and tutorial blog, it is easier to prepare for electronics hobbyist .But the PCB should explain with block diagram with different section, and any way it is helpful for many hobbyists.
hondaman9004 years ago
Is there a way to start over with the PCB layout? I used autorouter and didn't like the routing, especially after I moved components. I ended up deleting tracks thinking autorouter would simply redo them, but now I'm stuck. Seems like there should be a re-route process/option, or at least the ability to remove a PCB design and start over from a schematic. Any suggestions? I can't find this via user manual, Eagle's help file or Google.
westfw (author)  hondaman9004 years ago
Next to the "route manually" button is a "ripup" button that converts tracks back into air-wires.  To get rid of everything, click "ripup" and then click the traffic light that appears in the top toolbar.   Or type "ripup ;" in the command-line window.

You can also use the grouping box to ripup a section of a board. Click the ripup tool, click the dotted line box (Group), select the area, the CTRL-right-click it.
 Where, exactly, does one find the menu option to increase the trace width?
There's a much easier way. Just select the "i" tool and then click on the thing you want to change. It will bring up a dialog box that let's you change most of the attributes that apply to whatever you clicked on!
I just found that you can use the "change" tool (looks like a wrench) and select a new width from the dropdown.  However, you have to click on each trace segment in order to change it.  Can anyone help on how to automate this for changing many traces?
Select the change tool, setting "Width" and the desired width. (The author is saying that you can do this by typing "change width 1.0mm", but you can select it with the mouse and the wrench tool as well). You can then select the "Group" tool and select everything to be changed. Then right click on any part of the selection and choose "Change: group". This will change all selected traces at once.
AvrDon2 years ago
I've been using Express PCB for the last couple projects. 3 board for 59.00 usd
Software is pretty easy to use. I needed board that I can order and just install the parts. Nice work!
Aplonis2 years ago
Thank you kindly for this instruction. You surely have saved me much frustration as I found it just after DL'ing Eagle and prior to my first creation. I'm just now getting back into this after my divorce since I gave up such hobbies when I got married 20-some years ago. Back then I used to lay out double-sided circuits at 4X size with red and blue tape on acetate laid down onto a light board. Then I had to photo-reduce the red and blue sides separately into a pair of black masques. This newer way is going to be very much cooler, I'm sure.
Thank you very much for your extremely helpfull tutorial.
panic mode3 years ago
nicely done, congratulation.

i was doing same thing until i got access to mill which makes prototying simpler (you don't need to etch) but the soldering is a bit harder.

couple of months ago i started using KiCAD because I needed to make some larger bards but could not afford paying for software (KiCAD is free). it was quite easy to get familiar with too.
Sockles3 years ago
Thanks so much for clearing this up for me! I always routed myself because I never could get the traces big enough for my cnc to route.
Modarius5 years ago
.8 mm or .8 cm?
Algag Modarius3 years ago
i beleive .8cm or 8mm
Hi one and all., myself rbk., I want to design pcb., can any one please help me which software should i use for designing pcb. I'm new to design . So please guide me about softwares. Thanks to any replies
use eagle cad it is available for free with limitations for any nonprofit, prototyping, and home projects the instructables on how to use it are a dime a dozen
hgk7 years ago
I am using eagle's free version to do a double sided board at home and would like to add some pad area to the top traces as the board will not have plated-thru holes. Is there a way to do this ( or to edit out unwanted bottom pads if printing the top layer with pads?). Is there any other common way of connecting the top traces to components? Thanks for any help.
hgk hgk7 years ago
The hard way:
Open a renamed copy of finished project.
Goto board and select top, pads, and dimension layers.
Draw a wire x-hair somewhere on the board for future alignment reference.
Group, copy, and paste a copy of everything alongside (pads wont copy).
Add vias to traces wherever you want top layer solder pads. Via sizes can be adjusted to suit.
Goto renamed schematic then group and delete everything.
Goto board and group and move everything into the now blank dimension area. Use the wire x-hair as an alignment reference.
Now print the board to use for the top etch pattern.
If there's an easy way please let me know.
westfw (author)  hgk7 years ago
It doesn't do what you want if you select TOP, PADS, and VIAs layers, and then print as normal, perhaps with 'mirror" selected? here's sample "print to file" output from a 2-sided board I have:
Eonir westfw3 years ago
Oh. Looks like you've got yourself a ground loop. Just sayin :D Should a lightning crash nearby, a current would flow within your ground plane. That can usually cause damage. Of course, that doesn't really matter, the odds are close to zero, so don't worry. I'm just dropping random knowledge like a clumsy librarian.
hgk westfw7 years ago
At the time I felt that I didn't want all the pads etched on the top layer, just wanted the ones that were connected to top traces. But looking at your finished layout it looks just fine to have everything there. Thanks again.
westfw (author)  hgk7 years ago
Ah. Yes, it would be a challenge to only produce the top pads that HAD to be there; I don't know any way to do that.
westfw (author)  hgk7 years ago
I'm not sure what you mean. There are some "ticks" to making a double-sided board that won't have plated through holes (probably a good subject for another Instructable) that mostly consist of ensuring that the pads that pass a signal from top to bottom layers only occur on components where you can easily solder both the top and bottom sides (or use EXTRA vias, which is opposite the usual optimization for professionally manufactured PCBs.)
hgk westfw7 years ago
Sorry for the confusion. Normally one would etch the bottom layer and pads together and etch the top layer without pads. I would like to etch the top layer with just the pads associated with the top layer traces. Is there any way to something like that? Bottom line: how do I electrically connect the the top traces to the components on a home made double sided board without including some pad area along with the top layer traces. Thanks once again for your help.
westfw (author)  hgk7 years ago
Normally both top and bottom copper layers include the "pads" EAGLE layer; you just include PADS in whatever output technique you're using. I'm working on an instructable about doing output from EAGLE, which is shaping up to be largely a discussion of LAYERS and what they really mean (and some of "why?")
janw3 years ago
Hi, Really great tutorial and very clear to understand. But I must say that the standard settings for eagle suits me well. I must admit that I don't use the tonertransfer method but photosensitive PCB's. On the other hand, I do not have fancy equipment: I use a Philips facial tanner to expose the PCB's to UV light and drill press to drill the holes.
hgk7 years ago
When making a board using the toner resist method, is there a way to set up multiple copies of the board lined up to print on a single page?
jeff-o hgk3 years ago
I wish! At best you can print two, three or four copies on the same page by running the same paper through, and aligning the design to different corners (possible in Eagle, not sure about other programs). The downside is that on each pass the paper darkens a bit from scraping toner off the rollers, so with this method you really can only do four boards max. Hmmm, maybe there's a way to "panelize" the designs, though. Does anyone know if Eagle can panelize?
westfw (author)  jeff-o3 years ago
Free Eagle will panelize up to the limits of the free version (80x100mm); there are some ULPs (eg panelize.ulp) that aid in the duplication of labels and such. And there are tricks you can do with postscript output, or gerbers, to panelize outside of EAGLE. Output tricks was supposed to be the subject of another instructable, but I got a bit bogged down.
jeff-o westfw3 years ago
Well there you go. I'll have a look for those ULPs. I've got the paid student version so I could panelize a slightly larger board.
I make home made PCBs all the time using the Toner Transfer method with photo paper. With regard to the software, while Eagle is a powerful software package and a free one at that, it is much more than you need for casual circuits. I prefer PCB123. It is easy, simple, and free. When you're done your design just choose print schematic, click black and white, select your layers and you're done. It's probably no good if you're planning on involving a board shop other than the PCB123 people but for homebrew it's great. All depends on how much learning you want to do.
westfw (author)  mircerlancerous3 years ago
I didn't mean this instructable to be entirely specific to EAGLE; other CAD packages probably have very similar features and even terms (like "design rules.") They're sort of industry-standard. The thing that attracted ME to EAGLE was the support for non-windows operating systems...
jeff-o3 years ago
Excellent work! Wow, I just checked the published date. Nice to have your work suddenly recognized again, eh? Anyway, thanks for this. It's good to know that you can increase pad sizes using DRC. That often screws me up, with the drill pulling up the pad...
westfw (author)  jeff-o3 years ago
Yes; it's a bit odd to have Instructables "featured" and become "popular" when they predate the existence of those features... One wonder what other gems are back there.
renoir3 years ago
Nice tutorial! It explains a few things that I was mis-understanding, like the word "check" = "modify" :-). I assumed it would just complain about pad sizes, etc, not change them for me. Nice tip about drili-aid.ulp too :-)

Get More Out of Instructables

Already have an Account?


PDF Downloads
As a Pro member, you will gain access to download any Instructable in the PDF format. You also have the ability to customize your PDF download.

Upgrade to Pro today!