Schematic Creation
In this tutorial, let’s put the brand-new custom symbol that we created in the previous section to use by getting to work on the electrical schematic.
Page Creation
Open up the Schematic Editor by clicking on its button in the main KiCad window or by hitting Ctrl+E. The Schematic Editor will open up and you will be presented with a blank page with a title block on the bottom-right. First, let’s add some useful info to the title-block. Go to File > Page Settings... and edit some of the more important fields on the title block such as the issue date, revision number (“v0” at this point) and schematic title. There’s also the option to change the paper size to US Letter, although we don’t usually do that as A4 size gives us more space and these are rarely printed onto physical paper.
Once you’re done, click OK and the title-block will update to match your inputted fields.
Symbol Placement and Wiring – Preliminary Reading
Now that the bureaucratics are taken care of (honestly, who wants to keep things well-organized anyway?), let’s get to drawing the schematic. Start off by placing our PIC microcontroller at the center of the page. To place symbols in the schematic, click on the Add a symbol button on the right toolbar or hit A. Your cursor will then go into symbol placement mode. Like the Place Pin mode in the Symbol Creator, you can exit this mode by pressing Esc or clicking on the Select item(s) button on the right toolbar. Once you have entered symbol placement mode, the Choose Symbol window will open. The first time you do this it may take a bit of time to open, as the Schematic Editor needs to load up all the symbol libraries. Search up our PIC12LF1501 symbol through the filter (make sure that you’ve found the symbol from the library that you created and not a KiCad default library) double-click it, and place it at the middle of the schematic.
Okay, let’s do a quick run-down on all you’ll need to know to create your schematic and then I’ll leave you to get it done:
Symbols
While hovering your mouse over a symbol or while you are currently placing a symbol, there’s a few hotkeys that may come in handy:
E – Open the symbol’s properties window
R – Rotate 90°
X/Y – Flip horizontally/vertically
There’s also a few more things that you can do only while hovering over the symbol after placing it:
M – Move
G – Drag (same as moving, but retains wire connections)
Del – Delete
Ctrl-D – Duplicate
Alternatively, you can do all of these functions simply by right-clicking on the symbol.
On top of the symbol placement tool previously mentioned, there’s the power port placement tool. This tool is exactly like the symbol placement tool, but only for power symbols. Some examples of power symbols include GND (ground) 5V (5V source), and 3V3 (3.3V source). To use this, click on the Add a power port button on the right toolbar or hit P.
Labels
In addition to the refdes and component value text labels that come with symbols, you can also place custom text labels. These are commonly used to annotate or provide important info on an area of the schematic if required. To place a custom label, click on the Add text icon on the right toolbar or hit T. The process of creating labels is very similar to placing symbols, just try it for yourself.
Many of the manipulation hotkeys that you can use on symbols, you can use on text labels. These include Move, Rotate, Edit, and Delete. Similarly, you can also use the context menu for these options.
Wiring
Now here’s the very fun, but slightly complicated part. To finish up your schematic, you will need to wire up all your symbols. Turn on wiring mode by clicking on the Add a wire button. Now, whenever you click somewhere on the schematic, you will “draw” your line from where you click first to where you click next. You can use the W key to start placing the wire from the location of your cursor without needing to do the initial click. Try playing around with the tool for a bit until you get a better understanding of how it works. To finish the wire placement, click on a connection node on a symbol or wire, indicated by a hollow circle or square. If you don’t want the wire to connect to anything, terminate it by double-clicking or hitting the K key.
When hovering your mouse over placed wires, there are a few hotkeys that you can use. There’s not as many options for wires compared to other elements of a schematic, but the few that exist are very useful: Del can be used to delete the selected line segment and G can be used to grab and move a wire, maintaining existing connections.
In the event that you have symbol connections that don’t need to be connected such as unused pins, be sure to place a no connection flag on it to let the Schematic Editor know that it’s intended. This will be important later on when we will be using a design rules checking tool to make sure that there’s no errors with the schematic. To place a flag, click on the Add a no-connection flag button on the right toolbar or hit Q. Click on the desired node and it will be flagged.
Let’s talk about some rules for drawing electrical schematics. As you may have noticed, your wires only have 90° bends. This is an important rule in schematic drawing, and the Schematic Editor will try to prevent you from having any other angle. You may get some weird-angled wires if you drag a component or wire around. If that happens, delete the offending wires and make it look proper. Another rule is that there is an important distinction between wires that are connected together and wires that are only overlapping. If you create two wires that cross each other they will not connect, you need to explicitly connect one wire to another. Take a look at the image below. On the left are two overlapping, unconnected wires, while on the right there are two wires connected to each other – notice the junction that has formed as a result.
Finally, there’s one more thing that you need to know about to create your schematic: net labels. Say you have two wires on different sides of the schematic that you want to connect but can’t because there are just too many things blocking the way. Just attach a net label of the same label name to both the wires and they will create a connection, no questions asked. Net labels are also useful for making visual separations between different parts in a circuit as you will see in the reference schematic for this board. To create a net label, click on the Place net label button on the right toolbar or hit L. Do as you would to create a text label, except put some consideration into its name. Your best bet would be to name the label according to what pins it connects to or what function it serves. Remember, all labels with the same name are connected together so make sure to not accidentally reuse a name for multiple nets of wiring. When placing the label, make sure that its square node connects to the desired wire.
Symbol Placement and Wiring – Getting to Work
Okay, I think you now know pretty much everything that you’ll need to know to create your electrical schematic! Now’s a good time for a reminder: if you’re confused or have some questions about anything that I briefly covered in the last section, or anything in this tutorial for that matter, don’t hesitate to ask a fellow electrical member and we’ll be happy to help you out. After all, we too had to go through the basics of KiCad many moons ago.
Unfortunately, due to the fact that this is a KiCad tutorial and not an entire electrical engineering series, I won’t be able to explain the entire process of designing this circuit from scratch. Instead, I will be giving you some reference schematics and you can use them to draw your own. If you’re extra eager to learn the ins and outs of this wonderful board, feel free to ask around the sub-team and someone will be happy to give a bit of a deeper dive into things.
I have several reference schematics of this design in the next few pages, each in various stages of development done step-by-step. Read their captions and follow them closely to make sure that you get all the symbols connected and values set properly. That’s pretty much the only thing that needs to be the same between your schematic and the reference. Everything else is as you see fit. Make sure that you’ve got everything hooked up exactly as they should be though, as troubleshooting schematics can get painful at times.
Start off with this list of components that you will need to build this circuit with. Find them and place them anywhere on the schematic for now. Make sure that the libraries the parts come from match up.
Quantity | Name | Library |
1 |
|
|
1 |
|
|
1 |
|
|
2 |
|
|
1 |
|
|
4 |
|
|
1 |
|
|
2 |
|
|
1 |
|
|
1 |
|
|
This does not include power symbols, which you will need many of. Place them down as required.
Start off by placing the components in the general locations that they should be in. Try to place the components in the same position relative to others as in this schematic. Next, edit the names and values for the component labels (but NOT the reference designators). Note that some of the components are directly connected to each other without a wire in between such as the LEDs and their resistors. You can choose to do this too, if you wish. Ignore the reference designators in the images below, as we will be adding them later on.
Next, wire up all the parts. Make sure that you have the exact same connections as what’s on this diagram. We’re going to leave some unconnected wires at some places, but we’ll add net labels to them in the next step. Note the visual separation between the connectors and PIC microcontroller.
Lastly, finish off the schematic by adding the net labels and some descriptive text labels where needed. You can use the Add graphic lines tool to add the dotted boxes shown.
Polishing
Well, there we go. Your schematic is now pretty much finished. Take a bit of time to sit back and marvel at your creation. And by marvel, I mean look through the schematic for any errors or issues – it’s polishing time!
Some general things you should look out for while you are doing your final polishing are:
Use of space – Dense and cramped schematics should be avoided
Spacing – Keep elements away from the schematic borders. Make sure that elements are not overlapping or too close to each other. This includes labels.
Placement of power/ground – Take a look at the reference schematic. Notice that the grounds are close to the bottom of the schematic, while the sources are close to the top. Also take note of their rotation.
Aesthetic – We here at the Waterloo Rocketry team take pride in making everything look nice and 𝒶𝑒𝓈𝓉𝒽𝑒𝓉𝒾𝒸 when possible. Make your wires line up nicely, space out your components equally, or whatever else makes things pleasant to the eyes. If you find something that can be made prettier (while still keeping the schematic clean and readable, of course) then do it.
Readability – Just take a bit of time to read your schematic. If you notice parts of it that are hard to read or understand, fix it up until you deem everything satisfactory. Remember, schematics are, above all, communication tools. Clarity is essential.
Annotation
At this point you should have a very nice-looking electrical schematic that we can almost use for the next stage in the design process. There’s just a bit more to do to make this schematic 100% complete. Let’s start off by annotating our components. You can see right now that the refdes labels for the symbols are just a letter followed by a question mark. To remedy this, click on the Fill in schematic symbol reference designators button on the top toolbar. Keep the settings as it is and click Annotate. You can then close the window. Notice that all the refdes labels on the schematic now have numbers assigned to them. This labelling has been done in a smart way to make it easier for you to find a specific component – component 1 will be at the top-left of the schematic while component n will be at the bottom-right. The annotation process makes a sort of zig-zag path as it goes through the sheet labelling the components with increasing numbers. This annotation process is why it was recommended that you have the relative positions of the components be the same as the reference schematic. Otherwise it is likely that the refdes for components would not be the same. Don’t worry about it if it is not though, no issues will come up from this later as long as you keep track of which components are which.
Electrical Rules Checker
Next up, we should verify that there’s not any egregious errors in the wiring of our schematic. In addition to manual inspection, the Schematic Editor has a handy automated tool that may point out any errors to you. Open up the electrical rules checker by clicking on the Perform electrical rules check button on the top toolbar. Click Run ERC to perform the check and…there’s some errors in your perfectly constructed schematic. If everything went well, you should have two errors, as seen below:
If these are the only errors that pop up, then you’re all good to go. These are just caused by the way that the Schematic Editor handles power sources and can be ignored. Otherwise, if there are some other errors popping up, take a look at them and make some quick fixes. The error messages can be a bit arcane at times, so ask around if you’re not really sure what you should be fixing.
Assigning PCB Footprints
Now that we have our electrical schematic, we need to turn it into something that we can use to create a PCB in the PCB Editor. The first step in doing this is to assign electrical component footprints to each schematic symbol. An electrical footprint, also referred to as a land pattern, is the arrangement of pads that are used to attach an electrical component to the PCB. The arrangement of these pads line up with the leads on the component.
Assigning footprints is a fairly easy process, although you will have to know exactly which footprint each symbol will need to be assigned to. Before you get to this step, you will probably need to have a rough idea of what components you will be using for your board. A symbol on a schematic can be assigned to one of many different footprints as each possible component for that symbol will likely come in different mounting technologies (surface-mount vs. through-hole) and form factors which could drastically change its shape. We’ve already got the footprints figured out, so let’s get them assigned.
Back in the Schematic Editor with your completed schematic opened, click on the Run footprint assignment tool button on the top toolbar. It will take a moment for the footprint libraries to load up and then the Assign Footprints window will open. Let’s get familiar with this interface. There are three main sections to this window, separated into columns: The Footprint Libraries panel on the left, the Footprint Assignments panel in the middle, and the Filtered Footprints panel on the right.
The Footprint Libraries panel displays a list of all the footprint libraries that are loaded up for this project. You can click on a specific library from this list and all its footprints will be listed in the Filtered Footprints panel.
In the middle is the Footprint Assignments panel, where you can see a list of all the symbols in your schematic that require a footprint. Right now, you shouldn’t have any footprint assigned, which is indicated by the fact that there is no footprint name to the right of the symbol name.
On the right is the Filtered Footprints panel, in which the footprints that you have filtered will be displayed. You already know how to filter your footprints by library (recall that you can do so by selecting a library from the Footprint Libraries panel), but there are a few other filters that are available to you. Take a look at the top toolbar and you will see the Footprint Filters button row. Let’s go over each of these briefly. Enabling Filter footprint list by footprint filters defined in the symbol will filter out your footprints by ones that have been tagged to indicate that they correspond to a specific symbol type. These tags can be specified during symbol creation. To put this filter into effect, just select a symbol from Footprint Assignments and the Filtered Footprint panel will update accordingly. Note that not all symbols are tagged so this filter may not help in finding everything you need. Enabling Filter footprint list by pin count will filter out your footprints by its pin count, showing only the footprints that have a pin count equal to the selected symbol. Enabling Filter footprint list by library has the same functionality as selecting a library from the Footprint Libraries panel. This button is useful for disabling the filter when you don’t want to use it for your filtering needs. Finally, entering in a query in the input field will filter the footprints by a keyword. This is useful if you know the name of the footprint you want. Note that multiple filters can be used simultaneously, so make good use of this capability.
Normally, the footprint assignment process would involve going through the data-sheet or the manufacturer page of each component to figure out what footprint each component should be assigned to, but to speed up the process these will be given to you. Below is the Footprint Assignments panel with all the symbols assigned a footprint, so if you copy these assignments onto your own schematic then you should be good to go. To assign a footprint, select a symbol from the Footprint Assignments list, filter out the footprint you require, and double click on it in the Filtered Footprints pane. Your symbol numbers may be different than the ones below due to differences in the schematic, so use the symbol name to identify them instead. Note that footprint names are formatted as [Library Name]:[Footprint Name]. Once you’re done, click on the OK button at the bottom of the window to go back to the Schematic Editor, and then save. Go and put your filtering skills to use!
And now you’re done with the schematic. Hopefully at this point you have gotten a grasp of the tools that the Schematic Editor provides for schematic capture and maybe learned some other useful skills along the way too, such as getting your way around a component datasheet. The next section is my personal favorite part of the KiCad process: PCB layout.