Component 'MC1' pad '30' not found in footprint '.pretty:Teensy3_2'

After adding several pins to a part, using them in the schematic, then saving the netlist, running CvPcb and saving the changes, and then reading the netlist on PcbNew with “Dry run” checked, I keep getting the error “Component ‘MC1’ pad ‘30’ not found in footprint ‘.pretty:Teensy3_2’”. If I display the footprint on PcbNew using the footprint editor, the footprint is correct with the added pins. I’m at a loss here. Can anyone help? I’m running version 4.0.2-stable.

Terry

1 Like

Show us your footprint and schematic symbol.

By the way, I have no idea why your library has strange nick name: ‘.pretty’. You should carefully review your library table(s).

1 Like

When I create a footprint, they all show up in the .pretty folder ever since I started using KiCad. All of my schema components show up in MyLibrary.

The actual error occurs on pins 29-33.

Error: Component ‘MC1’ pad ‘30’ not found in footprint ‘.pretty:Teensy3_2’

Error: Component ‘MC1’ pad ‘31’ not found in footprint ‘.pretty:Teensy3_2’

Error: Component ‘MC1’ pad ‘29’ not found in footprint ‘.pretty:Teensy3_2’

Error: Component ‘MC1’ pad ‘32’ not found in footprint ‘.pretty:Teensy3_2’

Error: Component ‘MC1’ pad ‘33’ not found in footprint ‘.pretty:Teensy3_2’

I went ahead and put my .mod footprint files into a folder at “c:\KiCad Library\MyFootprints.pretty” . Under “Footprint Library Manager” I added the nickname of “MyFootprints”.

I could then use the Footprint Editor to view the footprints in the new location as shown next.

Then ran CvPcb to associate the new library footprint to each schema part.

Then I ran the Netlist program again on Pcbnew and got the same error.

Error: Component ‘MC1’ pad ‘30’ not found in footprint ‘.pretty:Teensy3_2’

Error: Component ‘MC1’ pad ‘31’ not found in footprint ‘.pretty:Teensy3_2’

Error: Component ‘MC1’ pad ‘29’ not found in footprint ‘.pretty:Teensy3_2’

Error: Component ‘MC1’ pad ‘32’ not found in footprint ‘.pretty:Teensy3_2’

Error: Component ‘MC1’ pad ‘33’ not found in footprint ‘.pretty:Teensy3_2’

Any clue to what I forgot to do?

Some pins have circles at the end, some crosses. Presumably something to do with signal type. I notice pins 26 and 30 have the same name but different termination type. Same for 1 & 31

And while you’re at it, don’t draw symbols like the real thing… sort and order the pins according to your circuitry logic (usually inputs left, outputs right) and get the power pins to the top/bottom (vsupply at top, ground at bottom).
The symbols in 99.5% of the case never resemble the real devices layout.

Also your footprint is missing the modules outline on F.Fab and the placement margin on F.CrtYd. Might also be a good idea to mark out pin #1 there.

I relabeled the pin names so there are no duplicates. Ran thru the previous process and got the same errors.

I don’t know what you mean by “modules outline” and “placement margin on F.Crt.Yd”.

If on the board, I select the footprint and press “E” key, it brings up the “Footprint Properties” menu. If I click on “footprint editor”, it brings up the Footprint editor and shows the previous footprint. However it shows “active library:MyFootprints”. If I click on the “Load footprint from library”, it brings up the correct footprint. However, the “Update footprint in current board” is grayed out.

As far as redrawing the module, all pins except for the power and ground, are input/output. What side of the module would they be?

I have taken the v3.1 lib and kicad_mod files from GitHub https://github.com/LuisDiazUgena/Teensy-3.1 and am getting the pad errors. I will have a look at this

edit missing pins 28 and up from the footprint.
I also don’t like to use a pin zero, it may well find interesting scripting bugs and problems with pcb maker software when they load the netlist

I thought you did draw the footprint. But if you just reuse it from somewhere I don’t think you will be inclined to add the missing courtyard and device outlines. Don’t worry about it.

Just open any AVR symbol in the standard library and check it out for inspiration.

Personally I’d probably put the Reset, DAC, RS232 and I2C ports to the right, the common I/O to the left (in some sane order) and Vsupply at the top and GND/AGND at the bottom. This makes it possible to draw schematics that kind of read from left top to right bottom and one can follow the flow of energy/information, but maybe that becomes less and less important in the digital age, who knows?

This one does some of it in the Teensy schematic symbol (decoupling real thing from symbol):

Another good example for an Arduino:

Remember that the symbol shall help you to understand/design the circuit. How it then looks like in the real world is absolutely unimportant.

1 Like

Thanks for the drawing references. Makes sense.

I didn’t like it starting with pin 0 either and so I renumbered them starting with pin 1.

That’s my philosophy also. The schematic isn’t simply the initial step in the process of creating and laying out a printed wiring board, it’s the way a designer communicates his intentions. It tells about the design’s purpose and function, not necessarily its physical construction or appearance. The assumed audience is other engineers and technicians.

This can get especially complicated in the world of microcontrollers, where most of the pins can perform more than one function - depending on either how the uC is configured when the firmware is loaded, or the values loaded into control registers as the firmware executes. Thus a particular pin might be an electrical (or logical) input in some applications, and an output in other applications. It is reasonable (but tedious) for a design engineer to create several different schematic symbols for the same microcontroller, each customized to a particular design application where the part is used.

Dale

1 Like

I definitely agree . . . but then a manufacturer throws a wrench into the machinery by creating an un-numbered connection labeled, for example, “Thermal Pad” or “Power Ground”. So far I’ve handled them by creating an additional pin number, one number higher than the last number shown on the Data Sheet.

Dale

1 Like

I’m still having the same problem. Does anyone have a clue yet as to what is causing this failure?

Terry

I thought @davidsrsb was taking care of it… hehe, seems to have been distracted there.
I’ll look into it tonight if no one is faster than that :stuck_out_tongue_winking_eye:

@tcoder
The link @davidsrsb was getting the footprint/symbol from is your source as well, or where did you get yours from?

It’s Eid today, like Christmas in the UK, so about 40 relatives around. Complete chaos!

1 Like

I was able to fix my problem by deleting the component causing the problem and re-running the net import on Pcbnew. What I found is that I had another component that should have been an 8 pin IC and CvPcb had it as a six pin IC. This was causing another error on the net import problem stating that two pins were not available, similar to the previous problem. I updated CvPcb with the 8 pin IC, saved it and ran the net import again on Pcbnew and it kept stating that it was trying to use the 6 pin IC.

Well, I had enough of that and so I deleted the 6 pin IC on the Pcbnew screen, ran the net import and it finally ran clean. Everything was there as it should be. I believe that this is a bug in the code and is repeatable.

Simply create a simple circuit with an 8 pin IC but associate it with a 6 pin IC instead on CvPcb. Run the net import on Pcbnew. You will see an error stating that two pins are missing on the IC. Then go back to CvPcb and reassociate the part with the correct 8 pin IC, save it and run the net import again. It should show that the two pins are still missing and it will refer it to the 6 pin IC.

Terry

I can no longer access this site from any of my browsers. I get the message: This site can’t be reached. Forum.kicad.info refused to connect.