Welcome to the Gizmo For You Bolg. Any documentation, thoughts or articles related to any of the Gizmo For You projects can be found here.
Working with KiCad - Schematics
There are many programs for making Schematic designs and PCB layouts. They all have something different and many people have compared them in the past and are still comparing them. We have worked in the past with the best programs for designing PCB's and schematics and surprisingly KiCad is (by our opinion) the closest thing to a professional software. There are many reasons on why we think so but when it comes to fast prototyping and error management as well as Layered design then even among Commercially affordable software there are very few that do the job as we would like them to. Also KiCad is free and Open Source, that makes us like it even more.
Since we are using KiCad for all of our projects, it would only be natural that we show everyone how we use it. In this tutorial we shall cover the steps required to make a complete circuit. Starting from creating the necessary components and finishing with the final design.
If you haven't already downloaded KiCad then we suggest you do since you shall need it to go through this tutorial and in general to be able to open any of our designs available in the Projects section of our website.
You can find KiCad here.
Also our KiCad GizmoForYou Library can be found in every Schematic file available in our Projects section.
Let's begin with a Blank project. Start KiCad and you shall have in front of you the Main Window as shown below.
1. Create a new project by pressing the New Project button as shown above. Save it as something you would like to call it. For the sake of this tutorial we have named the project Geocashing
2. After you have saved your project, it is time to create our schematic. Press on the EEschema (Schematic Editor) button as shown above.
3. You should now have in front of you a blank sheet in which we shall create our design.
4. Before we start adding components and making connections it is important to understand that in all schematic editing software one of the most important factors is your Library. At the beginning your components are going to be just few but while you continue making designs and add new components, your library shall grow and it will be hard to change the software after that and even harder to transfer the library you have to another format. We have our own library which we edit and update all the time and it is the one that we are going to use for this tutorial.
Go to Preferences->Library and press the Add button to add your (in our case GizmoForYou) library to your design. This way you shall have this library included in your design and you will be able to pick components from it and add them to the design. The process should look as on the picture above.
5. We could just use an existing component from our library but for this tutorial we shall go through the process of making one and saving it to the existing library. This way you shall have the basic knowledge of making them your self and it should be easier to make more in the future. On the image it doesn't show what to press to enter the Library Editor so just press the button that looks like a book (with no searching lens) on the top menu bar.
Now you should have in front of you the Library editor window. It pretty much looks the same as the main schematic window with different buttons. Now we need to select the library which we want to edit and add components to. So press the Select working library button as shown on the above image and then select the library, in our case it is GizmoForYou.
6. Now let's make a new component. Press the New component button as shown on the above image and you shall be prompted with a window to enter the info of the component. Since we are going to be making the PIC16LF877A micro controller, We have named it this way. Be sure to enter the name as clear as possible since this is how the name shall appear in your library later on when you shall want to select it. You can leave the rest of the settings as default, they are for more advanced components and you can search on these setting later on.
7. When you press the OK button, you shall have in front of you the name of your component and the designator (the name that is shown on the PCB later on) one on top of the other. Just move them out of the way for now by moving the mouse cursor over the labels and pressing the M shortcut key to move them.
8. If you are going to be making a component from scratch then you need to have the documentation of that component on front of you so that you fully understand what you are doing and copy the pins and names exactly as shown on the documentation. So have your documentation near by and make sure you don't make any mistakes when copying the names of each pin.
Start adding pins as shown on the picture, press the Add pins button and by pressing on the sheet you shall be prompted with a window to enter the name of the pin. Leave the Pin Shape as is (line) and change the Electrical Type to Bidi (bidirectional). Many people like to have the pins exactly as on the documentation, like Inputs or outputs or any other type. We however like to have at least the pins of the component as Bidirectional, in general this saves us time in Error checks in the future and it is just how we like to do it.
9. For now don't worry about the orientation of each pin and just leave them as default (Right). You shall move them around and reorganize them later, when you have them all in front of you. To change the orientation just Double Click on the pin and change the Pin Orient to whatever you see fit as shown on the picture above.
10. After you have made all the pins of the component, it is time to reorganize them. When we say reorganize it just means to put all the relevant pins together. Pins such as the ports of the micro controller, the power pins for VDD (power) and VSS (Ground) should be close to each other as shown on the picture above. This makes the design easier to work with and the component is organized and easy to understand. Again you move the pins by hovering with your mouse over the pin and pressing the M shortcut key on the keyboard. We shall describe the most important shortcuts at the end of this tutorial. Once you have all your pins as you want, we need to enclose it all inside a box and to have a fully presentable component. Press the Add Rectangles button as on the picture above and draw a rectangular around our pins.
11. You should now have a complete component (in our case PIC16LF877A) in front of you. To make that rectangular have some color just double click on it and select BG Filled to fill it with the background color. Now save your component as shown on the picture, you can ignore the pop up's that KiCad gives you. They aren't errors but warnings for you to confirm. Just confirm that you agree to modify the library and save the component. You can now close the Library Editor window and come back to our main schematic sheet.
12. To add the component that we just created (or any other component) just press the A shortcut key and you should have the Add Component window as on the picture above. Press the By Lib Browser button to bring up the library browser. On the left list select the library you want to select the component from (in our case GizmoForYou) and then select the component we just created (PIC16LF877A). Press the Insert Component in Schematic button as shown on the image above to add this component to our design.
13. Follow the same procedure as explained in section 12 to add components such as capacitors and resistors to our design. Instead of selecting GizmoForYou in the library browser, simply select the device library which comes with KiCad. Another useful library is connectors and power.
14. Normally you would use for Power or Ground the appropriate component from the power library. We however do NOT use that. We like the flexibility of adding Global Labels instead and it helps us in naming the power signals as we like. Another trick for which we use Global Labels instead of Power components is to easily skip the Error Checks that KiCad makes. This is just how we like to work and by no means is the alternative any worse. You can find the Global Labels in the side bar of your schematic design as shown on the picture above. If you are going to use them then we recommend setting the labels as passive in the settings window.
15. By now you should have some components in your design and it is time to add some values to them. Change the value of a resistor or a capacitor by hovering over the component with your mouse and pressing V shortcut key. Change the value to whatever you see fit and press OK when finished.
16. While placing wires (by pressing the W shortcut key) have in mind that you don't have to place a wire and find a way for it to go all the way around some component to reach the other side of the connection. You can just make a small wire coming out of your pin and then add a Net Name to it by pressing the Place Net Name button as shown on the picture above. Type the name you want and simply do the same on the other pin you wish to connect this to. Be careful when adding Net Names since if you make a Typo then your pin could connect to something else or not connect at all. This method is mostly used when you have many components and the pins on the design are far one from the other. So instead of filling up the design with wires you simply add names to keep everything clean and simple.
17. After a couple hours of work and some documentation reading we have made the above design. We wish that you make as many designs as you like with KiCad and they are useful to you and others as our designs are hopefully to others. If you have any questions about this tutorial or something that you think could be explained a bit better, please tell us.
Below are some useful Shortcuts for KiCad.
1. A - Add new component
2. M - Move Component
3. G - Drag Component
4. R - Rotate Component
5. X - Mirror X Component
6. Y - Mirror Y Component
7. V - Edit the Value of a Component
8. W - Start drawing Wire
There are more useful keys and you can find them all by going to Preferences->Show Current HotKey List in KiCad.