Hello,
I have discovered LibrePCB a week ago through… I think it was Golem.de . First of all: Great program. Powerful, yet easy to use. I love it.
Buuut as you can imagine after adding every library I found it’s not enough by a long shot. So I was wondering, for one of the more basic components: Is anyone working on a larger Transistor-library, or has it already been released? Because if not, I would start working on one and could upload it here. The packages and symbols are already there and only need to be filled with life, so to speak.
Thx for the great work and have a nice day,
Leo
1 Like
Hi,
Thanks for your feedback
I started adding the BC5xx transistors to the base library but there are still some open questions:
LibrePCB-Libraries:master
← LibrePCB-Libraries:tht-transistors
opened 02:43PM - 06 Oct 23 UTC
##### SUMMARY
Adding the good old THT transistor devices from the BC5xx fam… ily, including MPNs:
![image](https://github.com/LibrePCB-Libraries/LibrePCB_Base.lplib/assets/5374821/343beba6-08f9-4e98-a5b1-79f82c89120a)
##### DATASHEETS / REFERENCES
<!-- When submitting a new device or package, please provide links to the
necessary datasheets, package drawings or standards documents.-->
- https://en.wikipedia.org/wiki/BC548
- https://en.wikipedia.org/wiki/Pro_Electron
- https://digikey.com
##### OPEN QUESTIONS / UNRESOLVED ISSUES
Many many questions :see_no_evil:
1. Normally we do not add devices of specific parts to the base library since they belong to the manufacturer-specific library. However, the BC5xx transistors might be considered as generic enough to add them as devices here (Wikipedia even says those are somehow standardized, see links above). Especially from the user point of view, I'd expect those transistors to be available when installing just the base library (what could be considered as _base_ if not those transistors?). Or in other words, it would be a bit surprising to install the base library and still don't have such basic transistors available.
2. Given we agree on 1. to add these devices to the base library, the question arises whether we should actually add MPNs to them or not. Somehow it feels unnecessary (those transistors are mostly used by hobbyists having them in stock and probably not needing an accurate BOM; in addition, it turned out that tons of MPNs are considered as obsolete, not sure how long those will still be sold). On the other hand, adding them shouldn't hurt (except that it is time consuming).
3. Should we really add *all* those transistors? At least a few of them are not even available on Digikey anymore (but still listed as "active" on Octopart).
4. Most of these transistors are sold in a 1.27mm pitch TO-92 as well as in a 2.54mm pitch TO-92 (bent legs). Thus I added two devices for each transistor type, the 1.27mm variant called "bulk" since according datasheets all those transistors are packaged as bulk instead of tape&reel/ammo. Here also the question arises whether this is overengineered or not?
5. One might even consider adding just 4 devices in total, called "BC546..550 [(bulk)]" (NPN) and "BC556..560 [(bulk)]" (PNP) and distinguish the exact type just by the MPNs. However, I think having explicit devices is useful for hobbyists since it allows just to add a "BC548" without requiring to choose an exact MPN.
A completely different approach would be to add only very generic transistors to the base library (without MPNs, only one pitch variant) and add the same transistors to the manufacturer-specific libraries as well, with MPNs etc.
Maybe @dbrgn has any opinion about that? :slightly_smiling_face:
Btw, the same questions arise for other very generic devices, for example an 1N4007 diode I'd expect to be available after installing the base library. Probably there exist many more such devices (Zener diodes, NE555, ...) which makes it hard to decide where to draw the line between generic devices and specific devices :sob: Generally it might still be a solution to decide against this convenience, requiring people to install manufacturer-specific libraries for such devices.
##### CHECKLIST
<!-- Please review the following checklist and check the items you agree with
by adding an "x" between the brackets (i.e. "[x]"). If you are unsure, leave
the corresponding items unchecked so the library maintainers know where help
is needed. -->
- [x] I have read and followed the library conventions¹.
- [x] For packages, I followed IPC7351C (see details in library conventions).
- [x] For modified elements, I bumped their version number².
- [ ] I already used the new library elements in a design and verified their correctness (optional).
- [x] I'm the copyright owner of the added content (i.e. the changes are made by myself, not copied/imported from somewhere else).
- [x] I agree to publish all my changes under the CC0 Public Domain License³, allowing everyone to use and modify the content without any restrictions.
¹ *Library Conventions: https://docs.librepcb.org/#libraryconventions*
² *Minor version bump if only metadata was modified (e.g. "0.1" -> "0.1.1"), major version bump if functional changes were made (e.g. "0.1" -> "0.2")*
³ *CC0 Public Domain License: https://en.wikipedia.org/wiki/CC0*
For any other, manufacturer-specific transistors please just add the devices to the corresponding (already existing) manufacturer libraries at LibrePCB Libraries · GitHub . There’s no need to create a separate transistor library.