Determining Total Number of SMD Pads in Design

Hi all,

Typically when I submit a request for quote to have a board fabricated the vendor needs to know how many surface mount pads are in the design (as well as many other things).

For the life of me, I cannot find a simple way to do this in Kicad. Anybody have any tricks they want to share?


De-select anything you have selected in PCBnew (hit ESC), then look in the bottom left corner on the status bar. It lists number of Pads, Vias, Tracks, etc. on the board.

As a follow up for someone else: Does the Via count cover all drills in the board? I assume it does.


Placing a “MountingHole_2.5mm” does not increase the “Vias” number. The “Pads” number increases though.

1 Like

You are AWESOME!

I have used this software for years, and never noticed that!


Interesting, per @Jon_Varteresian’s original question, board houses will sometimes ask for the number of pads and drills, especially for web-based auto-quotes. Is there a way to report the total number of drills?

…And I just found this after some poking around.

When generating the drill files (Files->Fabrication Outputs->Drill File) it shows this in the dialog window:


Obviously holes have a cost, time and bit wear.
Why smd pads have to be counted for a pcb price quote puzzles me, unless you are getting a paste stencil made

Maybe it’s an approximation of PCB density, risk, and e-test time.

Is e-test just net to net short testing or checking each pad is connected to its net?

I don’t know much more than what can be read on the web.
It’s possible that they ask the pad count for price quotes just out of habit, even if your PCB will not go through electrical testing. I have no idea.

1 Like

The 100% test for interruptions would take time directly related to the number of pads

I have a couple of .zip files I used to plot SVG. I want to count the number of bottom and top SMT pads and number of through holes in a given Gerber.
Is there an API I can use to count SMT pads and number of through holes programmatically.

Version 5.1 has a Python API which isn’t well documented, but you can start by opening Tools -> Scripting console, importing pcbnew and opening help(pcbnew).

In v5.99 (the unstable development version leading to v6) we have Inspect -> Board Statistics.