Hello. New to KiCAD. I want to know more about users of the symbol libraries.
Do experienced users tend to carefully manage their libraries so that they can be productive.
I wonder what I need to do to manage my own libraries. I am a very unusual case. I need just the most basic parts, except maybe some linear ICs and glue logic. Think of the college courses about analog electronics and the ones about digital, from the freshman/sophomor year. That’s right where I am at. I just want to build simple circuits to learn.
Most libraries I have located so far are for people with experience with surface mount components. Also the espoused belief is who would pay to have a PCB made for moot/academic reasons? I don’t intend to have someone route my PCBs for me, rather I am learning to design, layout, and route my own PCBs.
I just need a single layer with a circuit like a full wave rectifier or LS7400 digital IC.
Should I “take control” of my libraries? Since so many are for other types of engineers or students?
I do very simple, entirely through-hole designs. The only modifications I’ve made to symbol libraries have been artistic.
However, I did find that the situation is quite different with the footprint libraries. I had to add some Aavid heatsinks, Toshiba dual JFETs, specific thermistors, specific bridge rectifiers, etc., etc. After the fact I wished I had been a bit more organised at the start…
Read and digest these FAQs to help you with the library learning curve (especially the part towards the end of “Beginners Guide” which explains library manipulation):
One thing not mentioned in the FAQs is Library “Pinning”… another method of moving libraries to the top of the library list.
When you are in the Symbol Editor, if you select (left mouse click) a library, then right mouse click, you will have the option to “pin” a library to the top of the list.
You will also find symbols for most of the “bread and butter” components in the library named “Device”.
Many users will create Personal libraries and copy Symbols (and Footprints) to Personal libraries for a number of reasons, one of which is convenience, to save wading through hundreds of never used items.
Another reason for Personal libraries is because Kicad symbols are “Read Only” and cannot be modified. Copying a Kicad Symbol or Footprint to a Personal library then allows that Symbol or Footprint to be modified.
I started to use PCBs in 70s designing them with pencil and squared paper and etch them myself.
So I think I am experienced but only in 2 layer PCBs.
I use only my own (carefully managed) libraries and not to be productive (in sense to design fast) is the main reason. In most cases my designs go directly (with no prototype done) to small scale production (like 100+ pcs) and main reason for my libraries is to protect me from my own mistakes (like assigning wrong footprint to symbol).
Moving in 2017 to KiCad I have organised my libraries before I started to design first PCB so for example I have never even seen how assigning footprints for all schematic symbols looks as I have never done it.
May be it will be helpful what once I have written about my libraries structure:
Manually assembling SMD is simpler than THT. You need not to bend and cut the ends. You need not to continuously revert PCB. You just have everything at top of PCB. Down to 0603 I see no problem with it.
If you order single layer PCB in most cases they will do it by etching the second layer - does not make sense. The best is to use 2 layer PCB. If you assume that you have whole bottom GND then at any PCB place you have GND only one via from you. Having not to find at single layer PCB a place for GND traces helps.
Thanks everyone for your replies. Helps me understand how it is exactly people use KiCAD. At my stage I depend on encouragement from others.
My KiCAD had zero libraries with it. Reminds me a lot of having to get applications from a non-free repository in Linux. I had to get the libraries myself and import them. It’s been an uphill climb.
I am now at a dilemma where my CNC machine, a Shapeoko 4, has proprietary software that so far seems to work only with Autodesk products. I would need to start over with Autodesk Fusion 360 after what I have learned about KiCAD. My KiCAD Gerber’s get snubbed by Carbide Copper a cloud based CAM. FlatCAM, a CAM software for PCBs, likes my KiCAD Gerber’s but my GCODE sender, Carbide Motion does not like FlatCAM Gcode, it rejects FlatCAM tool numbers written into the output Gcode.
If I use KiCAD at all it is going to be so I can get the hang of managing libraries and their symbols and footprints.
Am I correct to think of using openbuilds to pair control software with KiCAD and FlatCAM?
Or maybe I can get my GCODE sender Carbide Motion to accept gcode an opensource standard. Right now Carbide Motion does not like tool numbering in FlatCAM gcode.
Why are you planning to mill your own PCBs? If it is out of principle, or because you need them extremely urgently, go ahead, but as you have found, it comes with a bunch of extra pain. Otherwise, I really recommend you don’t use your CNC for making PCBs, and instead order them from a budget vendor such as JLCPCB. Plenty of people do this for PCBs that have no purpose other than being “fun” or for learning. The quality difference between what they can make and what you can make on a CNC is enormous, and the price these days is so low that it doesn’t make sense for anyone to be trying to fabricate their own PCBs in my opinion unless they have requirements that normal fabricators can’t handle (such as same-day delivery).
Those are only for older libraries (KiCad V6 and older). For the current KiCad V7 libraries you should have a look at the regular Download | KiCad EDA page. For some Linux distributions you have to install the libraries as separate packages. Sometimes there may also “mini” installs which don’t have the libraries.
But indeed, a normal (full) installation of KiCad. My current KiCad V7.0.8 install has:
Yes but (edit: if I knew how) I can make any PCB I want. From the stupidest to something unusual. It’s not the same with a PCB service. Plus, I don’t really know if my designs will work unless I make one myself and see. Do that kind of experiment with a circuit board manufacturer you may wish for your own machinery. I can make fire arms. I plan to make those and even whatever in the world a “military grade” timer is supposed to be. What if your PCB manufacturer doesn’t understand your designs because your building a quantum computer or an AI computer for a GoKart? Basically you have someone else’s idea of taking a risk against your own. They may in the end refuse to sell you PCBs. I think this could happen if you like reverse engineering things and your PCB design is deemed the intellectual property of someone else. But how are you going to learn if imitation is the best teacher…for you to learn things no one will teach you.
@everyone else: Thanks for your replies. So it seems I was subjected to a major accident of windows installation. I will now recall that you all have had better luck with the library availability of KiCAD. From here I will just work on managing libraries.
I will likely stick with KiCAD after all but I will need to understand more about FlatCAM tool numbering.
Carbide Motion, my CNC control software which sends converted gerbers as gcode to my CNC motion control hardware, reports an error about tool numbers and closes the job.
As with every prototype. You order PCB and assemble it yourself.
PCB manufacturer need not to understand your designs. You send him only gerbers for each PCB layer and drill file. He has no time to analise what is behind your design.
Making it yourself you will not have regular vias and solder-mask.
FYI - Gcode: I will assume your current software does not enable changing Gcode formats. However, you can edit the Gcode with any text editor.
You can delete quite a bit from many Gcode files and pare them down to what’s referred to as basic Gcode - containing the standard commands. Most all machines comply with the minimal standard. Heck, I even run custom Gcode on my 3D-printers for non 3D printing purposes…
I use CopperCAM - an excellent program for generating PCB Gcode (I also use it for milling Guitar Pickguard - sort of like profiling a PCB shape…). Has several Gcode formats and can try/use for Free
( I run it on my Mac using “PlayOnMac” there’s a PlayOnLinux, too.
You can also use FreeCAD’s “Path” workbench here’s a link to my post. It contains a dozen Gcode export formats.
I am very close to solving my problem. Tonight Carbide Motion accepted my GCODE but I did something wrong. My X&Y feed is too fast. Z feed is slow and controlled. I think I cut something out of my GCODE like a tool when I was trying to edit gcode tool numbering.
But otherwise, flatCAM makes editing gcode as easy as using windows notepad. It looks like I am well on my way to using KiCAD & FlatCAM.
Turns out my CNC Control Software, Carbide Motion does not use KiCAD Gerber that is the newer X2, after conversion to gcode. If X1 is used instead, FlatCAM can create gcode that Carbide Motion can understand. But Carbide Motion will not accept gcode comments in parentheses such as “(gcode made by FlatCAM v8.x)”. It will only use straight gcode.
A little more work and I’ll be using open source software instead of Autodesk Fusion 360. That application is going to leave me overwhelmed by it’s features.
Yeah. But what if your not an engineer and your learning to design your own PCBs. Manufacturing the PCBs will teach you to design better boards. Isn’t it better than learning to make a working design to be made by someone who in the end is going to be much better situated than you are because they take orders from people and manufacture for them.
It’s like you could buy an Arduino SBC for very cheap. If you make your own you can learn about how to make SBCs. Then you aren’t dependent on someone else’s design.
If you or someone you know is already an engineer it’s probably because he paid tuition at an institution of higher learning. A very simple thing to do.
Some people are hobbyists and want to answer questions…
I doubt if it’s possible to make a PCB capable of being a Arduino class SBC on a milling machine. What is the smallest width cut you can make between pads ? I can hand solder, just, SMD components with 0.25mm between pads.
You can also make PCBs by etching . . . even double sided, I was dong this for prototypes over 30 years ago.
For very simple prototypes you can use breadboard . . .
You’d need to scale up. But the Arduino is far less sophisticated than other SBCs like the Rock Pi 4. There are a few Linux distros that run on an Arduino but it’s more of an rtos embedded computer system then the general purpose kind.
I would not be building my Arduino like a manufacturer would. They have pick and place robots. I am not surprised that the inexpensive retail Arduino could easily beat my own designs as far as scale and level of integration.
There is no reason to doubt that. PCB’s are being milled / routed with track clearances (mill width) of 0.1mm and narrower. You can have a look at for example this catalog from LPKF They have milling machines with sub micrometer accuracy and are specialized for equipment for making in house PCB prototypes. Up to 8 copper layers, and inclusive via metalization. With such machines you can make several iterations of a prototype PCB in a single day, and they are in business for at least 30 years so there is a market for such machines.
I have not checked their prices, but it’s obviously above the budget of an average DIY. What a DIY can do is then mostly dependent on the quality of the machine they use and their ability to tweak it to get the most out of their limited hardware.