This is not KiCad specific. I am confused about creating a schematic symbol from this unencrypted LM317 library. It’s a PSpice .LIB file (thanks hermit)
My first confusion is that it contains many SUBCKT headers (do you call it headers?), unlike online tutorials. Which .SUBCKT should I choose ?
Secondly, this is a 3-pin voltage regulator, but the SOT-223 package here appears to have 4 pins, two of which are actually outputs!. What exactly should I do ? There is no .SUBCKT in the lib file with three pins.
For symbol creation, I open the .lib text file in LTSpice, highlight “LM317_TRANS”, right click and choose create symbol. It’s easy and creates a generic symbol (but 4 pins ?!!!)
Sorry if this is off-topic. Hope this doesn’t bother anyone.
There seems to be 11 LM317 symbols already in the KiCAD library. They all seem to be package dependent. Which physical unit are you going to use? Surface mount? Through hole? You just need to choose according to package type. Package type here is the physical configuration of the unit.
Are you talking about the schematic symbol? Are you talking about a SPICE model? I think the developers version has some limited support for SPICE. If that’s the case, I can’t help. I use the stable version.
In reality, there are only 3 separate connections:
The 4th physical pin is electrically the same as the output pin.
In your schematic symbol, create one with only 3 pins, and assign the correct name to the correct pin number. It would be good practice to organize the symbol pins by function from left to right, and not numerically from lowest to highest.
Later when you assign a footprint to the symbol, that footprint will have 4 physical pins. However, one of the pins will have one of the pin names the same as the first instance of “output” (as this is the pin that is duplicated on this particular part).
The symbol will have these pins and names:
Pin 1) Adjust
Pin 2) Output
Pin 3) Input
The footprint will have 4 physical pins, one with the same name:
Pad 1 will be pin 1 of the symbol.
Pad 2 will be pin 2 of the symbol.
Pad 3 will be pin 3 of the symbol.
Pad 4 (or the tab) will also be assigned to pin 2 of the symbol.
You can open the footprint browser and check out TO_SOT_Packages_SMD:SOT-223-3Lead_TabPin2 for an example.
I didn’t realize till now that I should have added Schematic. Yes it’s a simple schematic symbol from a .LIB text file. Sorry about the confusion.
Yes this sure helps. I forgot to mention that the confusion is in making the schematic symbol, not the footprint (yet!). Assigning pad no. 4 (The tab in SOT package (and the heatsink in the TO packages?) ) to pin 2 was very helpful.
Okay, so one more last thing. For the .SUBCKT body here:
Have a look at the footprint you want to assign to your symbol.
I would suggest you use TO_SOT_Packages_SMD:SOT-223-3Lead_TabPin2
You will see that for this footprint TAP (pin 4) has pin number 2 (as implied by the name)
So you only need one output pin in your symbol.
You could also use the sot223 4 pin footprint but you will not get more functionality. (The symbol might look a bit strange.)
And if you want, the regul lib has recently been updated and as far as i remember the lm317 should now exist for the sot223 package. (Yes i know you want to learn, i just leave this info here if somebody in the future needs it, or if you want to have a look at these new shiny symbols.)
To get the newest symbol libs you would need to download the kicad-library repo from github and either copy the symbol libs into the correct path. (look at the searchpath in eeshema-> component libraries) Or setup kicad such that it looks wherever you put the lib.
Just a reminder:
In kicad symbols need unique names over all libs. So if there is a symbol in the official lib with the same name this might be a problem. (If it does not yet exist, it could be added in later versions of kicad. Symbol libs are updated with the kicad version.)
To ensure that your symbol is taken make sure you add your libs to the top in the properties->component library dialog:
In your schematic symbol, create one with only 3 pins, and assign the correct name to the correct pin number.
I have to say, I would fundamentally disagree with this. I would create four pins on the symbol otherwise it’s just too confusing when you come to debug the hardware and probe around with a scope or DMM.
I know this comes across as being a bit ranty. It’s not supposed to be, so apologies in advance.
The issue with that is that it is a generic symbol for all packages, some of which only have three pins, so I just don’t see that as an acceptable argument.
If you come to debug this hardware, there are four pins on the PCB and only three pins on the schematic, you’re going to be scratching your head thinking hang on, what is this pin that is not shown on the schematic. It’s the same as these bonkers symbols where they hide Vcc and GND in the schematic. Yeah, if it’s a 74HC you know top right and bottom left are power and ground and you might - even with thirty years’ experience - might - know what all the pins are in what order on an LM317, but there could still be uncertainty. There certainly will be for people who aren’t familiar with it. All for the sake of not putting one extra pin on the symbol which in no way whatsoever makes it less readable, in fact the polar opposite.
If you have a processor with four ground pins and four power pins on it, do you only put one of each on?
I have imported some symbols from SnapEDA and routinely have to unstack the stacked GND pins. It would be safe and recommended to always solder all the GND pins but often it’s more practical to to leave some of them unused because it makes room for other things on the board. For example, I can make a board which is smaller than the module which is soldered on top of it. So, I don’t like even stacked pins, let alone leaving them out.
No offence taken! It was just a long “no, I don’t” answer to your question By stacked I meant put on top of each other so that they look like one. I don’t like even that, let alone pins which are left out. If there would be only one GND pin in the symbol I would have to add there all those which are in the physical part.
Unless you are talking about a double sided board, I don’t even see how that would be possible. It is simply bad practice to not connect all ground and power pins of complex ICs such as SoCs and FPGAs. Your board might work without all grounds connected but you might have other issues that aren’t immediately obvious.