Calculate PCB weight or surface area?

Hi all. I’m trying to find a way to calculate the surface area and/or weight of a PCB that takes into account drills/slots as well as non-rectangular edges.

Any tips or tricks? I’ve considered exporting a PNG and using an image processing tool, but I think this might be a built-in function…

There are a small few ways but, this is the most useful…
Regarding Weight… Depends on PCB Material/Density, Layers, Thickness… Thus, you need to calculate it (there are other tools but, will need to figure out Densties and perhaps average them…

I just had a look at the Board Statistics dialog BlackCoffee shows, but for me the Subtract holes from board area does not change the board area. Even on a PCB with nearly 1000 THT holes and a few 3.5mm mounting holes.

Is this a bug? Can anyone confirm?

Application: KiCad PCB Editor x86_64 on x86_64

Version: 8.0.1-8.0.1-0~ubuntu20.04.1, release build

	wxWidgets 3.2.2
	FreeType 2.10.1
	HarfBuzz 2.6.4
	FontConfig 2.13.1
	libcurl/7.68.0 OpenSSL/1.1.1f zlib/1.2.11 brotli/1.0.7 libidn2/2.2.0 libpsl/0.21.0 (+libidn2/2.2.0) libssh/0.9.3/openssl/zlib nghttp2/1.40.0 librtmp/2.3

Platform: Linux Mint 20.3, 64 bit, Little endian, wxGTK, X11, xfce, x11

Build Info:
	Date: Mar 14 2024 15:11:44
	wxWidgets: 3.2.1 (wchar_t,wx containers) GTK+ 3.24
	Boost: 1.71.0
	OCC: 7.6.3
	Curl: 7.68.0
	ngspice: 42
	Compiler: GCC 9.4.0 with C++ ABI 1013

Build settings:

v7.0.11, Confirmed - DIP/Pad holes not subtracted but Holes/cutouts in Edge-Cuts are subtracted.

Issue created:

1 Like

Ah! I didn’t know about the Board Statistics. Useful! I can estimate the density, so the area calculation is great. And it’ll be even better once the bug is fixed. :wink:


You can also export your pcb as STEP and import it in a mechanical sw i.e. FreeCAD or similar.
There you can get area and volume etc.

I’ve got what is probably a dumb question. Is this a case where you subtract the area of the hole on the top and bottom surface, but then add in the area of the cylindrical wall going through the board? Thus almost getting back to the same surface area?

I just assumed that the surface area was calculated for the front side plane. That’s what I’m looking for.

Also, this design will have castellated edges so I hope that when the bug is fixed it will account for that.

I don’t consider the question “dumb”, but it’s a common assumption that for thin things like a PCB only the area of the “front” side is used. If the backside was included, that would already double the surface area.

It is different in a mechanical CAD program. If you export a 3D STEP model of the PCB from KiCad, and then calculate surface area of the STEP model in that program, you can get very different results, depending on how that program calculates surface area. It probably depends on what kind of selection you make to calculate the surface area of.

Understood, thanks.

I was coming at this from the practice of drilling holes in motorcycle brake discs. If the radius of the drilled hole is equal to the thickness of the disc, the total surface area remains the same.

Sorry, I can now see this is irrelevant and a distraction!

Surface area removed is two round discs: 2 * pi / 4 * diameter squared.
Surface area added is a cylinder: pi * diameter * height

Those surface area’s are only equal to each other if the diameter of the hole is twice the thickness of the material.

That is exactly what I said!!

Is this because you have to have the last word, or something?


I said THE RADIUS!! You didn’t read it, did you.

Oops, my mistake. I apologize for my silly oversight.

We’re all cool. Just having a bit of fun. :grin:

It’s still of no relevance, of course.

I suppose @paulvdh has half an excuse. He writes about “starting to need to wear glasses”.

Give him five more years and it will be automatic: then NO excuse! :rofl:

By that time Alzheimer may start to appear.