Aprox of 50% designs I have on one sheet other multiple sheet. I draw all my symbols to be condensed as much as possible to avoid multiple sheet schematic as possible. At kicad the symbols are usually huge especially controllers as they have defined all subfunctions of pins. I have shortened that to just main function.
There may be one nice feature that I didn’t see anywhere. To have symbol pin name as compact as possible but when selected with mouse to show additional pin information.
Is it possible to toggle Active checkbuton in manage simbol/footprint library for all items selected or at least all of them? Usually I will work only with my library but when I create new components i will look in all of them. I can’t figure how to toggle more than one item. (there are over 100 libs so to togle them I need 100 clicks)
I kind of fail to see how eagles library system should be saver. After all does it matter if you have a separate entity where you define the connection vs doing it in the symbol itself?
It is just different requiring a different workflow. But well that is to be expected when switching tools.
In this case the main difference is that the connection is just tied to the symbol instead of having a separate system to define them. Yes eagles way has its benefits in this regard as it is possibly easier to change to a different package with more tool support.
But the equivalent can be done in KiCad by just placing the symbol representing the other package.
Also please keep the discussion to one topic. It is really hard to follow already.
I would really hate that.
So you have names for the schematic, pin numbers for the Footprint, and then an extra table to connect those two. To me that is just an extra place where errors can be made. I also very much prefer to have the pin numbers on the schematic for one-off projects which I hand solder on Matrix board.
In KiCad to add support for a different footprint, you first make a copy of an existing schematic symbol, and then edit the pintable (see screenshot below) for the pin numbers of the other Footprint.
I used to do that too but it takes a lot of time and it has no real benefit, and on top of that it makes the schematic less readable. Once you’ve gotten used tho the Hierarchical sheet system you can simply dedicate a page to for example the power supply section, which gives you plenty of room for a logical layout, and when the power supply section is removed from the main sheet, you have also more room there. It’s nice to have some reasonable sized schematic symbols that do not waste much space, but optimizing for the smallest possible schematic area is an optimization in the wrong direction.
Going from the schematic to the symbol editor is very quick and easy in KiCad. Just hover over any schematic symbol, and pres [Ctrl + e] to open it in the Symbol editor.
In the schematic symbol editor you can view all info of all pins in the pin table, accessible with:
Symbol Editor / Edit / Pin Table
It’s always tempting to prefer the thing you’re used to above another that is new to you and therefore probably feels weird in the beginning.
This thread also seems to go in the direction of pointing out all sorts of differences between eagle and KiCad. Just give KiCad some time to get used to, and you’ll probably find that it has a quite nice feature set and works well.
Wait a second. Pin numbers in the symbol should always follow the datasheet of the component because the pin number is tied to function. If the pin number / pad number connection needs editing, the footprint pad numbers should be edited. Only if the symbol pin numbers don’t correspond with the datasheet they should be changed.
Sometimes it’s of course possible that different package versions of the component may have different pin numbers.
I believe there is a misunderstanding.
Probably because I used “footprint” and “schematic symbol” in the same sentence.
So again:
Lets for a moment assume that KiCad’s default libraries only have an ATMEGA328 in skinny DIP-28, but you want to use an ATMEGA328 in TQFP-32.
In this case you make a copy of the ATMEGA328_DIP and name it ATMEGA328_TQFP, then open it in the schematic SYMBOL editor, change the pin numbers of the schematic symbol and update the footprint link.
And for that particular case you will also need to add the missing pins as one of the components has more of them. (KiCad has no way to assign multiple pads to a single pin)
Of course, I understand personal preference but I need to underline one thing, this is actually not automation. Everything is under your control, version control systems just helps you to apply your style with some neat tools. Otherwise you have control over your projects. (Think about KiCad itself, without a version control system, it would be a mess to work on it)
Also, I guess you always work on your own projects as the only developer/designer? Because I’ve seen a lot of mistakes with this copy/rename method in the past that I can not count. With version control systems at least you can catch the crack early and fix it. Otherwise a lot of design could be disappear in the void. I saw a lot of lost souls )
Cheers,
That’s true. I need to adopt on new system and not system to adopt me.
You did that only once when you create part.
…but still get it big enough to be readable. But hope that hieararhic sheet works here. In eagle is unusable. I don’t know if there is better. For example if you mage graphic equiliser you have 8 same circuits (filters) and mainboard. But that 8 circuit have different component values. I didn’t try but I assume that I will need to make 8 subcircuits.
There are missunderstanding. For example pic16F88 have C2OUT/TOCKI/AN4/RA4 pin. I like to have only RA4 visible on symbol but to be able to somehow list all other functions(C2OUT/TOCKI/AN4)
Yes I’m the only developer. I like to have folder for project and inside that the subfolders for revisions. So if I open even the file explorer and open the folder I see how many and what versions I have. I think using git or svn that is not possible.
But just now seems that there are another issue with that. If I have project with two boards and schematics seems that is not allowed to have in same folder. For example remote control. It’s one project but have two devices one for sending and one for receiving. Seems that I need to put them in separate folder.
The current official stand point is that each KiCad project has one PCB.
Some time ago I did a short experiment with a completely fictive multi board project, just to see what happens.
This was over a year ago, and unfortunately I did not make notes.
I think what I did was:
- Create a few KiCad projects in the same directory, One project for each PCB.
- Create a “root” project, and add the schematic files of the other projects as hierarchical sheets into the root project.
This way it seemed to be possible to work on the complete schematic in the “root” project, use the hierarchy to switch between the different sub projects, and do ERC checking over the whole project.
When you want to work on a single PCB, then you can close Eeschema and double click on one of the other projects to make it active.
It all seemed to work, but it was a short test and there may be dragons about.
In 5.99 this is possible with one subsheet file, 8 instances and sheet variables. See New string replacement options for kicad assets.
For the layout you would need the Replicate Layout plugin, Replicate layout: Action plugin, but unfortunately it doesn’t work with 5.99, only with 5.1 AFAIK (@MitjaN can give details about that).
Are you going to print it to paper? If not, you could as well choose A3 or something similarly large page layout and fit more into one page. And even then it may be possible to print to A4 or Letter. But as was said, using hierarchical sheets may be a good solution because it makes you to split the schematic into functional parts and may enhance readability.
In 5.99 this is possible with one subsheet file, 8 instances and sheet variables. See New string replacement options for kicad assets.
I did try example but I can’t got it how its worked and probably there are something broken for 5.99. If I open PCB I see dividers as expected. If I open SCH and hit F8 the dividers are updated and both came same. Actually I don’t get how Resistor plus/minus is linked to child.
So if I open even the file explorer and open the folder I see how many and what versions I have. I think using git or svn that is not possible.
You don’t need to. Think a version control system as a time machine. You can browse all of your revisions with a single click, command etc. I don’t think you always need all of your revisions at the same time. You would just need it to check, compare or go back to something. If you need a certain revision, you always can export that revision. But again, I don’t think you would need it anyway.
You don’t need to rename anything, or copy them into the right folder. Everything flows like you develop. You just make sure it is recorded at important points, like right before PCB production.
This way you can keep some of your fancy unrealistic design trials as separate branches. Who knows maybe you would want to continue it some day?
But just now seems that there are another issue with that. If I have project with two boards and schematics seems that is not allowed to have in same folder. For example remote control. It’s one project but have two devices one for sending and one for receiving. Seems that I need to put them in separate folder.
Never needed two PCB’s in a project. I designed some products even with 7 different PCB’s and never needed one. They are always different PCB projects.
If they are different form factor PCB’s with completely same schematics, you can have the schematics subsheet as like a git submodule and then use different PCB projects sharing the same schematics. Think it like an Eagle module.
Never needed two PCB’s in a project. I designed some products even with 7 different PCB’s and never needed one. They are always different PCB projects.
The question is what project is.
I call RemoteControll as project. And that project have Transmitter and Receiver. In Kicad seems that I need to make two projects for that. One is RemoteControll.Transmitter and other is RemoteControll.Receiver
In 5.99 this is possible with one subsheet file, 8 instances and sheet variables. See New string replacement options for kicad assets.
I finally got understand how they work. But seems not possible to make BOM from schematic. (but it’s ok from PCB)
The question is what project is.
I call RemoteControll as project. And that project have Transmitter and Receiver . In Kicad seems that I need to make two projects for that. One is RemoteControll.Transmitter and other is RemoteControll.Receiver
For me these are two subprojects of a parent project. Since the schematics designs will be different, it wouldn’t hurt to make them separate projects. (Like I said, shared subsheets also could be used)
KiCad does not need to manage the connection between those projects, other than shared components as libraries. The rest should be a topic of some other system, like a Project Management or ERP/MRP.
These are all personal preferences and I’m glad we have tools to satisfy them.
Hi
I have the same thoughts. Although he Kicad Libs are extremely good, I only work from my own checked Libs. I use this “https://www.compuphase.com/electronics/kicadlibrarian_en.htm” to copy from an existing Kicad to my own library, after checking and/or altering. If it doesn’t exist I will generate footprint using program from here “pcblibraries.com”. I also have multiple components for resistors so I can embed the manufaturer/supplier number ie 1K,0402, 2K,0402 etc.
I finally got understand how they work. But seems not possible to make BOM from schematic. (but it’s ok from PCB)
Actually there is a bug (other than the BOM thing), it’s no wonder you didn’t get it working at first. I’ll report it.
I have the same thoughts. Although he Kicad Libs are extremely good, I only work from my own checked Libs. I use this “https://www.compuphase.com/electronics/kicadlibrarian_en.htm” to copy from an existing Kicad to my own library, after checking and/or altering.
I look that video and like it. But I think that doesn’t work on 5.99. (Can’t try didn’t managed to compile on linux)