KiCad Libraries: BC212 has NPN symbol?

I’m working to a design that employs BC212B

But KiCAD is givin me a NPN instead of a PNP.
I find it quite strange, any hint please?

Application: KiCad Schematic Editor x64 on x64

Version: 7.0.10-71-g9ceace2a47, release build

wxWidgets 3.2.4
FreeType 2.12.1
HarfBuzz 8.2.1
FontConfig 2.14.2
libcurl/8.4.0-DEV Schannel zlib/1.3

Platform: Windows 11 (build 22631), 64-bit edition, 64 bit, Little endian, wxMSW

Build Info:
Date: Jan 17 2024 04:13:52
wxWidgets: 3.2.4 (wchar_t,wx containers)
Boost: 1.83.0
OCC: 7.7.1
Curl: 8.4.0-DEV
ngspice: 41
Compiler: Visual C++ 1936 without C++ ABI

Build settings:

1 Like

It shows as from Alternate KiCad library. It’s not in the standard KiCad library. You’d have to ask the librarian(s) of that alternate library.

Edit: The maintainer @Dawid_Cislo is on the forum. This should alert him.

1 Like

That symbol doesn’t seem to exist in the standard / official KiCad library, but comes from a third party library installed from the Plugin and content manager. In the screenshot below you see some information how to contact the author and report the bug. Check if you have the v.3.0 installed already, otherwise update and see if it has been fixed.

1 Like

Thank you so much I will do it.


The BC212 in my library is derived from a wrong generic symbol, and that’s why the symbol graphics are wrong, even though it’s supposed to be PNP.
You might want to use a different symbol with the same pinout (that’s E B C, looking at the flat part of the case), and rename it.
2N3906 appears to fit the bill, just place it on a schematic, open symbol properties (‘E’ hotkey) change the name, datasheet link and anything else you’d need and then copy and paste it as many times as you need.

Sorry about that bug, the library has basically zero quality control, since I’ve not found anyone crazy enough to check every single symbol and footprint that I’ve made so far.
Due to the next version being close to release, I will fix this once the whole new version is ready. Sorry for the inconvinience.



You can also open the symbol in the symbol editor:
change to a fine grid eg. (5mil, .125mm),
create a L to R selection box around the arrow only
The arrow should then look like this


Note the blue surround.

Use the R and M keys to turn the arrow through 180 degrees and move it back on the emitter line.

There is then no need to alter documentation.

Huh? Wouldn’t it be simpler to edit the symbol to derive from generic PNP BJT instead of futzing with the graphics?

If there is a symbol with the same pin-out.
How long to find that symbol then mess around re-naming.
How is the library made?
Is the data supplied transferred with the image?

I wouldn’t have a clue to any answers to the above questions. I’ve never been near any 3rd party libraries. I just can’t see the point. I find it quicker and easier to make my own symbols than bother roaming the internet to end up correcting a badly made symbol.

I supplied another solution. That is all. :upside_down_face:


I just removed the library. I did use just generic symbol PNP with correct numbering … :slight_smile:

I don’t even recall why and when I did install it.

The generic BJT symbols come in all variants. Derivation reuses the graphics. Have you not looked into the inheritance feature before?

I didn’t. I just observed this when you made me notice it.

Ah! Confusion reigns.

I have always been discussing the library symbol Tormyvancool posted. I used a Kicad symbol to demonstrate one method of solving his problem with the incorrect symbol in the library he was using.

Now I understand your recent posts. You thought I had found a “dumb and stupid hard and big effort” way to re-invent the twelve combinations for NPN & PNPs that already exist in the Kicad library. :slightly_smiling_face:

Actually, I must confess to modifying all the generic BJT symbols. The Kicad Library Convention states here that all pins must have the same length in a symbol.

If you open those twelve symbols, you will find the bases have longer pins than the emitters and collectors. I modified those symbols to make them Kicad compliant when I placed them in my personal libraries. :innocent: :innocent: :innocent:

1 Like

I think the transistor symbols are too big compared with the other symbols. It’s hard to get a pretty circuit in KiCad when I compare the results with say Elektor circuits. However I’m too lazy to do unnecessary work. Friends tell me that my mugshot is used to illustrate “lazy” in dictionaries, but I’m too lazy to verify this. It could also be that my mugshot is used to illustrate the phrase “no artistic talent”. :rofl:

1 Like

Just wait until you try a 17th party library! After 16 parties, everything becomes more fun but also more difficult. Did you ever peek behind the books in that library?

I also make a lot of my own symbols. Seriously I have so far found no use for the circles around transistors or the coloring or shading inside IC rectangles. That last bit seems like a conspiracy to get us to buy more printer toner if we ever print the schematics. (I am kidding again.) I am mostly using KiCad for home projects and I do not care about most of the other information that goes with something like a transistor symbol. So for example I would use the same symbol for MMBT3904, MMBT4401, and any other NPN with the same numbered pinout.

1 Like

I find that many of our schematic pins are unnecessarily long; eating up space on the page. I also shrink most of the 50 mil schematic text to 20 or 30 mils.


Just to clarify, the BC212 symbol that was used is already (mistakenly) derived from the generic NPN symbol. It’s literally just one line that needs to be corrected in that library by changing the base symbol to the generic PNP symbol, so no need for graphics edits.

  (symbol "BC212" (extends "Q_NPN_Generic_EBC")
1 Like

Fair enough.
I had no intentions of delving into that library construction.

I was too busy addressing all my artistic talents to create a rectangle for an IC I needed. :slightly_smiling_face:

1 Like

Yes I did notice as well. Sometimes it’s really necessary to have them shorter but ok.
As I stated, it was my fault do not spot it was due that library.
So far I think I did install it to see how it was, then I forgot it and I didn’t pay any longer attention to it, till this moment in which I got the reversed PNP.

Still, thank you for finding the issue and indirectly informing me about it.
I have been unable to work on updating the library recently, but I will still keep track of bugs, so I can fix them in the future.
The more correct way of reporting such issues would’ve been opening an issue on the official Github here:

1 Like