Cannot find parts in library

HI i’m new to kicad have v5 cant find library symbols for CD4006 SPST quad analog switch CD4069 hex inverter 2N5088 npn transistor,

CD4006 -> Use 4006 in the entry field
CD4069 -> Use 4069 in the entry field
2N5088 -> You can use the BC547 which seems to have the same pinout and footprint (TO-92), and modify the ref in the schematics. Or create your own symbol in your private library by copying BC547 and adjust the various parameters.Check the FAQ for details.

Edit : You posted in the Layout / Footprints section, while you’re talking about symbols.

1 Like

NO! The 2N5088 and the BC547 are both in TO-92 packages, but they DO NOT have the same pinout: the physical location of the emitter and collector leads are swapped.

(It is intuitively obvious to the casual observer that there are six ways to map a transistor’s three standard connections to the three wire leads of a TO-92 package. The 2N5088 and the BC547 illustrate the two most common mappings - sometimes called “EBC” pinout and “CBE” pinout. Many transistors in the Japanese 2S**** numbering system, like the 2SC1815, use the “ECB” pinout. Transistors intended for RF applications, like the MPSH10, may use the “BEC” pinout. And there are probably parts that use the “CEB” and “BCE” pinouts, but I can’t name them off the top of my head.)


1 Like

In that case (no pun intended), the 2N3904 should do it.

I only wanted to point to the OP that if the transistor he’s looking for doesn’t exist in the official library, he could use another one with the same case and pinout (after checking it, like @dchisholm did) and replace the ref (value field) or create his own symbol from it.

1 Like

There are 10.000 of thousands of transisors “out there”, and even if they were in the the KiCad libraries I would check the transistors I need before use.

My prefered way of work is to have a personal library of trusted parts.
Normally you do not have write acces to the default libraries. and you should not have write acces there, because any changes you make in the default libraries will be overwritten when those libraries are updated. And this is of course the reason to use a personal library.

When I want to use a new BJT I do not care much with which part I start, as long the type (NPN or PNP) is correct. Pin numbers are easily changed, and the footprint to.
Ideally the footprints in my personal library are 100% vetted and trusted, but I know I’m sloppy. Therefore I tend to double and triple check pin assignments and Footprints before Gerbers get send out.

You can ad custom fields to components. It may be a good idea to add a “checked” field to components in your personal library, and fill in a date (in ISO8601 format) if the component has been checked. If you do this you can have an overview of all checked / trusted parts by clicking:

Eeschema / Tools / Edit Symbol Fields.

1 Like

Your reply was to-the-point and on-target, except for the comment about pinouts. I suspect that anybody who has done more than a couple dozen through-hole boards has a story about transistors that must be mounted 180 degrees from the silkscreen markings, or with their legs crossed. I’m at a point in life where I’m unlikely to live long enough to make all the possible mistakes, so I try to learn from others’ errors; some folks on this Forum may not be subject to that constraint.


P.S. - As if the situation with TO-92 pinouts isn’t bad enough, the SOT-23’s suffer from the same affliction.

Changed the category to schematic layout.

@Efcis is correct that the switches are under the generic number. Family prefixes like CD, 74HC/HCT etc have no effect on pin numbering and function. Just edit the part value by pressing “V”

As @dchisholm says, be careful with TO-92 transistors, the 2N5088 is the same EBC pinout order as the common 2N3904

Yeah, plunk down the 2N3904 symbol and change its name to 2N5088. Or, in your personal KiCAD libraries, add “2N5088” as an alias for “2N3904”.

I probably wouldn’t physically substitute a 2N3904 for a 2N5088 because the '3904 noise figure rating is worse and the current gain is lower.


Same with SMD diodes / LED’s.
Not too long ago I read an article, with a photo that looked like the same SMD Led’s.
There were also 2 references to datasheets from the same manufacurer.
One had an “Anode mark”, while the other had a “Cathode mark” in their respective datasheets, but the marks themselves were the same.

Tantalum capacitors are another classic example. These “usually” have the + side marked.

For some BJT confusion, see:

Another road to easy errors are the Atmel AVR microcontrollers. Pinout changes for the same uC in different packages. Take for example the ATMEGA328. It has at least 3 different pinouts for DIP, QFN & TQFP footprints. If you have an existing desing with a dip package and you want to change it to SMD by changing the Footprint of the schematic symbol the error is easy to go un noticed untill you find out your manufactured PCB’s do not work.

For this particular transistor that may work, but when advising this, you’re teaching bad habits to others. (You are probably intimately familiar with both parts, but I assume OP is not).

All this concern about a specific transistor model number when AFAIK the standard libraries have generic transistor symbols in all 6 pin configuration with easy to identify naming. When placing a symbol, find the generic (because the symbol is the same across all transistors of the same type…) transistor type, then choose the pinout to match the datasheet of the planned part. Then fill in the other identifying fields and footprint by hand and copy-paste among the schematic. Way too much effort spent on finding a similar part in the library to the non-library part you want to use when the actual graphic part of the symbol is the same. You can even change the symbol used in the schematic if you later change from and EBC to a ECB pinout. You wouldn’t even need to change the footprint for the TO-92. (If you need to select a SOT-23 package, compare the datasheet pin arrangement to the footprint library’s SOT-23 pin arrangement, do any pin mapping necessary and then choose the pinout order from the symbol library.)

Not even hard to find. Here is what is available when filtering with “PNP” in the Device library:

Much easier to do this. And if you must have an atomic part and one doesn’t already exist, copy the generic of the proper type and pinout to your personal library instead of searching through all the different atomic parts in the Transistor_BJT (or other if that is what you need) library. Then get back to the other parts of your project demanding your attention.


This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.