Problems updating PCB from 2018 [Solved]

I’m trying to make some minor tweaks to a small PCB I designed in KiCAD back in June of 2018, but when I try to read in a revised (or original) Netlist in Pcbnew it changes then adds a bunch of new components, completely messing up my design.

This is how the PCB should look:

This is the first (and only) board I’ve designed. I had it fabricated at OSH Park, and it actually works! But now I want to make a few small tweaks (add one more resistor, change a servo trace). When I open up the schematic I get this warning:

I’m not sure what that means.

When I try to load the Netlist I generated in 2018 into Pcbnew I get this mess:

This is the PCB report generated upon import:

Info: Reading netlist file "/Volumes/MacPro12 Video 1TB/PKE_Arduino/PKE_PCB_Build/PKE_PCB_Build.net".

Info: Using references to match components and footprints.

Info: Checking netlist component footprint "P1:/5ACEBE42:Connectors_Molex:Molex_PicoBlade_53398-0871_08x1.25mm_Straight".

Adding new component "P1:/5ACEBE42" footprint "Connectors_Molex:Molex_PicoBlade_53398-0871_08x1.25mm_Straight".

Info: Checking netlist component footprint "P2:/5AE28DE9:Connectors_Molex:Molex_PicoBlade_53398-1071_10x1.25mm_Straight".

Adding new component "P2:/5AE28DE9" footprint "Connectors_Molex:Molex_PicoBlade_53398-1071_10x1.25mm_Straight".

Info: Checking netlist component footprint "P3:/5AE28387:Pin_Headers:Pin_Header_Straight_1x03_Pitch2.54mm".

Adding new component "P3:/5AE28387" footprint "Pin_Headers:Pin_Header_Straight_1x03_Pitch2.54mm".

Info: Checking netlist component footprint "P4:/5AF23A58:Connectors_Molex:Molex_PicoBlade_53047-0510_05x1.25mm_Straight".

Adding new component "P4:/5AF23A58" footprint "Connectors_Molex:Molex_PicoBlade_53047-0510_05x1.25mm_Straight".

Info: Checking netlist component footprint "P5:/5AF26D93:Pin_Headers:Pin_Header_Straight_1x02_Pitch2.54mm".

Info: Checking netlist component footprint "P6:/5AF26BA5:Connectors_Molex:Molex_PicoBlade_53047-0210_02x1.25mm_Straight".

Adding new component "P6:/5AF26BA5" footprint "Connectors_Molex:Molex_PicoBlade_53047-0210_02x1.25mm_Straight".

Info: Checking netlist component footprint "P7:/5AF256D0:Connectors_Molex:Molex_PicoBlade_53047-0410_04x1.25mm_Straight".

Adding new component "P7:/5AF256D0" footprint "Connectors_Molex:Molex_PicoBlade_53047-0410_04x1.25mm_Straight".

Info: Checking netlist component footprint "P8:/5AEBE5B2:Connectors_Molex:Molex_PicoBlade_53047-1010_10x1.25mm_Straight".

Adding new component "P8:/5AEBE5B2" footprint "Connectors_Molex:Molex_PicoBlade_53047-1010_10x1.25mm_Straight".

Info: Checking netlist component footprint "Q1:/5B062396:TO_SOT_Packages_THT:TO-92_Inline_Narrow_Oval".

Info: Checking netlist component footprint "Q2:/5B06240C:TO_SOT_Packages_THT:TO-92_Inline_Narrow_Oval".

Info: Checking netlist component footprint "Q3:/5B06219F:TO_SOT_Packages_THT:TO-92_Inline_Narrow_Oval".

Info: Checking netlist component footprint "Q4:/5B062014:TO_SOT_Packages_THT:TO-92_Inline_Narrow_Oval".

Info: Checking netlist component footprint "Q5:/5B0624FA:TO_SOT_Packages_THT:TO-92_Inline_Narrow_Oval".

Info: Checking netlist component footprint "Q6:/5B062569:TO_SOT_Packages_THT:TO-92_Inline_Narrow_Oval".

Info: Checking netlist component footprint "R1:/5AE278C9:Resistors_ThroughHole:R_Axial_DIN0204_L3.6mm_D1.6mm_P1.90mm_Vertical".

Info: Checking netlist component footprint "R2:/5AE27F8A:Resistors_ThroughHole:R_Axial_DIN0204_L3.6mm_D1.6mm_P1.90mm_Vertical".

Info: Checking netlist component footprint "R3:/5AE2814B:Resistors_ThroughHole:R_Axial_DIN0204_L3.6mm_D1.6mm_P1.90mm_Vertical".

Info: Checking netlist component footprint "R4:/5AF2421D:Resistors_ThroughHole:R_Axial_DIN0204_L3.6mm_D1.6mm_P1.90mm_Vertical".

Info: Checking netlist component footprint "R5:/5AE292CD:Resistors_ThroughHole:R_Axial_DIN0204_L3.6mm_D1.6mm_P1.90mm_Vertical".

Info: Checking netlist component footprint "R6:/5AE29378:Resistors_ThroughHole:R_Axial_DIN0204_L3.6mm_D1.6mm_P1.90mm_Vertical".

Info: Checking netlist component footprint "R7:/5AEBF4A2:Resistors_ThroughHole:R_Axial_DIN0204_L3.6mm_D1.6mm_P1.90mm_Vertical".

Info: Checking netlist component footprint "R8:/5AEBF517:Resistors_ThroughHole:R_Axial_DIN0204_L3.6mm_D1.6mm_P1.90mm_Vertical".

Info: Checking netlist component footprint "R9:/5AEBEA2B:Resistors_ThroughHole:R_Axial_DIN0204_L3.6mm_D1.6mm_P1.90mm_Vertical".

Info: Checking netlist component footprint "U1:/5ACEB74C:teensy:Teensy32_Reduced".

Info: Checking netlist component footprint "U2:/5ACEB7BF:Housings_DIP:DIP-18_W7.62mm".

Adding new component "U2:/5ACEB7BF" footprint "Housings_DIP:DIP-18_W7.62mm".

Error: Component 'U1' pad '49' not found in footprint 'teensy:Teensy32_Reduced'

Error: Component 'U1' pad '39' not found in footprint 'teensy:Teensy32_Reduced'

Error: Component 'U1' pad '19' not found in footprint 'teensy:Teensy32_Reduced'

Error: Component 'U1' pad '18' not found in footprint 'teensy:Teensy32_Reduced'

Error: Component 'U1' pad '17' not found in footprint 'teensy:Teensy32_Reduced'

Error: Component 'U1' pad '16' not found in footprint 'teensy:Teensy32_Reduced'

Error: Component 'U1' pad '15' not found in footprint 'teensy:Teensy32_Reduced'

Error: Component 'U1' pad '52' not found in footprint 'teensy:Teensy32_Reduced'

Error: Component 'U1' pad '42' not found in footprint 'teensy:Teensy32_Reduced'

Error: Component 'U1' pad '51' not found in footprint 'teensy:Teensy32_Reduced'

Error: Component 'U1' pad '41' not found in footprint 'teensy:Teensy32_Reduced'

Error: Component 'U1' pad '50' not found in footprint 'teensy:Teensy32_Reduced'

Error: Component 'U1' pad '40' not found in footprint 'teensy:Teensy32_Reduced'

Error: Component 'U1' pad '48' not found in footprint 'teensy:Teensy32_Reduced'

Error: Component 'U1' pad '38' not found in footprint 'teensy:Teensy32_Reduced'

Error: Component 'U1' pad '47' not found in footprint 'teensy:Teensy32_Reduced'

Error: Component 'U1' pad '37' not found in footprint 'teensy:Teensy32_Reduced'

Error: Component 'U1' pad '46' not found in footprint 'teensy:Teensy32_Reduced'

Error: Component 'U1' pad '36' not found in footprint 'teensy:Teensy32_Reduced'

Error: Component 'U1' pad '45' not found in footprint 'teensy:Teensy32_Reduced'

Error: Component 'U1' pad '35' not found in footprint 'teensy:Teensy32_Reduced'

Error: Component 'U1' pad '54' not found in footprint 'teensy:Teensy32_Reduced'

Error: Component 'U1' pad '44' not found in footprint 'teensy:Teensy32_Reduced'

Error: Component 'U1' pad '34' not found in footprint 'teensy:Teensy32_Reduced'

Error: Component 'U1' pad '53' not found in footprint 'teensy:Teensy32_Reduced'

Error: Component 'U1' pad '43' not found in footprint 'teensy:Teensy32_Reduced'

This seems like it’s a library issue, but I haven’t touched that since 2018. It’s like it’s decided my components have a different footprint now and I have to start from scratch. I believe I created a special library on my computer for a few of the special components (Teensy). Perhaps those Molex components changed on GitHub, causing these issues. TBH, I find the whole Library management system somewhat perplexing.

I don’t see any options in the Netlist import dialog along the lines of “don’t change any components already on the PCB.”

Maybe I’d be better off just drawing the revisions manually in Pcbnew?

I’m on version 4.06 on a Mac.

Any suggestions would be greatly appreciated.

Thank you.

Shawn Marshall

Why? Doesn’t v5.1.5 work for you?

Of course if you ever just want to update one board with small modifications it may not be worth updating. Otherwise you should move to 5.1. In this case it means more work at first but afterwards it’s worth it.

It looks like your component changed. This changes the timestamp, which is one of the ways that Eeschema->Pcbnew update matching works.

Then, when updating, pcbnew does not find the original symbol, so it imports a new copy of the footprint. If you don’t have “delete missing footprints” on, then you will end up with two copies like you are seeing.

There is a different import option, which uses References instead of timestamps. This can be helpful if your symbol changes but your footprint and net connections do not.

Thanks for the reply; I appreciate it. I haven’t touched KiCAD since 2018, so there didn’t seem to be any compelling reason to upgrade for what I’d hoped would be a simple task. Does 5.1 give you more Netlist importation options?

Cheers!

Thanks for the reply; I appreciate it.

These are the Netlist settings I’m using that result in it substituting all of these new footprints for the ones I already have. I think these are the default. Do I have a wrong option checked?

Is there a preference I should be changing or a path I need to change in my libraries?

If this ends up being too difficult I’ll make the changes manually in pcbnew. I’ll have to do some research as to how to do that.

Cheers.

Shawn

Given those selections, you may have run into a bug. You can try using the “Timestamp” selection instead and see if that works. Your KiCad version is sufficiently old that I don’t have a decent recollection of the various issues that existed at that time.

Thanks again for the reply. Yes, it might be a bug. According to the documentation (and the mouse hover) it should be KEEPING the existing footprints if they’re different from the Netlist.

I’ll try installing the latest version and see if things work then.

Cheers.

Shawn

In 5.1 netlist isn’t needed at all if you use both eeschema and pcbnew.

If you can zip the project and put it here, someone could look into it.

I got it to work earlier tonight, thanks for the replies and advice.

I installed v 5.1 on a different computer, copied over some of the special libraries (though I don’t know if they were needed) and my project files. This time, when I imported my revised Netlist it brought in just the new resistor and revised trace, leaving the existing components untouched. It was then a fairly straightforward matter to route the new traces and redo the fills. I did have to re-label my connectors, but that was about the only minor issue. I sent the board off to OSH Park (about 15 miles from my house) a few hours ago.

Cheers.

Shawn

2 Likes

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