Why doesn't the pcb show a netlist connection?

I am working on a more normal schematic…but I am stymied by the inability to connect my jumper to my resistor. You can see that this schematic has only two components but I cannot get my jumper to connect.

The schematic clearly shows the two components connected in parallel

But the pcb does not show J29 to be connected. Only one of the two pins is assigned any sort of net.

What is going on? This is driving me nuts. I hope it is a bug…

BobZ Test 10-21-2024a.zip (8.4 KB)

Application: KiCad PCB Editor x64 on x64

Version: 8.0.6, release build

Libraries:
wxWidgets 3.2.6
FreeType 2.13.2
HarfBuzz 9.0.0
FontConfig 2.14.2
libcurl/8.8.0-DEV Schannel zlib/1.3.1

Platform: Windows 11 (build 22631), 64-bit edition, 64 bit, Little endian, wxMSW
OpenGL: Intel, Intel(R) Iris(R) Xe Graphics, 4.6.0 - Build 31.0.101.5186

Build Info:
Date: Oct 14 2024 01:02:33
wxWidgets: 3.2.6 (wchar_t,wx containers)
Boost: 1.85.0
OCC: 7.8.1
Curl: 8.8.0-DEV
ngspice: 43
Compiler: Visual C++ 1939 without C++ ABI

Build settings:
strong text

I am getting some sort of clue; removing and replacing the symbol.

  1. I use almost entirely my own custom symbols.

  2. Most do not have footprints assigned in the symbol library. So (for example) I have only two resistor symbols and I assign footprints when I draw the schematic. This seems to work OK.

  3. But I have been tempted to do a sanity check recently: When an IC is available in only one package I will generally assign the footprint in the library symbol properties. But maybe this is not working for my custom library?

As I remove and replace the jumper symbol, something which I did once did result in a proper connection. I am trying to sort out my precise sequence.

As I fiddle with this right now I have encountered this error more than once, even though the symbol has 2 pins:

Added J1 (footprint ‘Bobs_Connectors:Wire_Jumper_AWG20_0.1_inch’).
Changed REF* reference designator to J1.*
Changed J1 value from Wire_Jumper_AWG20_0.1_inch to Wire_Jumper_Test1.
Updated J1 symbol association from to /cdcc6f1d-84f1-4b69-8642-c7b8327c901d.
Updated J1 sheetname to ‘Root’.
Updated J1 sheetfile to ‘BobZ Test 10-21-2024a.kicad_sch’.
Warning: No net found for component J1 pad 1 (no pin 1 in symbol).
Warning: No net found for component J1 pad 2 (no pin 2 in symbol).

Show us the pin table of symbol J1.


Thanks sorry took me a while.

I had unintentionally deleted my folder so needed to download it.

Not much to see here…(??)

Hmm, here’s a normal jumper.

Electrical Type should be Passive. Bidirectional is for logic transceivers that could be either Input or Output. That shouldn’t affect the connection though.

I wonder why you don’t have an Orientation column. Maybe your pins aren’t really connected to the body of the symbol. I can’t work it out with your colour scheme. I’ll let others have a go.

If I grab my jumper symbol from the symbol library, and assign a footprint via the schematic editor, it seems to work OK.

But I made a test jumper symbol which has footprint assigned in the symbol properties (assigned via the symbol editor) and that does not seem to work.

I don’t think this quite captures the full behavior, because I think that when I first hit this snag, I had assigned the footprint from within the schematic editor.

But I do think there is something squirrely going on with footprints assigned to custom symbols by the symbol editor.

The jumper pins can be either input or output, right?

I am not sure what I changed but I now see pin disorientation…

Bidirectional is a special thing for logic symbols. You could argue that resistor pins can be input or output. That’s not the meaning of Bidirectional.

No, I think your test jumper symbol is badly constructed but I can’t figure out how. It shouldn’t matter whether the footprint is pre-assigned to the symbol or later (possibly overriding) when editing the schematic. Did you run the check on the symbol in its editor?

I do not know what is going on here…sometimes it works OK. But the zip file that I uploaded proves that sometimes it does not work…

BTW here’s a situation where “Bidirectional” jumper pins will cause a spurious ERC message. If you connect such a mistyped jumper pin to a power rail, say a jumper to GND, ERC will complain that Power Output is connected to Bidirectional because it can be Output at times, wrecking a logic circuit that’s truly Bidirectional. So stick to Passive for jumper pins.

Thanks. ERC raises so many “WT**!!” flags that I mostly give up on schematic ERC.

First a lot of time spent trying to diagnose the issue. Second a lot of time spent trying to fix an artificial problem.

But this particular problem seems to be giving me very inconsistent results. Sometimes I end up with 0 pins connected, sometimes one, and sometimes both, even though the schematic LOOKS OK.

I am now back to my original schematic and I get this:
image

Oh well you have very jumpy jumpers. Sorry I’m no help there.

No, it doesn’t prove that. It works OK for me. But you haven’t included your libraries there, so I can’t be sure. I can only try to attach a footprint from a KiCad’s own library to the jumper symbol. It works as expected. Please create a totally self-contained project and give exact steps which show the problem.

I thought that is a totally self contained project? What is missing?

I should emphasize that I cannot predict when I will get this and when I will not… very strange…

I have created a bug.

If I update the PCB it removes the jumper footprint. Then the same footprint can’t be attached to the symbol anymore because the footprint library isn’t attached. A project is totally self contained only if it contains all the needed libraries. Admittedly the libraries can be created afterward but especially if there’s a suspected bug we should be able to repeat the exact same steps as you right after opening the project.

Thank you.

I have been working on a real design when I encountered this issue Of course there have been hundreds of steps which I could not reproduce for a billion dollars…

I then saved the folder as a new one, and removed everything except for the jumper and the resistor.

I am getting varied results as I try to reproduce. At one point, the schematic editor listed no footprint although the footprint was still present in the pcb and I had just updated the pcb from the schematic.

I guess a major question is why do I sometimes get an indication that the symbol has not pins, even though it obviously does?

Per your request I just now tried a new project from nothing, and that one looks OK. Is it not possible to find the problem with the zip which I uploaded?

I have uploaded my two libraries here:

Bobs_Passive.pretty.zip (42.8 KB)
:
Bobs_Connectors.pretty.zip (21.9 KB)

My bug

has been closed. I believe there is a misunderstanding.

I have always assigned footprints either in the symbol editor, or in schematic capture (individually or using “edit symbol fields.”)

Using “Update PCB from Schematic” is the only way that I put footprints onto the pcb. The symbols were already connected on the schematic.

Yet, in subsequent efforts, my jumper symbols had more than one state of being disconnected. Sometimes both pins were disconnected and sometimes one was.

There is ONE THING that I did which was a bit unusual but should not have been an issue. I placed this set of jumpers in parallel with 0 ohm resistors, and I edited the Jumper reference designations to agree. (I only had about 10 J numbers anyway, but…) I placed J35 in parallel with R35 etc. I did not need to change any other reference designations to avoid conflicts and this bit was easy.

I also saw error messages saying that my symbol had no pins. I was easily able to see that my symbol indeed had pins.

In recent weeks I have noticed that I had assigned footprints to symbols in my schematic (using either “edit symbol fields” or by double clicking on the symbol or in my symbol editor) but they were somehow getting lost before updating the pcb. This required me to repeat that symbol-footprint association but before today did not cause other errors. This happened numerous times over a week or two and I wondered what was going on.

The behavior of this bug (losing connections) has only been today and has been inconsistent.

After starting this thread and fiddling with it removing, editing, replacing symbols, etc. I had one jumper symbol which was behaving properly. I have used that one to copy and replace the ones which were not behaving properly on the pcb. So I seem to have beaten my way around this for now. But I will not be surprised if/when it happens again.