Making new schematic symbols

create counter

Tutorial: Starting a new schematic symbol

You understand that when you see component, you should think "schematic symbol"? (If not, open the link in a new tab, study, close tab.. and you will be back here!)

You've set up a new schematic symbol library for your custom schematic symbols? (If not, there's a long tutorial to get though first. Follow the link.)

Good! Now we'll go over creating new custom schematic symbol. We'll only cover establishing the new schematic symbol here, so the tutorial can be short. I'll write a longer one later about editing it, getting it Just Right.

Open the thing called "Schematic Library Editor" in some places, "Library Editor" in others… but be careful you are not opening something to edit footprints in a library of footprints. the one you want is called "Part Library Editor" in the title bar of its window (KiCad vers 4-0-4). Whew! KiCad is great, and it is "pretty" mature for such a complex beast, but it will be nice when further polishing has been accomplished!

Note: You are in an editor that is primarily for changing the definition of schematic symbols. You are not, particularly, editing the library. (Although you may "edit libraries" along the way: You can add or remove schematic symbols from them.) (For a short note on removing a schematic symbol from a library, follow the link.)

Starting a new schematic symbol

You have two options.

  • You can create a new schematic symbol (aka "component", or "part") from scratch
  • You can load an existing schematic symbol, and tweak that.

I would recommend that you use the second option. To do that…

Although you might think from the text in the tooltip that you have to select a "current library" before using this button, you will find that it works fine even if you haven't… and, if you have not selected a library, you can load a schematic symbol from any library. Beware, though: If you follow that route, then along the way you will have set the current library. (It will be whatever library you loaded the symbol from.)

You just drill down in the browser to a suitable schematic symbol, and double-click on it's name.

You'll load something. Tweak it. And save it… in a different library, under a different name. (Once you have a few schematic symbols in your library of them, you can use one of them for the starting point of another, of course.

I wrote the previous paragraph to help you with my bad sentence at the start of the next.

If you loaded the basis for the custom schematic symbol you want to create from somewhere other than where you want, eventually, to save it, this would be a good time to change "current library" to your library. (You do that with "File | Current Library".) (The current library is displayed in the window's title bar, by the way.)

Load something that's similar to what you need to create, not just in obvious ways, but in as many as possible. Number of pins is obvious. What's to be connected to GND, Vcc, etc, while not specified for many devices can matter in cases where it is. Etc. (Don't let this worry you overmuch. Press on.)

Make a tiny change to the loaded schematic symbol definition… I'd suggest just adding a bit of a line somewhere. And then…

That should give rise to…

… and you to put the name you want into the box marked "Name". Don't use the "YourNameForComponent" which I filled in before doing the screenshot! Something short. The default options, as shown above, are fine.

And that's it! You've created a new schematic symbol, in your library of custom schematic symbol's. Switch over to eeSchema (no need to shut down editor), and see if you can place an instance of your new schematic symbol ("component") on the drawing!

Your next adventures…

Of course, you've much more to learn about schematic symbol creation before you are "done", but what you've been shown here is an important "foundation skill".

(This is it on this subject for now. Use the menu at the right for going to a new topic.)

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License