Working out PCB size from Gerber files

Hi all,
Each time I design a PCB, I upload the Gerber files to Seeed and it tells me the dimensions of the boards. I tend not to work on a size and make it fit the board, but make it then find out what size it is. Sadly Seeed are no longer telling you the PCB size after you upload your files. How does everybody in here calculate the size of your PCB? I know I could set the measurement to 1mm and count, but not sure if this is the best way.
So, how do all of you calculate the size of your PCBs so you know what to tell to company that will produce them for you?

Thanks in advance
Alan

If you just need the size, put the cursor at the top left outermost point of your layout (plus some safety of at least 0.5mm) then hit [Space] and go to the bottom right outermost point plus safety… read the relative distances and you got your board size.
Drawing an outline works the same way.
I suggest a grid of 1mm or 0.5mm (or whatever that equals in inch) for drawing/measuring.

PS:
Here is another way to skin this cat though, working into the opposite direction … the fabs I use do charge 5x5 cm and multiples of those in each direction.
Most economical are 5x5 cm and 10x10 cm, so I try to collect a couple of layouts/projects and make them fit into that (saves money and allows to invest in standardized tools to make my work easier).

I did setup my tools for the 10x10 cm version for the time being…
I made myself a jig for the paste stencils that fits 2x 10x10 cm pcbs (front & back at the same time) that I can adjust a little sideways to make fit (I order one stencil with back/front on it).
Then I have a couple of population stands that also fit the 10x10 boards and can go into the oven with them.

The board layout (or several of them) then only has to fit into this footprint (complete with alignment holes for 2mm pins that will go through to the stencil):
z_PCB_100x100.kicad_mod (2.7 KB)

My next project involves a board that is bigger than that, so I have to retool a little.
Will then be 10x16 cm.

If interested I can take some pics of the jig and holders later tomorrow.

1 Like

Not sure if this would help, but here’s a little script I’ve been using for years as part of my “prepare kicad files and gerber files for release” script. The first argument to the script is the filename of board edges gerber file. It tracks the max and min of the x and y coordinates found in the file. It’s probably not bulletproof but has worked very well for all the boards I’ve designed in kicad.


#!/usr/bin/env python
# Gerber query script
# Usage: ./gerber_query.py board_edges.gbr
# Written by Matthew Beckler for Wayne and Layne, LLC
# Based on a script from @laen
# Released into the Public Domain. Have fun

def main():
    import sys
    if len(sys.argv) < 2:
        print "Usage: %s gerberfile" % sys.argv[0]
        sys.exit()

    import re
    filename = sys.argv[1]
    xmin = None
    xmax = None
    ymin = None
    ymax = None
    for line in file(filename):
        results = re.search("^X([\d-]+)Y([\d-]+)", line.strip())
        if results:
            x = int(results.group(1))
            y = int(results.group(2))
            xmin = min(xmin, x) if xmin else x
            xmax = max(xmax, x) if xmax else x
            ymin = min(ymin, y) if ymin else y
            ymax = max(ymax, y) if ymax else y

    print "Board dimensions:"
    w = xmax - xmin
    h = ymax - ymin
    w_in = w / 10000.0
    h_in = h / 10000.0
    w_mm = w_in * 25.4
    h_mm = h_in * 25.4
    print "  (%d, %d) original units" % (w, h)
    print "  (%.4f, %.4f) inches" % (w_in, h_in)
    print "  (%.4f, %.4f) mm" % (w_mm, h_mm)


if __name__ == "__main__":
    main()
4 Likes

Thanks for the info Joan, I will give that a try tonight once I am home.
Also thank you mbeckler for the info. I should have said I am running Windows.

I try to work inside 5x5 but sometimes they are 5x6 which is annoying,
This is my last board that turned up today, it is a prototype board for an Arduino Nano (ATMEGA328P-AU) chip in a DIN test enclosure. The idea is to bootload and test the chip before it is soldered into a real PCB and used for whatever. I have only produced about 7 PCBs since I started 8 months ago so still learning.


@Joan_Sparky Thank you so much. I tried doing the Space Bar as you said and it worked a treat. I drew a line (in ‘Cmts.User’ around my PCB to get a box first as it is not straight).
Worked a treat, thank you for your help.