I have implemented a pin header in a design that during the PCB stage. It’s giving me a lot of missing connections when I run a DRC. I have assigned all of the header pads with the appropriate net. Is there a way to make kicad understand where the headers plug-in to each other. The only thing I could think of is to run copper lines between the male and female pin headers, But I don’t really want any thing that would go into the Gerber files.
Alternately, I’ve looked at adding connectors in the schematic, but that looks exceedingly messy, and I’m not certain what the benefit truly would be. I could see using some sort of label, but I don’t know how to implement it so the PCB editor understands. Would you use a net class directive label, global label, or a hierarchical label?
Looking for easy ways to remove these errors, but ignoring them is an alternative that I am willing to accept. However, I don’t see this is a good practice.
If you want to have a pin header connector on your PCB, then you need a matching connector in your schematic, otherwise how does your PCB know where to connect all those signals to.
Beyond that, I’m having problems understanding your problem…
Kicad is made for designing PCBs, one at a time. Not for designing whole complex systems which consist of several PCBs connected together. KiCad doesn’t understand external wiring, not even 0 ohm connection through an internal connection inside a component within one PCB. A net is a group of symbol/component pins / footprint pads which by definition must be explicitly connected together with copper in the layout. You must do your design with that in mind.
I don’t like guessing. If you post your project, or even better: a simple dummy project with a similar setup and that shows your “connector problem”, then we don’t have to guess anymore and give more fitting advise.
Edit: also note that Piotr (see below) is now the 4th person who does not understand it and is guessing.
I just can’t understand your problem.
I’m using pin headers at PCB with no problems. May be the difference is between using and implementing.
When I want to have pin header at PCB I just use the pin header symbol at schematic that has associated with it pin header footprint.
I understand now. I think my problem was a terminology issue. I was looking for headers in the schematic editor, but I found connectors and was struggling to figure out how they were implemented for male and female headers. I eventually deciphered the terminology.
In the footprints they are called pin headers. I guess the reason is that the connectors symbols in the schematic editor can be used for multiple types of connections and are more generic.
I initially just added the pin header footprints to the PCB and forced it to work. I am pretty certain that what I had was accurate and would’ve worked, even with the DRC errors I was getting.
I have gone back and changed the schematic. I haven’t finished, but based on what i have so far, it should clear up all the errors.
It’s an interesting spectrum when you think about it. Device symbols for example, could in theory be all N-pin boxes. But we have special symbols for op-amps, muxers, etc. Digital gate symbols could also be boxes, like the horrible IEEE symbols, but we have different shapes for AND, OR and XOR, plus the negation circle. So it’s not wrong to look for a more specific symbol first and then fall back to a generic symbol. Some specialised connectors could benefit from their own distinct symbols.
But there are people who take it to the extreme and want DIP IC symbols to look like DIP packages right down to the sequential pins. This actually a throwback to an earlier age of schematics, like this one:
I’m fairly new to kicad, but have good sense for design as I’m a retired aero engineer. I can get a clean schematic fairly easily, but when I get to the pcb stage and I’m trying fit the physical dimensions of a box, things start to break down.
The naming conventions for footprints are matched because you have a physical device.
Naming conventions in the schematic symbol generator often throw me. I understand why they’re that way, but that doesn’t mean I can find them easily because I don’t always know the jargon.
Thanks to everyone, as it pushed me in the right direction. I will post my schematic when I get to my computer.
I started to use KiCad in 2017 (V 4.0.7). First what I have done (before designing first PCB) was to make my own libraries and I use only them. All symbols I make myself. All symbols have footprint attached and I never touch it after used at schematic.
When I am using an element with footprint I have never used I copy (using file manager) some footprints from KiCad libraries (I don’t see them, I do it just based on their names) into my library and there I select the best of them (deleting all others) and then modify it according to my standard.
When I am trying sometimes to report a bug with example project I switch into KiCad libraries to do that. I am totally lost then.
In my opinion having your own libraries even needs some work at the beginning helps you a lot later.
I have described my KiCad file structure here:
Good advice, I am on similar path. I have been making my own symbols and footprints. I have been using both. I find many of the symbols too big for the symbol editor for my taste. It makes sense to import them into my own libraries. I currently let mine sit with the others. I haven’t noticed any problems but I can see where an update might smoke my symbols and footprints.
Major upgrades (eg.7 to 8) require you to reload your personal libraries. There is some very useful information on library manipulation in these (here and here) FAQs.
Saving individual Kicad library symbols and footprints to personal libraries is as easy as:
Open the appropriate Editor, find the appropriate part then Right Mouse click > Save symbol/footprint/3D as > Rename if required > Highlight the receiving library > OK. Even scrolling can be minimised with the prudent use of nickname changing or “pinning” libraries.
Kicad is designed around creating personal libraries. One of the first changes I made when starting to use this programme was to rearrange the Device library into several, more workable, personal libraries.
Quite the opposite. An update will leave your personal libraries alone, but very often change the standard libraries.
Just make sure that your personal libraries are not in a system location, but a location that gets backed up regularly.
Thanks Paul. It helps greatly, It has spurred me to a large amount of research on design guidelines,
My tracks are much wider, for some reason KICAD didn’t take my changes to the settings. Missed that before I posted. After I reworked the board it caught the settings.
Enlarged the pads. Now using guideline from Cadence for density level A
Have been watching a bunch of videos on ground planes. Best I saw was https://www.youtube.com/watch?v=kdCJxdR7L_I. Great Discussion with Eric Bogatin.
Decided to switch to 4 layer board. Using internal grounds and it made my routing much easier. Probably not optimized, but much better.
Curious what is the purpose of the extra filtering? Would this better done by a via pattern to control currents running from the ground planes to the signal layers?
Yes, I was planning to use all the 3pdt switches/pots as the mounting. was considering a screw/bolt to keep the two boards together if there is enough clearance. I may use an internal nut on the toggle switch. Still sorting the clearances out.