What about tolerances?

Do you think it would be necessary to include tolerances for holes, stack-up and mechanical processing? For many high-end applications they could become really significant.

An other tolerance scheme could also be applied for Impedance values.

10replies Oldest first
  • Oldest first
  • Newest first
  • Active threads
  • Popular
  • Hi Athanasios!

    This sounds like something that should be added - a couple of questions:
    - Would it be a float/number and which UoM?
    - How would you treat this in a stackup? On each layer?

  • Let's break the issue to it's subcategories:

    - Tolerances for holes and mechanical processing are usually [+, +/-, -] X [mm, μm, in, mil] etc. There are also cases with asymmetrical tolerances here, for example +0.05/-0.1 mm. Another possibility is the use of ISO or similar tables, e.g. h7 for holes.

    - Impedance values come usually with [+, +/-, -] X [%, Ω] tolerances. 

    - Stack-Up thickness is also specified under a  [+, +/-, -] X [%, mm, μm, in, mil] scheme.

    - Dielectricum between two conductive layers usually comes with min and/or max dimensions. I think that this would be better specified there, when we define a form for it under specified Stack-Up

  • Hi  Athanasios / Andreas,

    Yes we must have tolerances to holes, mechanical measurements etc. In fact every measurement need a tolerance.

    UoM is always metric.

    Tolerances should be a float and we should have a default number if possible.

    Example: Plated hole diameter: +/- 0,1 mm . unplated hole diameter +/- 0,05 mm 

     IPC-6012D table 1-2 gives some default values. As you can see I have suggested a bit tighter on unplated holes.

    IPC suggests no requirements to vias, but we should add a possibility to require minimum drilled hole to avoid aspect ratios causing reliability issues in tough environments - ref IPC-6012DA.

  • As I see it, we have two ways of solving the tolerances part. If I understood this correct, we have to address the following issues:

    • More or less all elements could have tolerances stated
    • The tolerances are important as templates: e.g. "These are our default tolerances for plated holes".
    • The tolerances come with different unit of measures (e.g. mm and %, Ω)

    So my suggestion is that we add an element called "tolerances". Under this element you can place any other element, such as "holes". The elements under here would need to contain "uom", "pluss", "minus". E.g.:

    "tolerances": {
      "final_finish": {
        "finish": {
          "enig": {
            "uom": "mm",
            "pluss": 0.1,
            "minus": 0.1,

    Could that work?

    Under a stackup we won't have to do anything else than add a tolerance element directly.

  • Actually we could combine this with adding +/- tolerances in Um under the holes element, as these are a bit more specific per process. Agree?

    Like 1
  • Andreas Lydersen And maybe the same for dielectric?

    Like 1
  • Agree to both. Anyone disagree??

  • I also think it's an elegant solution that can be applied for all types of tolerances if it also allows percentages.

  • Athanasios Kallinis Good! Percentage is also an Unit of Measure, so then the "uom" would simply be "percentage". I'll integrate this in the documentation and schemas then.

  • I've moved this in under the "Ideas" section so that it can be planned and executed.

Like Follow
  • Status Completed
  • 4 yrs agoLast active
  • 10Replies
  • 671Views
  • 3 Following