KiCad - CourseReps/ECEN489-Fall2015 GitHub Wiki
#KiCad EDA KiCad is an open source, cross platform EDA (electronic design automation) software suite, providing tools to design a PCB (printed circuit board) from schematic to layout to gerber files to be fabricated. Download the latest version of KiCad for your OS here.
##PCB Design Process The design process for a PCB was roughly outlined in the intro - schematic, layout, fabrication. This tutorial is meant to guide and give some helpful hints through the schematic and layout parts using KiCad to get everything ready for fabrication. Click here for some more in-depth tutorials.
The KiCad software suite does a good job of keeping everything in one place and streamlining the whole design process. The first thing to do is to create a new project, then jump into Eeschema.
###Eeschema Eeschema is KiCad's schematic editor. It's fairly similar to most schematic editors, the biggest learning curve is learning the hotkeys and shortcuts to edit it the way you want. Pressing ? in Eeschema will bring up a list of all of the hotkeys for editing, some of the most common ones are c to copy, g to drag, r to rotate, x/y to flip and Del to delete. One of the unique things is power flags. Eeschema wants a PWR_FLAG attached to any pin that is going to be driven with power (including ground), and a no connect flag to any intentionally unconnected pins.
After you are done creating your schematic, the next steps are hitting these design flow buttons from left to right:
The first button is annotate, it automatically annotates all components in the schematic.
The next button is ERC (electronic rules check) to make sure your schematic is possible to create.
Skip the netlist for now, a BOM isn't necessary, and footprint editor shouldn't be unless you're using a custom part.
The next step is running Cvpcb, this will associate all of your components with footprints for layout. This tool will have a list of components and applicable footprints. You can select a footprint and hit the "View Selected Footprint" button to look at the footprint in the editor and confirm that it is the correct footprint for the component you're using.
Once you've run CvPcb, generate the Netlist, a file defining what pins are connected to what, including the associated footprints.
Then next step is hitting the Pcbnew button, which will take you to KiCad's layout tool.
###PcbNew Pcbnew is KiCad's layout tool. This is the part of the design process where you actually design the physical board, the place and route part.
It's a good idea to start off by defining some global default design rules such as minimum trace width and clearance. These can be found and changed in the 'Design Rules' tab in the menu. It will also be very helpful to make sure you know what dimensions you're working with. You can switch between inches and millimeters and set the grid size to assist your layout. Once the design rules are set, it's time to read in the netlist. You can click the button that is identical to the one in Eeschema, or go to Tools->Netlist. This will automatically place the components of the circuit onto the board, and give lines showing what pads need to be connected. Move your parts around until you have the desired placement (same hotkeys as Eeschema, g to grab, m to move).
Once everything is placed as initially desired, it's time to route. Make sure you are on the desired layer (v switches layers, or adds a via if already creating a trace), *_Cu are the layers for copper (traces and pours).
With the board placed and routed, it's time to create the board outline (this can be done first if dimensions are an important specification for the board). Change to the Edge.cuts layer, and use 'Add graphic line or polygon' to draw the outline of the PCB.
A PCB best practice is to create a copper ground fill on at least one layer of the board to reduce the size of current return loops. To create a fill, use Place->Zone, then click where you want to start a zone. Select a layer and a net to fill, and a few other important parameters, then click on the corners of the zone, and double click the original point to define it.
At this point, the board is almost done. Run the DRC (design rules check) to make sure everything fits the design rules set at the beginning. Fix any issues, or create exceptions if they're unavoidable and still manufacturable. Finish up the design with any silkscreen items if desired.
Another interesting feature of KiCad is its 3D viewer for PCBs. It's a good way to get an idea of what the board will look like when it's fabricated.
The last step of your design is exporting the files to send to the board house. Most machines need the gerber and drill files to manufacture a board. There will be a gerber file for every layer that has something on it (copper, silkscreen, solderpaste etc.), as well as the border layer (Edge.cuts) and one drill file. Go to file->plot, select gerber, and desired layers, and then 'Plot'. This will automatically generate all gerber files. In addition, there is a button in this window to generate the drill file.
###GerbView Once the gerber files have been generated, it is a good idea to look at them to double check that what is being sent to be fabricated is actually correct. KiCad has a tool for that, too, called Gerbview. Open Gerbview from the main menu, and open the gerber files in the order that you want to view them, each file will be loaded in its own layer.