Drill Holes the Wrong Size or in the Wrong Place? Excellon Fixes

Drill problems announce themselves in two distinct ways, and separating them is half the diagnosis. In the first, the holes are in the right places but the wrong sizes — every hit looks too large, or too small, or one tool’s holes are sensible while another’s are absurd. In the second, the sizes look plausible but the pattern sits in the wrong place — shifted as a block, shrunk into a corner, or correct at one end of the board and drifting at the other. Size errors and position errors have different causes inside the Excellon file, so this guide treats them separately: what the drill file actually declares, how zero suppression and format digits can quietly change what a number means, and how a unit mismatch hits sizes and positions differently. The baseline viewing workflow is view drill files (Excellon); keep it open alongside this guide. Current builds are on the download page.

What an Excellon file has to get right

An Excellon (NC drill) file is a list of tools, each with a diameter, and a list of coordinates where each tool drills. For Gerbv to draw it correctly over your copper layers, three declarations must match what the CAD tool intended: the units the numbers are written in, the coordinate format — how many digits sit before and after the implied decimal point — and the zero suppression mode, which says whether leading or trailing zeros may be omitted from coordinates. Get any one of the three wrong in the export, or mismatched between the program that wrote the file and the assumptions used to read it, and the same digits mean different holes. That is why drill bugs feel so strange: the file is not random, it is systematically misread, so the pattern looks almost right — just scaled, shifted, or with its sizes scrambled.

Size errors: diameters in the wrong unit

If every hole is uniformly too big or too small by the same proportion while positions are correct relative to the pads, suspect a unit mismatch applied to tool diameters. A tool defined as a fraction of an inch and read as millimetres, or the reverse, produces holes roughly twenty-five times — or a twenty-fifth — of the intended size, which at board scale reads as either giant craters covering their pads or pinpricks lost inside them. The subtler version affects only some tools: a library part whose holes were specified in a different unit from the rest contributes one implausible size to an otherwise sane tool list. Read the drill statistics Gerbv reports for the file — the list of tool sizes actually present — and compare it with the sizes your design intends. A size you do not recognise is a finding, not a curiosity: locate where that tool drills before the set goes anywhere.

Position errors, part 1: zero suppression

Excellon coordinates are commonly written without a decimal point, so the reader must reconstruct each number from its digits. Zero suppression is the convention that makes this work — and breaks it when writer and reader disagree. Under leading-zero suppression, trailing zeros are kept and leading zeros may be dropped; under trailing-zero suppression, the opposite. If a file written with one convention is interpreted with the other, coordinates collapse or stretch: holes pull toward one axis, cluster, or land at a fraction of their intended distance from the origin. The board-shaped pattern is still faintly recognisable, which is the clue — a truly corrupt file looks random, while a zero-suppression mismatch looks like the board passed through a distorting lens anchored at the origin. The fix is in the drill export: choose the suppression mode your workflow expects, state it consistently, and regenerate the drill file rather than trying to rescue the digits.

Position errors, part 2: format digits and origin

The coordinate format — for example, how many integer and decimal digits the numbers carry — must match between the Gerber export and the drill export, and between the drill file’s header and its contents. A digit mismatch produces the classic miniature board in the corner: every coordinate read ten or a hundred times too small, so the full hole pattern sits tiny near the origin. That presentation belongs to format, not to the board. Separately, a pattern that is the correct size and shape but shifted as a rigid block was exported against a different origin from the Gerber layers — the subject of Gerber layers misaligned, fixed by re-exporting Gerber and drill data in one pass against one origin. Distinguish the three: shrunk-to-corner means format digits, uniformly shifted means origin, distorted toward an axis means zero suppression. Each has its own one-line remedy at export, and none is remedied inside the viewer.

Stepwise fix

  1. Classify the error. Sizes wrong but positions right, pattern shifted as a block, pattern shrunk to a corner, or pattern distorted — note which one you have.
  2. Read the tool list. Compare the drill sizes Gerbv reports with your design intent, using measurement in Gerbv on a few representative holes against their pads.
  3. Check the drill export settings. In your CAD tool, confirm the drill units match the Gerber units, the coordinate format digits match the header, and the zero suppression mode is the one your flow expects.
  4. Re-export Gerber and drill together. One session, one origin, matching units and format — then reload both.
  5. Re-run the overlay. Every hit centred in its pad, corner to corner, with sensible tool sizes, before the set is sent.

Prevention

Lock the drill settings into the same saved preset as the Gerber settings so the two can never drift apart, and treat the drill statistics read — sizes present, hit counts plausible — as a required step alongside the visual overlay. Most Excellon pain is a settings divorce between two exports that were once married; a single preset keeps them together.

Frequently asked questions

Why are all my drill holes the right position but the wrong size?

That signature points at tool diameters interpreted in the wrong unit. Read the tool sizes Gerbv reports, compare them with the design, and re-export the drill file with units that match the Gerber export.

My whole drill pattern is tiny in one corner. What happened?

The coordinate format — the number of integer and decimal digits — was read differently from how it was written, shrinking every coordinate by a power of ten. Fix the format digits in the drill export and regenerate the file.

What does zero suppression do in an Excellon file?

It is the convention for which zeros may be omitted from coordinates written without a decimal point — leading or trailing. If the file was written with one mode and read with the other, holes distort toward an axis. Set one mode in the export and use it consistently.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *