I am trying to make a footprint for a pin header to be on the edge of a PCB. It is a 2x20 pin, one row would be on top layer and the other row on bottom layer, like this image:
I made 3 pads for each pin: 1 oval to solder the pin, one via to be able to access that pin from the other side of the board and one rectangular pad as connector between the oval and via, like this:
How to make KiCad understand that they are indeed connected, without adding a track connecting all the pins? Any suggestions that are not ugly hacks??
We already have this in production, but it was made using Cadence Orcad and I am converting the project to KiCad. The next step is to convince my boss that KiCad can replace Orcad and save us a lot of money
There is no way to tell KiCad the pads with the same number are connected although they are because they are overlapped.
So, you can
live with these “unconnected” messages
delete the rectangular pads and trace tracks connecting the oval and circular pads
or, finally, make a custom pad with the oval, rectangular and circular pads being only one pad. This is possible with version 5.0.0-rc2-dev version at the moment, but more stable than 4.0.7.
Maybe you’ll need to draw the pads with another tool in DXF format and import them into the footprint editor.
Actually, at least version pre-5 understands them to be connected if they overlap enough, just like a pad and a track in a board. In this case extra pads could be added to further connect each pad to another pad unless they can be resized and aligned to overlap more than they do now.
We might want to add that for this to work the pads that should be connected need to have the same pin number assigned. (By the way it should also work in kicad version 4. We used it a lot for creating complex pad shapes as there is no polygon pad support in kicad 4)
No way to convince my boss that KiCad is better than OrCad if I do these suggestions…
A custom pad is something nice, i will take a look in it.
That is very nice! What is the KiCad 5 definition of enough overlap?
Yes, the oval, rectangular and via share the same pin number. I have in total 40*3 = 120 pads in this footprint. And 2 DRC erros for each of those 40 pins… If I have a DRC problem in my layout, I wouldn’t know. I am too lazy to read 80+ errors.
I am compiling KiCad from source, using the latest commit and I will see if works better. Anything I should be aware of changing KiCad version?
I have made a test and it works.
In the footprint editor add a circular pad (your via) with pin number 1. Add a graphic line of the size of the oval pad: edit its properties and change the layer to F.Cu. And now, add another line connecting the other two. Edit its properties and change also the layer to F.cu.
Now, select the 3 items and left click “create a pad with the selected shapes”.
Here you are, your custom pad.
As I was my boss, I convinced myself to move to Kicad many years ago…
As Rene said, it should work with v4, too. I haven’t tested all possibilities but it should work at least if one pad overlaps another one’s center point (like with a track and a pad). So, you can for example put the track-like pad into an angle so that it goes to the center of the oval pad. There could be other possibilities.
I increased the size of rectangular pads so their center gets inside the oval pads and part of the problem was solved. But KiCad doesn’t see the vias as connected to the rectangular pads. Still in KiCad4
I will try that with KiCad 5 . Just finished compiling it.
I had to make some projects using OrCad. I spent one week to install it and learn how to open it to start a new schematic. I lost two virtual machines because of OrCad installers… The virtual machine was a tip of an engineer here, who lost his workstation OS when he tried to install it the first time. KiCad is so simple and produces as good quality as the other tool I used.
I predict that people will find crashes and even data loss or something else as nasty even after 5.0 is released. So don’t use it for anything mission critical. But still I have used nightly builds for production work and can recommend it. If you have weighed pros and cons, go for it and use custom shaped pads.
There is a problem with this approach:
I want only the via to connect the two sides of the board, the rectangular and oval pads should be in one side only. I created a pad with your suggestion but I ended with the oval and rectangular pads on both sides of the board, but my lines were only on F.cu.
If I edit the properties of this custom pad to have Copper only on F.Cu, the bottom side of the via has no copper…
I did something wrong or this is expected? Or should I file a bug report to improve this custom pad functionality?
I like to test new functionalities and I always have git saving my stuff, but I can’t convince my boss to use nightly builds for production work. Everyone here should use the same version of the software for maximum compatibility. For my personal projects, i will definitely use the nightly version
I don’t think a custom pad can be both a through hole and smd pad at the same time.
My suggestion would be to make your oval pad plus trace into a custom pad and make sure the end of the custom pad ends in the center of the separate through hole pad (The via).
I think the center of one pad has to be inside the other one for KiCad to recognize they are connected. I think this should be improved.
There is no problem that the rectangular pad gets ‘inside’ the via, it will be drilled there.
@hermit, I think i will not try this suggestion for this footprint, but I will definitely take a look in this tool for some parts of my RF boards. Thanks for the tip!
Do you think someone else would find this footprint useful? I can submit it to the oficial libraries.
Possibly (Rene can better comment on that), but the problem with these kind of connectors is that there can be any number of pads, so it most probably must be edited by the user unless you do it for every pin count. And there already exists 90 degree pin headers in 1, 2 and 3 rows, so this arrangement would be less used. Look at the Pin Header connector footprint libraries for reference and model if you haven’t done that already.