So you’ve had some success with using breadboards and protoboards. Excellent! Now you want to take it up a notch and create a printed circuit board (PCB) to create more copies and share your creation with others. The good news is that with a little time and patience, you can create your own professional-looking PCB designs.
Creating the Schematic
Step 1: If you haven’t already, spend a little time looking at a couple good examples of circuit schematics to get a feel for them. It helps to know what the end goal looks like.
Step 2: Sketch out your initial schematic with paper and pencil. That way you can focus your attention on learning the design tool rather than trying to figure out what the schematic should look like.
Step 3: Download KiCad.
It’s free, well-documented, and widely-supported. Some people will tell you that it’s clunky and difficult to use. While KiCad does have it’s quirks, it’s pretty easy to use once you get used to the process flow and keyboard shortcuts. Also, did I mention it’s free?
Step 4: Start creating your schematic in Eeschema.
One thing that will help immensely is understanding the window zooming and panning controls. The mouse wheel will zoom the window in and out. Shift + mouse wheel will scroll the window up and down. Ctrl + mouse wheel will pan side to side. This is much quicker than using the windows scrollbars.
Step 5: Create any custom part symbols that are needed by your design. If you’re only using common parts, this might not be needed. If you’re using a microcontroller, though, chances are good that you will need to roll your own.
Don’t get hung up on the symbol layout matching the physical part layout. That will come later when you associate or create the footprint for the part. Also, just follow sequential pin numbering instead of the GPIO numbering on an MCU. Use labels to indicate the GPIO #.
Step 6: Run the electrical rules check. Fix any problems, re-run rules check, and repeat until all problems are resolved.
Creating the PCB
Step 1: Generate a Netlist file and save it to your project folder. This is found under the Tools menu in Eeschema.
Step 2: Assign PCB footprints to schematic symbols. You must do this for every symbol in your schematic.
Pay attention to the sizes listed in the description. When in doubt, view the footprint and use the tools to verify the dimensions. If you have the part on hand, verify it’s dimensions with a digital calipers.
You may need to create a custom footprint if a part does not have a suitable one in the library. Save this to your project library.
Step 3: Run Pcbnewand load the Netlist you generated in Step 1.
Untangle the rat’s nest that KiCad generates.
Start laying out the components in their desired locations. This may take some time and rework. Be patient. M (move) and R (rotate) are two essential keyboard shortcuts for this step, as are the zoom and panning shortcuts.
Realize that the bigger the board, the more it will cost to have fabricated, so try to use space efficiently. However, if you try to pack your components in too tightly, it may become more difficult to assemble your board and you may violate design constraints (see Step 9 below). Find a nice compact balance.
Step 5: Export a Spectra DSN file. Save it to your project folder.
Step 6: Install FreeRouting.
This is an autorouting application that will calculate the most efficient traces and vias to connect your components. This will save you quite a bit of time – especially on bigger projects.
You can install FreeRouting either by itself, or by installing LayoutEditor (which is the method recommended on the FreeRouting website.)
Step 7: Launch FreeRouting and load the DSN file you created. Run the autoroute function, then export the results as a Spectra DSN file.
Step 8: Back in Pcbnew, File→Import Spectra Session. Select the new DSN file generated in Step 7.
Make sure to review the results and modify traces as you see fit, since the output may not always match your expectations.
Step 9: Perform
the Design Rules Check.
Fix any problems, re-run the check, and repeat until all problems are fixed. You may need to run some traces manually using the Route Tracks tool. Just make sure you have the right copper layer selected (F.Cu or B.Cu). You may also need to add some vias to route a trace from one layer to the other.
Step 10: Add silk screen text and graphics. Suggested items to have on the silkscreen:
- Name and version # of the board
- Component identifiers (these are normally generated for you, but may be in awkward locations)
- Polarity markings for polarized components
- Resistor and capacitor values (220R, 4K7, 0.1u, etc.)
- Any other markings that would be helpful to a person using or assembling the board (i.e. “VOL” by a potentiometer, or RESET by a button)
Step 11: Verify. Double-check the traces. Toggle the visibility on each layer to ensure that each item is actually on the layer you expected. Finally, go to View→3D Viewer to see what the finished product might look like. Render the view using the Raytracing option for an even more realistic appearance.
Step 12: Send
the board for fabrication.
My suggestion is to use OSH Park for your first board prototype. Their submission process is super simple – just upload the .kicad_pcb file from your project folder. You’ll get to see a rendering and preview of the different layers. After the purchase, you’ll get a few status update emails and then should receive your (purple) boards in about 2 weeks.
Once you get your boards, build and test them before ordering more boards.
For larger runs, you may want to look at some of the Chinese fabricators in order to get a lower volume cost. PCBWay, Elecrow, and Seeed are common choices. I’ve had good experiences with PCBWay. They have an engineer review the your files before fabrication. This slows the order process a bit, but they might catch something you overlooked – as they did when one of my traces came up a bit short from a pad.
You’ll need to jump through a few more hoops to generate the Gerbers and drill files from the KiCad project using the Plotter tool. Fabricators will generally provide info as to what settings and options to use when generating these as they may vary.
Once you’ve finished generating these files, zip them all up. You can upload the zip to gerblook.com to verify they look ok. Fabricators may also provide this feature as part of the submission process.
KiCad Like a Pro by Dr. Peter Dalmaris