How to use materials in CircuitData

There are several reasons why we want to state information about materials in a CircuitData exchange. Most commonly, it is to use it in a specification: this is the kind of material I want for my dielectric or solder mask, but there are certainly other scenarios: Sending a list of materials in stock or making sure that materials are compatible or equivalent.

In CircuitData, you list materials in the custom section of the OTTP element. After you have listed it here, you can reference it from other parts such as a specification or a capability. The listing in the custom section takes care of describing the material itself, whereas the reference to it can give more information on it, such as what colour you want the material in or if you would accept equivalent materials.

Lets start out with the description of the material itself:
Materials should be placed under “open_trade_transfer_package” -> “custom” -> “materials” -> “circuitdata”. This element needs to contain a “version” tag that holds the version of the CircuitData language that you are using. Then you simply add elements for each material and give it a name. Lets say that you wanted to list a dielectric. First you would give it a descriptive name, such as “FR4 High Tg”. Then you add the tags you want to add to that element, based on the documentation. As of writing this article, the possible choices are (please refer to the documentation for updated choices):

  • "style" - a choice of the style of the material. You can select between “dielectric”, “soldermask” or “stiffener”
  • "group" - a choice of the group the material is a part of. There is a long list of choices including e.g. “FR4”, “ceramic” and “LPISM”
  • “manufacturer” - the name of the manufacturer
  • "name" - the name of the material. If this is a non-generic material it should be as correct as possible, e.g. “FR408HR”
  • "flexible" - a true/false value indicating if the material is suitable for use in flexible boards
  • "ipc_sm_840_class" - if this is a soldermask, is it “T” or “H”
  • "ipc_slash_sheet" - choose from a list of potensial IPC 4101, 4103 or 4204 slash sheets - multiple are possible.
  • "tg_minimum" - the minimum Tg this material is or needs to be compliant with
  • "td_minimum" - the minimum Td this material is or needs to be compliant with
  • "additional" - A list of additional information on this material. Current choices are "halogen_free", "ul", "rw_en45545_2_2013", "rw_nf_f_16_101", "rw_uni_cei_11170_3" and "rw_nfpa_130"
  • "link" - a link to further information, such as a data sheet. Needs to be a URI string
  • "remark" - notes that are important to be aware of

In the case of our “FR4 High Tg” example, a JSON example would look like this:

{
  "open_trade_transfer_package": {
    "custom": {
      "materials": {
        "circuitdata": {
          "version": 0.8,
          "fr4_high_tg": {
            "style": "dielectric",
            "group": "FR4",
            "ipc_shash_sheet": ["4101/21"],
            "additional": ["ul"],
            "tg_minimum": 150
          }
        }
      }
    }
  }
}

Next thing you want to do is to reference it from e.g. your specifications. If we use the dielectric specified above as an example, you would do that like this:

{
  "open_trade_transfer_package": {
    "products": {
      "testproduct": {
        "printed_circuits_fabrication_data": {
          "version": 0.8,
          "dielectric": {
            "material": "fr4_high_tg"
          }
        }
      }
    }
  }
}

If we use the same example for a solder mask, it could look something like this:

{
  "open_trade_transfer_package": {
    "products": {
      "testproduct": {
        "printed_circuits_fabrication_data": {
          "version": 0.8,
          "soldermask": {
            "material": "standard_lpi",
            "color": "green",
            "finish": "glossy",
            "top": true,
            "bottom": true
          }
        }
      }
    },
    "custom": {
      "materials": {
        "circuitdata": {
          "version": 0.8,
          "standard_lpi": {
            "style": "soldermask",
            "group": "LPISM",
            "ipc_sm_840_class": "T"
          }
        }
      }
    }
  }
}
Reply Oldest first
  • Oldest first
  • Newest first
  • Active threads
  • Popular
reply to topic
Like Follow
  • 11 mths agoLast active
  • 312Views
  • 1 Following