Gerber files definition

Hi,
I am generating the gerber files for my design.
I need to know which generated file in the stack will have the information of PCB thickness, plate up, cut dimension. My CM needs this info.
Thanks

I do not know what a “plate up” is, but most of the other things are embedded in the gerber files themselves if you have the X2 attributes turned on.

The thicknesses of the dielectrics and the copper are specified in the gerber job file, and this has been so for several years.

Unfortunately PCB manufacturers are very slow in adapting standards. You could point them to the Ucamco website (They maintain the Gerber standard and have it freely available on their website). One of the best things you can do is pester your PCB manufacturer until they adapt the standards, or just send them a copy of the Gerber X2 standard from the Ucamco website.

PCB thickness information is in general never taken from Gerber data (despite X2) – it is communicated through a separate fabrication drawing (in production applications) or by clicking a button on an order website (for the “just upload your gerbers and go” prototyping companies)

1 Like

Thanks. How can I generate that “fabrication drawing” you mentioned in Kicad? Does it include the information of PCB dielectric thickness, and layers metal thickness and cut dimensions?

How can I turn on X2 attribute? I have checked the “Use extended X2 format (recommended)” in the window to plot gerbers.
I think by plate up they mean the thickness of metal layers or ounce copper on each layer.
Which of the generated gerber files is “gerber job file” you mentioned. what is the file extension?

You can create a drawing within KiCad either manually or using the Place → Add Stackup Table feature. That will show the layer thicknesses. You can then plot this drawing to PDF or something. But again, this is only relevant if you are working with a fab that expects drawings. If you are using JLCPCB or similar fab for example, you skip this step and just click the appropriate thickness option on their website. They don’t look at the X2 attributes.

I don’t know what these ones mean.

That setting is the one Paul means. But almost no fabricators pay attention to it, as I said.

I am looking at the gerber file with extension .gbrjob which I guess is the gerber job file you are refering to. It has the BoardThickness information, LayerNumber. But I can not find the copper layers thickness information in this file. Can you advise.

The copper layer thickness is at the bottom of the file in the “MaterialStackup” section.

  "MaterialStackup": [
    {
      "Type": "Legend",
      "Name": "Top Silk Screen"
    },
    {
      "Type": "SolderPaste",
      "Name": "Top Solder Paste"
    },
    {
      "Type": "SolderMask",
      "Color": "Green",
      "Thickness": 0.01,
      "Name": "Top Solder Mask"
    },
    {
      "Type": "Copper",
      "Thickness": 0.035,
      "Name": "F.Cu"
    },
    {

But I do want to repeat here that it’s unusual for PCB manufacturers to pay attention to this information, and the only thing mere users can do is pester them until they update their software to read this information.

2 Likes

In .gbrjob file section MaterialStackup I dont see the information for thickness.

“MaterialStackup”: [
{
“Type”: “Legend”,
“Name”: “Top Silk Screen”
},
{
“Type”: “SolderPaste”,
“Name”: “Top Solder Paste”
},
{
“Type”: “SolderMask”,
“Name”: “Top Solder Mask”
},
{
“Type”: “Copper”,
“Name”: “F.Cu”
},
{
“Type”: “Dielectric”,
“Material”: “FR4”,
“Name”: “F.Cu/GND.Cu”,
“Notes”: “Type: dielectric layer 1 (from F.Cu to GND.Cu)”
},
{
“Type”: “Copper”,
“Name”: “GND.Cu”
},
{
“Type”: “Dielectric”,
“Material”: “FR4”,
“Name”: “GND.Cu/PWR.Cu”,
“Notes”: “Type: dielectric layer 2 (from GND.Cu to PWR.Cu)”
},
{
“Type”: “Copper”,
“Name”: “PWR.Cu”
},
{
“Type”: “Dielectric”,
“Material”: “FR4”,
“Name”: “PWR.Cu/B.Cu”,
“Notes”: “Type: dielectric layer 3 (from PWR.Cu to B.Cu)”
},
{
“Type”: “Copper”,
“Name”: “B.Cu”
},
{
“Type”: “SolderMask”,
“Name”: “Bottom Solder Mask”
},
{
“Type”: “SolderPaste”,
“Name”: “Bottom Solder Paste”
},
{
“Type”: “Legend”,
“Name”: “Bottom Silk Screen”
}

uhhhhhh… How do I export fabrication drawing and the board stack up layers?

That is about the limit of what I know about this topic.
I have been searching a bit though the menu’s but could not find anything useful.
What KiCad version are you using? The file below was made with V6.0.9, but I’ve also seen it in earlier V6.0.x versions.

{
  "Header": {
    "GenerationSoftware": {
      "Vendor": "KiCad",
      "Application": "Pcbnew",
      "Version": "6.0.9-8da3e8f707~117~ubuntu20.04.1"
    },
    "CreationDate": "2022-12-01T17:54:07+01:00"
  },
  "GeneralSpecs": {
    "ProjectId": {
      "Name": "LED_PT4115",
      "GUID": "4c45445f-5054-4343-9131-352e6b696361",
      "Revision": "rev?"
    },
    "Size": {
      "X": 45.1,
      "Y": 45.1
    },
    "LayerNumber": 2,
    "BoardThickness": 1.6,
    "Finish": "None"
  },
  "DesignRules": [
    {
      "Layers": "Outer",
      "PadToPad": 0.2,
      "PadToTrack": 0.2,
      "TrackToTrack": 0.2,
      "MinLineWidth": 0.25,
      "TrackToRegion": 0.2,
      "RegionToRegion": 0.2
    }
  ],
  "FilesAttributes": [
    {
      "Path": "LED_PT4115-F_Cu.gbr",
      "FileFunction": "Copper,L1,Top",
      "FilePolarity": "Positive"
    },
    {
      "Path": "LED_PT4115-B_Cu.gbr",
      "FileFunction": "Copper,L2,Bot",
      "FilePolarity": "Positive"
    },
    {
      "Path": "LED_PT4115-F_Paste.gbr",
      "FileFunction": "SolderPaste,Top",
      "FilePolarity": "Positive"
    },
    {
      "Path": "LED_PT4115-B_Paste.gbr",
      "FileFunction": "SolderPaste,Bot",
      "FilePolarity": "Positive"
    },
    {
      "Path": "LED_PT4115-F_Silkscreen.gbr",
      "FileFunction": "Legend,Top",
      "FilePolarity": "Positive"
    },
    {
      "Path": "LED_PT4115-B_Silkscreen.gbr",
      "FileFunction": "Legend,Bot",
      "FilePolarity": "Positive"
    },
    {
      "Path": "LED_PT4115-F_Mask.gbr",
      "FileFunction": "SolderMask,Top",
      "FilePolarity": "Negative"
    },
    {
      "Path": "LED_PT4115-B_Mask.gbr",
      "FileFunction": "SolderMask,Bot",
      "FilePolarity": "Negative"
    },
    {
      "Path": "LED_PT4115-Edge_Cuts.gbr",
      "FileFunction": "Profile",
      "FilePolarity": "Positive"
    }
  ],
  "MaterialStackup": [
    {
      "Type": "Legend",
      "Name": "Top Silk Screen"
    },
    {
      "Type": "SolderPaste",
      "Name": "Top Solder Paste"
    },
    {
      "Type": "SolderMask",
      "Color": "Green",
      "Thickness": 0.01,
      "Name": "Top Solder Mask"
    },
    {
      "Type": "Copper",
      "Thickness": 0.035,
      "Name": "F.Cu"
    },
    {
      "Type": "Dielectric",
      "Thickness": 1.51,
      "Material": "FR4",
      "Name": "F.Cu/B.Cu",
      "Notes": "Type: dielectric layer 1 (from F.Cu to B.Cu)"
    },
    {
      "Type": "Copper",
      "Thickness": 0.035,
      "Name": "B.Cu"
    },
    {
      "Type": "SolderMask",
      "Color": "Green",
      "Thickness": 0.01,
      "Name": "Bottom Solder Mask"
    },
    {
      "Type": "SolderPaste",
      "Name": "Bottom Solder Paste"
    },
    {
      "Type": "Legend",
      "Name": "Bottom Silk Screen"
    }
  ]
}

1 Like

I have version 6.0.2

Is there a specific reason for using such an old KiCad Version?

A lot of development is being done in KiCad, your version is over half a year old and there have been hundreds of bug fixes after that. You can find a list of the changes for each version on: Blog | KiCad EDA

But apart from that, bumps in the third number are just bug fixes and it does not explain why you do not have that info in the gerber job file.

1 Like

What is the latest version? Can you share the link for download and install, thanks.

I am about 97% sure that “plate up” would refer to plating that is applied after drilling (not sure if it is done before or after sticking multilayers together.)

Think about it: The pcb stock has copper on it before your artwork does anything. But the plated through holes are “plated through” after drilling. I think that is typically 1/2 ounce of copper but can be more. That plating process also increases the amount of plating on the copper tracks and zones.

I worked with kicad for many months and projects before I realized there were settings for board stackup. I found out all about it when I did my first 3d render and the laminate looked to be about a quarter inch thick. :slight_smile: I generally am happy with a vendor’s default 4-layer stackup and use that to size traces when I need to ballpark an impedance. I have at times specified a particular stackup to the fab when it needed to be more precise. But I never expected any stackup data to be in the data files, as I have always just sent basic 274x gerber/excellon files.

I now populate the kicad stackup settings for each board, not just for nice 3d renders, but also for documenting the board more completely, even if not transferred to fab in a file. I guess I will worry about X2 attributes when I work with a fab that uses it.

@craftyjon, that “Place → Add Stackup Table” option is very nice for adding to the fab layer or such. Would be nice if it could be sized a bit smaller, and would also be nice to add the copper finish, to store/display Tg, ROHS-or-not, maybe a user note. I guess the table would then expand to be board stats, and could have a title like “4-layer, Blue, ENIG, FR4, Non-Rohs, 101x130mm” followed by stackup table Or, maybe that simply gets added to the title block of the pcb… Just ruminating – I do love kicad with the 6.0.9 feature set I have been learning this year which has helped me to create some very nice boards.

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