How does Smart Match work?

Hey there,

I’m trying to prepare a board for assembly and I wanted to try the Smart Match feature for resistors, but I’m not sure if it’s working as intended. I’m uploading a KiCad PCB via the website, which works fine. The BOM tool seems to find most parts, including basic resistor values like “10k”. Where it falls apart is when I add tolerances, e.g. “6.2k 0.1%”. Not a single one can be found and I have to search for them manually (I have around 15 different values).

Am I missing something? How can I make this work? Am I required to add additional information like footprint and power rating?

Hey @Timo2,

for high-precision components like your 6.2k 0.1% resistors, Smart Match won’t get you there. High-precision components aren’t pooled generically.

Instead, look up the exact MPN at a supported distributor (such as Mouser, DigiKey, or Farnell) and put it into the MPN property field of the symbol in KiCad. When you upload your KiCad PCB, the system will look for a 100% exact MPN match and automatically assign the correct part. That gets you the exact tolerance your designed for, without manually searching in the web tool.

How Smart Match works is in general covered in this guide. For your case:

  • Smart Match only assigns standard passives automatically if the value is in the E48 series. Because 6.2k is not in the E48 series, the pipeline cannot process it.
  • Yes, the package size (e.g., 0402, 0603, 0805) has to be in your Smart Match string. Without this parameter, the system cannot know which physical component dimensions are meant to fit the pads on your board. Power rating and tolerance parameters are optional.
  • Smart Match looks for parameters in specific schematic properties (or manufacturer part numbers) in a property field named exactly mpn, MPN, Mpn, or AISLER_MPN.

Thank you for the swift response. I do have a couple of followup questions:

  1. Is there another system at play matching values other than “Smart Match”? Because simple values like “6.8” seems to be matched just fine (despite it being not E48 either), including figuring out the footprint from the KiCad PCB file.
  2. Why is the footprint required when it seems to be matched just fine for ordinary resistors?
  3. The guide explicitly states E48, but I assumed E24 to also be fine (I read it more like up to E48). What is the reason the other E-Series (especially E24) aren’t supported?

Hey @Timo2,
Thank you for your follow up questions. I was indeed able to identify an inconsistency in our guide, which will be adjusted. What this means in your case:

  1. Our Smart Match currently supports resistance values from all E series up to E96 (E24, E48 and E96).
  2. The the package size is required to be in your Smart Match string, when our system was not able to automatically identify it from your design.
  3. E24 is supported with resistance values.