Printed Circuit Boards (PCBs) revolutionized the way electronic devices were developed and assembled. The PCB can be traced back as far as the early 1900’s, but it was not until the 1950’s that they truly became commonplace as a defacto industry standard for electronic assemblies. Even still, the process of creating a PCB was a tedious, toxic, and dangerous task that was mostly done by hand by skilled workers. In the decades since the PCB creation process has been industrialized, automated, and made more environmentally friendly. In a modern PCB fabrication facility most of the work is now done by machines at a rate several thousand times faster than the methods used in the 1950's. In fact, the modern manufacturing process has became so efficient that it is now affordable for hobbyists, tinkerers, and small businesses to produce small run orders of their custom PCBs.
In this guide, I am going to give a high-level overview of what you need to know to design and create your first PCB. My goal is not to thoroughly cover every step of the process, but to highlight many of the aspects of the process in an effort to help first time designers understand the process well enough to get started. If you would like a more formal step by step guide, please let me know in the comments section, and I will do my best to create a series in which I design and have a PCB manufactured. With that said, let's jump right in and get started.
What is a PCB?
A PCB is defined as flat sheet of material that mechanically supports and electrically connects electronic components using conductive tracks, pads, and other features that are etched from a series of copper sheets that have been laminated onto a non-conductive substrate. This substrate can vary from a cellulose based material, fiberglass, or even flexible thermoplastics. Passive components such as capacitors, resistors, inductors, diodes, as well as more complex active devices such as transistors, and integrated circuits are generally soldered on the PCB. More modern and advanced PCBs may contain components embedded in the substrate, a common practice in military and high component density devices.
Hobbyist level PCBs are generally designed in two different layouts. The first and most simple is a single sided (one copper layer) layout which means that components and copper traces are only located on one side of the PCB. These single sided boards are quite easy for the home hobbyist to etch themselves, but lack the space needed for more complex designs. The second hobbyist-friendly design is the double sided (two copper layers) PCB. This board features a copper coating on both the top and bottom layers, and its main advantage is the ability to utilize double the surface area of a single sided PCB. This allows for more complex designs to be placed in the same space.
Single and double layered PCBs are not the only substrates available though. PCBs can have multiple layers of theoretically unlimited numbers. However, multi-layer PCB’s typically vary from three to as many as sixteen separate layers. To get the electrical signals from one layer to another, conductors on different layers, called vias, are implemented in the form of a small copper tube that is able to span from one layer to any other layer while remaining electrically insulated from the layers it does not need to contact. Multi-layer PCBs allow for much higher component density, but have the tradeoff of being much harder to design and manufacture, which also makes them more expensive. For the purpose of this article, we are going to focus on the single and two layer PCBs as that is the point at which one should begin when creating their first PCB.
Let’s take a moment to talk about the insulating substrate that we will most likely use when creating our first PCB. As I mentioned earlier, PCBs can be built on a number of different substrates, but the most common today is a material called FR-4 glass epoxy. This substrate is a special composition of fiberglass strands and epoxy that forms an exceptionally strong and well insulating foundation for the PCB. To create the full “copper clad board” either one or two layers of copper sheeting is laminated to the FR4. In multi-layer boards, multiple layers of FR4 and Copper are laminated together to create the different layers as defined in the PCB’s design.
Finally, there are two more layers to a PCB that are not mission critical for more simple designs, but have become industry standard over the last three or four decades. The solder mask layer is a thin layer of a specialized polymer that is designed to resist molten solder from sticking to it. Solder mask is applied to the PCB after the etching and drilling processes, and is applied to the entire PCB except to the traces and pads where components and wires are to be soldered. This microns thick layer helps prevent solder bridges, and shorts to what would otherwise be uninsulated copper traces. The silkscreen layer is just what its name implies. It’s usually the final layer applied to a PCB before the components are soldered on. It’s main purpose is to identify components, and provide information about the PCBs manufacture.
You may want to check out (and contribute to) our Glossary of PCB terms.
Schematic and Board Design Software
There are dozens of PCB CAD software available for you to design your first PCB with, but three stand out in terms of ease of use for first time designers. I have used each of these three programs in the past, and I have a preference for Eagle CAD, but am beginning to use CircuitMaker and KiCAD more as their community support grows larger.
Eagle
Autodesk EAGLE, (formerly CADSoft Eagle which was owned by Element14) is billed as the Easy Applicable Graphical Layout Editor that is a powerful, easy-to-use PCB design software for every engineer! For more than 25 years, EAGLE has been the PCB design tool of choice for hundreds of thousands of electronic design engineers and developers worldwide. Many enthusiast have used eagle over the years due to its large community support and it’s limited but, free hobbyist license. Eagle also has a monthly and yearly subscription plan set up at two different pricing tiers for those looking for a more feature rich version of the software. For the purpose of this article, the focus will be on the free version.
As per the Autodesk Eagle website, the free version includes the following features:
- Schematic Editor
- Layout Editor
- 2 Signal Layers
- Autorouter
- 80mm2 Routing Area
- 2 Schematic Sheets
- Non-Commercial
Eagle has a lot of support from both the amateur and professional communities, with literally hundreds, if not thousands of tutorials on how to use it all over the internet. A simple search on YouTube will yield dozens of pages of video tutorials in many different languages. Additionally, there are hundreds of user created component libraries for just about any electronic component you will find on the market, and a ton of support for legacy new old stock that you might find on Ebay, at an estate sale, or in a surplus store. As with everything digital, there are a few tradeoffs when using the free version. The biggest issue is the 80mm x 80mm routing area limit. This means that your board design can not exceed those dimensions. Another issue for some is that boards designed in the free version of Eagle are limited to non-commercial use only. If you only plan on creating your design for personal use, or to give away to friends, then this is not an issue for you, but if you plan on selling even one of your boards you can not use Eagle to create the schematic, board layout, or the CAM files needed to manufacture the boards.
Eagle was the first PCB CAD software that I used, and as such, it became my go-to program to use when designing new PCBs. I have spent a lot of time in Eagle, and know the program quite well, but as I progressed in my knowledge of the craft and my designs grew more complex while my budgets stayed the same, I began looking into into the next PCB CAD program on the list.
KiCAD
KiCAD is the only fully open source PCB CAD program that I will cover in this article, not because others do not exist, but because it is the only one I have first hand experience with. Albeit that experience is a bit limited, I understand the program enough to briefly talk about its highs and lows. The software’s website says that “KiCad is an open source software suite for Electronic Design Automation (EDA). The program handles Schematic Capture, and PCB Layout with Gerber output. The suite runs on Windows, Linux and OS X and is licensed under GNU GPL v3."
One of the major benefits to using KiCAD is that it is a fully functional PCB design and layout software that is 100% open source, and is backed by many of the entities that back the open source software and hardware movements. Most notably CERN, The University of Grenoble and GIPSA-lab, The Raspberry Pi Foundation, and Arduino. The software was originally created in 1992 by Jean-Pierre Charras, but is now actively developed by its own development team. Furthermore, the community based support for KiCAD is growing at a very fast pace, and in the last few years it has became a formidable competitor to Eagle. Additionally, KiCad is free software. KiCad is made available under the GNU General Public License(GPL) version 3 or greater.
- The KiCad suite has five main parts:
- KiCad - the project manager.
- Eeschema - the schematic capture editor.
- Pcbnew - the PCB layout program including a 3D viewer.
- GerbView - the Gerber viewer.
- Bitmap2Component - tool to convert images to footprints for PCB artwork.
- The KiCad suite has five main parts:
Unlike the free version of Eagle, you are not limited in board size, nor are you bound to non-commercial designs only. KiCAD also features a 3D viewer that allows you to view your PCB, unpopulated, and populated, in 3D so that you can accurately check clearances, layout, and footprint issues. Furthermore, you can adjust component footprints on the fly, and other useful features like the GerbView and Bitmap2Component features make the QA and design portions of your design process much easier.
CircuitMaker
CircuitMaker is Altium’s foray into the free PCB CAD world, and I honestly have to say that they knocked it out of the park. Its website says that CircuitMaker was designed “For turning great ideas into real products, you need design tools that won’t limit your imagination or hold you back. CircuitMaker has all the power you need to design high quality schematics and Printed Circuit Boards, with no artificial limits on layer counts or board area. Best of all it’s free… Typically, free EDA software is poorly developed, or has restrictions on design size that render it useless for any real project. Not CircuitMaker - you get the full power of 16 signal + 16 plane layers, and no restrictions to the PCB dimensions. You can even make money with your designs, because it is nit restricted to“non-commercial” development only!”
CircuitMaker is the newest player on the field, at least as far as this article is concerned, and it boasts a wide array of interesting and useful features that have raised the bar in terms of what users might expect in a free PCB design program. The software is based on Altium Designer’s technology, but at a more hobbyist friendly level. I will admit that this is the design program that I have used the least, but it is quickly growing on me thanks to some of its features such as the ability to easily collaborate on a project with other makers thanks to its Share and Collaborate feature. One other feature I would like to highlight is the program’s native 3D technology that allows you to press a hotkey at any point in the board design process and view the board and components rendered in realtime 3D. This allows you to see any component clearance violations and you’ll even know what the overlap distances are, so you can get your designs right - and fit to the box - the first time.
Other standout features of CircuitMaker are:
- A massive, and rich component library
- Push-N-Shove Routing
- Topological Autorouter
- Multisheet Schematic Editor
- A very powerful DRC/DFM Processor
- The ability to import from virtually every other popular PCB design program.
Designing your PCB
When you design your first PCB there will be several steps that you will need to take before you ship the design files off to be manufactured. I have covered those steps briefly below. Each of the programs listed above have their own project management feature, and learning how to properly use that feature will make the steps below much easier, and the whole process will feel much more streamlined.
Create The Schematic:
If you are reading this article, then I am going to assume that you know what a schematic is. If you don’t, then please stop reading right here and perform a few searches before continuing on. If you are like me, you have sketched out your circuit design onto a piece of paper. Even if this is the most basic concept of your design, it will still help to quickly sketch things out before moving on to building the schematic in the software. If I am unsure of a design, I will often search for free, open source design files that feature similar circuitry, or portions of a circuit that I can copy out into my own design. Using this method I have been able to teach myself how to design simple circuits like a 555-timer flasher, all the way up to complex hats for the Raspberry Pi.
As I mentioned earlier, when designing your schematic, you will need to pay special care to ensure that the footprint of the component you use in the schematic exactly matches the footprint of the component that will be soldered to the PCB. Depending on the popularity of the exact component you you will be populating the PCB with, you may have to take matters into your own hands and create the correct footprint yourself. If this ends up being the case, don't worry too much about it. There are really great tutorials on YouTube that walk you through the component creation process for just about every popular PCB CAD program on the market.
When creating the schematic in any of the three programs mentioned above, remember to double check that everything is connected where it needs to be with a NET. This is how the program’s auto routing, DRC, and ERC features know what is connected where. I generally like to go over my schematic two or three times, counting each net, and making sure that everything is connected and accounted for before moving on to the board layout.
Laying out the PCB
Mounting Holes and Other Routed Features
If your design features mounting holes, v-scores, mouse bites, or fingers, make sure you place them on the board first. This would also be a good time to read over any documentation that the fab house that will manufacture your boards provides. Some facilities have guidelines you will need to follow that will govern the sizes of drilled holes, clearance requirements for v-scores, and even rules that govern finger placements. Placing these features at the beginning of your design will also help eliminate any issues that might arise when placing component footprints into the design.
Component Footprints
Every PCB design program is different when it comes to footprint assignment. Some programs force you to select a package or “footprint” when choosing schematic components, others let you assign a footprint to a specific schematic symbol in your design. Either way works fine, but it is important to remember that the footprint you use must match the physical component you will be populating the PCB with. An incorrect footprint will almost always result in wasted time and money.
If you are doing a small run of boards, this is not that big of a deal, as you can either remake the boards, or order the same component with the correct footprint. On larger runs, it will be up in the air on which solution is the better option based on which component does not fit. If it’s a $0.01 resistor, then it's not a big deal, but if it is an $8 IC, it could be disastrous.
All three of the programs listed above feature the ability to create, edit, and import footprints, but this process is tedious, and I find it best to try and find off-the-shelf components that match existing footprints. With that said, on the last PCB I created, I did have to create footprints for 3 different components, and it only set me back a few hours to get those components created.
Trace Width vs Amperage?
One often overlooked step in the PCB design process by newcomers is selecting the proper trace width for the load it is intended to handle. Traces for simple 3.3V and 5V logic signals can be tiny, but the trace for high voltage connectivity from something like a 120V 10A relay will need to be much larger to ensure they can handle that type of load without melting and destroying the PCB.
This is not an area I am an expert on, so I will have to refer any questions on this topic to the internet or electrical engineering text books. There are several handy calculators online that will help you figure out proper trace width. There are also methods to boost a trace’s power capacity such as leaving the trace in question exposed from the solder mask, and giving it a liberal coating of solder in the wave soldering process. I am not sure if this method is considered a best practice or not, but I have seen it used in amateur and professional PCBs.
Routing The Traces
This is another point in the design process where you should read the documentation provided by the fab house that will be manufacturing your PCB. Every manufacturer is different, and some of the cheaper houses have restrictions on how small your traces can be, as well as how small the clearances can be between traces.
You can choose to hand route each trace or use the program’s auto routing feature. If my design is small enough, I prefer to route the traces by hand, but this can become highly time consuming if your design is complex. One thing to note is that sometimes the Auto Router will miss routing a trace or two, and you should always double check that every net from the schematic has been properly routed on the board design. Each program has various settings you can change that govern the amount of vias and layer changes that will be used to route each trace. This is important as some fab houses will charge extra if the number of vias in a design crosses a predetermined threshold.
The Silkscreen Layer
Once the components have been placed, and all of the traces properly routed, you should take the time to adjust labels and rename anything that needs renaming on the silkscreen layer. This is also the time to add logos, website addresses, and the board's name, revision number, and date this revision was created. Personally, I like to add most of the identifying information to the copper layer, but that is a little more advanced than I want to get with this guide. If you would like to have that info etched into a copper pour, there are tutorials that can easily be found with a simple search.
ERC & DRC
Think of the Electrical Rules Check (ERC) and Design Rules Check (DRC) as the first step in your Q&A process. The ERC will check your board design for unrouted traces, VCC and GND shorts, and several other electrical rules. Unfortunately, if your schematic is missing net connections, the ERC cannot alert you of unrouted connections. It is up to you to double and triple check that your schematic is correct before moving forward.
The DRC will run a series of test based on the requirements of the manufacturer who will be producing your boards. You will need to check with the manufacturer for their specific DRC parameters, and most will be able to provide you with a DRC file for the specific CAD program you are using. Ensuring that the DRC returns no errors is very important, and not running a properly configured DRC could result in your design being rejected by the manufacturer.
Check 3D Rendering
Step two in the Q&A process is to utilize your design software’s 3D rendering feature to check for component clearance issues and that the silkscreen layer is correct and is free of obstructions that component packages might have caused. This is also a good time to take a screenshot of the render so that you can brag to your friends about how cool your new PCB is going to look. I find it best to look at both the naked board, and the populated board in the 3D view as it gives me a better sense of confidence that my design is sound and ready for manufacturing.
Print 1:1 Scale and Check That Footprints Match Physical Components
The final Q&A process that I recommend is to print your board layout at a 1:1 scale, and physically place the various components onto it that will be placed at the factory. This step does require you to have a full set of components on hand, but I find that this process is vital in ensuring that everything fits properly. It’s just another layer that adds additional peace of mind before shipping your design files off to be manufactured.
Having your PCB manufactured
The first thing you will need to do before you can ship your design off to be manufactured is to generate a Gerber file that contains all of the necessary design files for the fab house to use in the PCBs production. This file is a universal file that is generated in the CAD program you used to design your PCB. Each program has its own way of generating this file, so be sure to read the program's instructions, or search for the proper way to generate the file with the program you are using.
Once you have the design file created, I am going to assume that you have a fab house picked out. This is something you should have done before running the DRC earlier. You will then need to visit the fab house’s website and select the number of boards, the PCB material and thickness, solder mask color, silk screen color, and the type of coating you would like applied to the copper traces. The most common coating is called HASL and is simply a method used to coat the copper traces in a thin layer of solder that will prevent them from oxidizing and compromising their integrity. If you have fingers on an edge connector, you will want to specify in the notes that these copper pads do not get a HASL coating, unless required by the design.
Once you have all of the various options for your PCB selected, all that is left is to finish up the order, and wait for your PCBs to arrive. This could take anywhere from days, to weeks, or even months depending on the fab house you select. Some of these manufacturers offer expedited services for an additional fee, and this is something you should consider when choosing who will manufacture your PCBs.
One other factor to consider is how many PCBs you will be having made. Some fab houses have a minimum of 100 PCBs that must be ordered, while others will accept orders for as few as five boards. I have seen some places that will manufacture a single PCB, but you will have to wait on a panel to be filled up with other peoples designs before the manufacturing process will begin. These single board services are notorious for taking weeks to months to deliver the single board, so consider spending the extra money if you need your board fast.
Finally, most fab houses will include an electrical signal check on the PCB at various test points for free, but a thorough electrical signal check of all of the traces will cost extra. If you are confident in your design, and you are just ordering a few PCBs, the free testing should suffice, but if you are having more than 10 boards made, or are planning on selling the PCBs you should consider paying for the more thorough check. You could also perform this test yourself by building a testing jig with pogo pins.
Having your PCB Populated
If you like to solder, or have a reflow oven, pick-and-place machine, and patience, you can populate your boards yourself. For small runs, self assembly of the boards is not that big of a deal, even if you have to hand solder 603 sized resistors. I have personally hand soldered a run of 175 PCBs that I built for a company I used to own, and I can honestly tell you that it was most definitely not worth my time, or the stress that it induced into my life. It took me six days of straight soldering from 8am to 7pm to get the batch finished, tested, and packaged.
An alternative to building each of your PCBs by hand is to have them populated by the fab house who etches your PCBs. Not all PCB manufacturers offer this, but most that accept low volume runs also offer assembly services. From my experience, it does not cost much more to have the PCB populated unless you tack on additional steps in the process such as burning a program to the MCU, or running 100% test on the finished boards. The 175 board run I mentioned earlier would have cost me less than $5 extra per board to have the components populated at the factory. When you do the math on that small extra cost versus the hours upon hours I spent hand soldering, I lost way more money than I would have by just having the board populated at the factory. It is important to remember that if you chose to have your PCB populated at a factory, you will need to provide them with a bill of materials, and you might even have to ship them the components that your board requires.
Almost every PCB I have had manufactured since has also been populated at the factory. I almost never opt for the programming option, as it is easy enough to connect a cable myself and program 100 boards while I work on other things. Ultimately this step is entirely up to you and if your budget can accommodate this process. I would highly advise that you have your boards populated at the factory if you have SMD components in the design, or if your run is larger than 10 boards.
One final piece of advice that I can offer is to keep an unpopulated copy of your board for future reference. I keep a “master copy” of all of the PCBs I have created in a filing cabinet, each labeled and numbered along with a print out of the schematic, board design, and 3D rendering. This helps me quickly find something if I need to reference a design, or troubleshoot something.
More Resources
Element14 offers unparalleled resources for manufacturing your own PCBs, including a community section, a download center for some of the most popular PCB CAD programs, and a couple of fab house partners that will work with you to get your PCBs manufactured quickly and hassle free. Head over to the links below to learn more. I have also listed a few resources from around the web.