Problem with DRC and Footprint

I think the attachment should express my problem. I have a somewhat complicated connector consisting of 2 double rails and each pair is interconnected in its footprint with copper. It has a complimentary eschema representation with the appropriate connections.
For some reason when I run DRC-

  1. the Ratsnest does not recognize the existing connections
  2. the interconnections get marked as “too close”

I don’t see why these problems.
Any ideas appreciated
cheers
Fritztemp2.zip (59.2 KB)

It is a weird connector indeed. For some reason I can not load this connector in the schematic symbol editor.

There is also no outline defined for the PCB, Draw Graphics on Edge.Cuts to fix this.

But none of those are the problem you asked help for.

The problem is in the way you (ab)use the pads in your footprint.
It simply does not work that way in KiCad.
You get DRC errors for THT pads overlapping with SMT pads (which have no pin number, so you can not use them normally in KiCad.

Your options are (sort of):

  1. Ignore the DRC and ratsnest errors.
  2. Remove all SMT pads from the footprint itself, and draw copper tracks in Pcbnew.
  3. Give all overlapping pads in the footprint the same pad number.
  4. Replace the SMT pads with “polygons” on the copper layer.

Comment:

  1. May be acceptable if it’s just a simple test jig, not recommended if you want to add more stuff.
  2. This option uses the schematic & netlist to make your connections, it’s the “normal / recommended” way.
  3. This is used quite often in KiCad’s default libraries. For example for thermal via’s (Study those footprints as example).
  4. Is used in “Net-Ties”. This does get rid of the “Pad too close to pad” errors, but not of the Ratsnest. The way this is used in the Net-Ties is a (temporary) hack (hopefully improved in some future KiCad version) You still have to draw real copper tracks for the connections, which brings you back to 2).

Some tips:

  • If you want to experiment with differnt options. Then do it with a 16 pad connector. You get the same experience with a lot less drawing and editing effort.
  • If you want to draw all those tracks manually, it gets done a lot easier with Copy & Paste
    • Draw one track with the right width, from pad to pad.
    • Copy that track and paste it 5 times in some empty drawing area. (easy with Ctrl +V).
    • Make a copy of the 5 tracks, and paste the block 5x.
    • Copy the whole column of tracks and paste them over the left row.
    • Copy again (or move) for the right side of the connector.

[Edit] Numbering fixed: 1, 2, 3, 4, 5, 6, 7, 8 -> 1, 2, 3, 4,___ 1, 2, 3, 4,
Tnx to eelik.
*&^%$#@! auto numbering increment thing.

1 Like

^^^^^Yeppers, really glad I did not add any text to my screen grabs…^^^^^

Paul–Not sure why you cannot open it. The outline is immaterial-i will attend to that and a lot of other things later.

I am not entirely clear on what you are indicating but it seems as though 1-5 are workarounds and not “normal” valid ways of doing this simple thing.
… I do not want to ignore errors and live with them-this makes things very difficult 2 years later.
…have drawn all the Cu tracks in PCBnew in the past but manual ops like this sort of violate the point of having a CAD.
…I think you are saying that I should use option 6, but this would still preserve the Ratsnest issues (8)–so I dont like that option.

So I think for now I will continue to manually draw the Cu on PCBnew and hope that this is addressed in some future release.

I have used operations like that in your tips often but it is still good CAD design to just drop down a connector with its necessary Cu connections. I think other CAD tools do this.

Thanks
Fritz

I’m not completely sure of your intentions.
My best interpretation is that you want the connections to be a part of the footprint, so it can be used in other projects.

The best workflow for this is option 3). This is not a “workaround” but normal workflow in KiCad. KiCad does have a (very logical) limitation that pads in a footprint adhere to normal clearance rules, and pads too close to each other are therefore DRC violations.

A built in exception is that pads with the same pad number are treated as a single pad in KiCad.

If two pads in a single Footprint have the same pad number, then both pads will be added to the netlist, and you must manually connect them on the PCB.

If you have overlapping pads with the same pad number, then KiCad recognizes this and treats it as a single pad with a complicated form.
Again: This is not a “workaround”, but normal work flow in KiCad.

What you have made is unusual, and does not fit within KiCad’s workflow. You must choose between using separate pads and then use the schematic and netlist to draw the connections on the PCB. Or you make the connections in the footprint itself, and in that case you do not have to make the schematic at all, but it has the limitation that pad numbers must match.

The way you have drawn it now, is in a form that resembles a “design block”. That is: A schematic, with footprints and a (partial) PCB layout that can be re-used in another project. KiCad does not support this (yet).

2 Likes

Paul
I am simply trying to make a “connector” consisting of 2 double rows. Each double row is interconnected as well. I suppose I am playing on the difference between a design block vs a simple poured copper connector. Mine has thru holes and pads on each side of the board so apparently this more complex than the intention of the footprint program.
This is fine-I just did all of the connections in the CAD (pcbnew). A little laborious but not too much. When the new release of KiCAD comes out apparently copying constructs from one design to another is a lot easier and this will be useful for such situations.
Thanks for the advice
Fritz

So you apparently did not use the “Copy & Paste” method I described earlier?

1 Like

Yes-I can’t use it between designs (I am not on 5.99) but within a design I frequently use cut and past segments of traces in groups. The problem starts when you need to move things around a bit. I think a lot of this will go away with the newer releases of KiCAD.
as you mention-design blocks will go a long way here-
Bottom line is I just wanted to be sure I was not making more work for myself, and using “standard” techniques and you have outlined that nicely.

many thanks
Fritz

This is one of the weirdest thing I have seen. You have one symbol which looks like four symbols, and for it one footprint which looks like two footprints. And you want permanent connections between pins.

(The symbol’s visible parts are offset far from the center of the symbol, normally the visible parts should be centered around the origin or touch it.)

Because me too can’t see your intention clearly, I ask from the beginning. Do you need a footprint which

  • you can reuse between boards,
  • has two parts which are always in the same relative locations, i.e. 40.64 mm apart from each other (center to center),
  • each of the two parts is like a normal 0.1 inch pin header
  • and each through hole pair is always connected?

Paul, your point numbering 1…8 is confusing, I think you intended to have 1…4 and the corresponding comments 1…4.

eelik
your description of my intention is the exact thing that I need. This is my own design to port the 44 pins of a PIC to upper boards that carry various utilities using the PIC signals. I think most microprocessor eval boards do something similar–TI, Atmel etc.
I used to just use two separate 2x22 headers, spaced by 40.64mm (1.6"). But when I move one header slightly the other does not move and the system no longer aligns with the further boards. So I want to gang the two 2x22 headers together so they stay fixed. When I design a utility board that attaches then I use the same footprint.
When assembled each 2x22 gets a 2x22 female header. The board above gets a male.

Additionally each pair of holes is ganged with copper–the inner hole receives pins from the upper boards. The outer hole is free for my oscilloscope or for a wire for testing or what have you. The connecting of the holes in a footprint is just a convenience. If I do this manually from PCBnew and then move the assembly later, all the Cu connectors gets left behind.

Regarding your description at the top of the page–not sure what you mean by “one footprint looks like two ----” but I think you are seeing what I needed from my description.

Thanks
Fritz

If it’s really the case that the connection between each pair is always there without exception – and it sounds like it is – I recommend number 3 from Paul’s list. You don’t really need the numbers 45…88. One double row connector, for example Conn_02x22_Counter_Clockwise, is enough, but you can modify it graphically to resemble the physical shape better.

In the footprint you would have for example

image

instead of the 1/45 pair. It can be done also with two pads, oval and circular:

image

OK–now I understand. I made up a new connector and it works fine.
I use this construct pretty often-it is a way to relay parallel connections in utility boards that I make so the user can add wires or place a scope on the connected PIC circuits.

Thanks for your support!
Fritz

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.