Would it be possible to detect 0 ohm resistor as a connection in DRC and ratsnest?

Seems to me that for (mis)using regular 2 pin resistors as sense resistors, for how KiCad currently works one would want to use netties on the two sense lines. This would allow using a different netclass on the sense lines. (I doubt you really need current carrying (20mil? 30mil? more?) going to the pins of the sense chip…

I’m not saying that is ideal when using the “perfect” program, just thinking about what is available in the current toolset…

This situation was mentioned in the recent thread “Assign Netclass in EESCHema”.

Dale

What do you think about my bug:


Ignore the touch key which was the reason I wrote it but later discussion went toward things like 4 pin switch. Using it for 0R bring to my mind now.

If footprint pads with the same number were considered connected then the 0R should have a special footprint with two pads just having the same number. Connecting such resistor to wire at schematic (one or two ends - not important) will allow to go that net through that resistor. You will not to have divide correctly the net at schematic into parts for both sides of 0R.

I think the problem with that is that the symbols (and footprints) should strictly follow datasheet numbering. You could of course not care about that, but I think the solution should make it possible while still allowing marking the connected pins.

First I will quibble with the idea of (mis)using a 2 terminal resistor. See this image from an IRC datasheet. This component in question is a low value 2 terminal current sense resistor. How are we going to deal with 6 physical pads making 4 nets? :frowning:

Beyond that…I will admit that I am not using net classes anyway. My attitude is that traces should be fat unless there is some reason to make them thin. My default resistor is an 0603 chip placed on 0805 pads, and I connect those pads with 0.040" = 1 mm wide traces where there is room to do so. Generally copper trace width is free in etched pcbs. In low voltage circuits, stray inductance and inductive coupling is the usual layout issue affecting performance, and wider traces are a little better in that way. There may be other exceptions where impedance control or capacitive coupling is of concern, but I do not run into those so often.

Hi, eelik

This observation may be out of date, but I recall years ago seeing contradictory pin numbers on SOT23 packages from different vendors. Caveat empty ( :slight_smile: ); a dose of caution is always wise with regards to pin numbers.

2 Likes

This is a part that I want to use. It only has two physical endcaps, but 4 nets are used, due to the sense traces. These part are used at around 1mOhm:

Yeah I know where you are coming from, I end up mostly ignoring the netlist trace width and just setting it manually a lot.

Hi, davidsrsb: That looks good. I am wondering whether that layout can work well with a pair of (are they net ties)??

A few years back I had essentially the same situation with a 2-terminal current sense resistor. I believe it was a 1206 package size. The mfgr footprint was similar to the illustration you showed, except it had only one pair of main terminals, with the sense connections off on one side. The intention was the same: the resistor end caps formed a bridge from the main circuit to the sense lines when the part was soldered into place. From the perspective of a KiCAD user the problem was the same: four distinct physical pads mapped to two electrical nets.

The details differ but we think alike. My employer’s default package size for passive components is either 0805 or 1206, and they sit on footprints with extended pads that are intended to make manual soldering easier. My default trace width is 15 or 20 mils (0.4 or 0.5 mm) with 15 mil spacing. Even though our board fabricator accepts 6 mil/6 mil as a “standard” job (and the surcharge for 4 mil/4 mil design rules isn’t huge). I have never had a situation where those smaller geometries were actually necessary, though I neck-down traces (8 or 10 mils (0.2 or 0.25 mm)) when connecting to pins on SOIC packages or passing a trace between pins.

Dale

Thanks, Dale

Yes with a 1206 (especially carrying high current) I think that trying to use 3 traces to each pad might be unwise. I am not sure of the benefits of 3 traces (as shown in my datasheet image) versus 2.

In addition to the lower DCR and slightly lower inductance (if I am using 1 mm traces both are probably of little or no consequence) there is the added consideration of mechanical robustness and withstanding a mishap which might break a thinner trace. I don’t remember a time when I ran a trace between pads, but I have designed a lot of boards with fine pitched LFCSP or 10 pin MSOP. Of course that geometry demands that traces at least neck down to 8 mils or so near the IC. My hands are not so steady and I hate soldering those but I can do it. BTW I am also in the habit of putting fatter pads (extended only outwards) at the 4 corners of the IC footprints.

@BobZ @dchisholm Do guys neck-down the traces manually or do you have a special method to do it? </off_topic>

Thanks

Well I suspect that men and women are likely to do it similarly. :slight_smile:

When laying down a track, I right click and select (select track/via width) then (use custom values). I am doing it manually. I doubt that this is achievable in any automated way, but I am open to recommendations as to how that may be possible. Track width can also be changed later by double clicking on it.

Did what I think you are doing there… and still no go.

The other pad has a ~ in its pin #

That’s the component I created. Pay close attention how I split the pad.

zero_ohm_resistor.kicad_mod.zip (538 Bytes)

Hint: mod files are normal text files.

Cool indeed. The footprint editor doesn’t accept it, so it must just be made with a text editor. Furthermore, there’s no guarantee it will work in future versions. And it’s not explicit or self-evident, so not fit for public projects. But it wouldn’t be the first time someone uses “hidden” features of KiCad for their benefit. And maybe it can give an idea about how an explicit feature could be implemented.

Would not call it hidden, and yep it’s not exactly for public consumption.

I placed an smd pad and a shape just touching the pad. This allows to use create pad from selected shapes. In a text editor moved the extra shape over and all is well.

I am also well aware that this may vanish. In any case. Anything is possible. Oh yes, then there is always the KiCad source code. :sunglasses:

Hmm i see. I suppose that is cool… but not useful in a practical sense for any of my projects since I don’t want them tied to a specific KiCad version.

I haven’t familiarized myself with KiCad’s text formats that much anyway so don’t quite follow how it works either.

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