Bump Coplanarity


Relative to What?

BY KEITH DOYLE, Ph.D., Lloyd Doyle, Inc.

One of the most important measurements when designing an automated optical inspection (AOI) of solder bumps is bump coplanarity. Remarkably, the appropriate JEDEC specification (JESD22-B108A) defines bump coplanarity in a way that could give misleading results.

In 3D bump measurement, whether by triangulation, interferometry, etc., results are initially referenced to a plane defined by the measurement system. The measurement plane is considered to lie a little below the substrate, so that all height values are positive. When presenting a sample to the inspection system, inevitably, small fluctuations in its position and tilt will exist. To obtain meaningful and repeatable coplanarity values, distances from the measurement plane must be transformed to a plane that is defined by the positions of the bump-tops themselves. The specification provides the seating-plane method and the regression-plane method to define such a plane.

Seating Plane Method

The preferred method is to define a seating plane. This is a plane that touches three high bump-tops, which form a triangle encompassing the center of gravity. When a device is in contact with a flat surface, the triangle of bumps defines their relative positions.

The specification describes the algorithm to determine the seating plane. Sort the Z-coordinates of the bump apexes into descending order. Determine whether the first three values form a triangle encompassing the center of gravity. If not, try alternative sets of values in descending order until a set is found that encompasses the center of gravity.

Unfortunately, this does not always work. Consider a simple 4 × 4 BGA package, as shown in Figure 1. The heights of the balls are shown relative to the reference plane of the measurement system. Applying the JEDEC algorithm, the three apexes farthest from this are identified as A3, D3, and B2. These form a triangle encompassing the center of gravity, and by this definition, therefore, can be immediately identified as the seating plane.

Now look at the situation as seen from the side looking toward row A. This plane intersects the bumps in column one. It cannot realistically represent the location of a flat surface lying in contact with three defining bumps if it actually passes through other bumps. The correct solution is the plane defined by bumps A3, D3, and B1. It is clear from this that a better definition describing what actually happens when an array of bumps rests on a flat surface (or vice versa) is needed.

Figure 1. Bump height map with seating plane per JEDEC specification.
Click here to enlarge image

There is a uniquely defined plane that contains a set of three apexes, and the triangle formed by them encompasses the center of gravity. Most importantly, it does not intersect any ball, though it may be tangential to more than the three that define it. If the center of gravity lies on an edge of the defining triangle, there are two possible planes, and the one giving the worst-case result should be used.

The algorithm for determining this “true” seating plane is more complex than that defined in JESD22-B108A. First, determine the distance of each apex from the measurement plane. This provides a set of points with known (X,Y,Z) values. The first point of the defining triangle is the point having the greatest distance from the measurement plane. Call this point A. For each point P, determine the angle between the measurement plane and the line AP. Call the point having the smallest angle B. For each point P, draw a perpendicular to the line AB, meeting at point Q. Determine the angle between QP and the measurement plane. Call the point having the smallest angle C. We have now found a set of three points, ABC, defining a plane that is tangential to, but does not cut through, the array of bumps.

Figure 2. True seating plane.
Click here to enlarge image

Next, determine whether the triangle ABC encompasses the center of gravity. If so, stop. If the center of gravity is outside the triangle ABC, discard one of the three points. This point should be chosen so that the remaining line has the discarded point on one side, and the center of gravity on the other. The idea is to “rock” the chosen plane in the direction of the center of gravity.

Rename the remaining points A and B. Find a new point C, using the same method, but consider only those points on the same side of AB as the center of gravity. These steps should be repeated until a triangle encompassing the center of gravity is found. ABC now defines the seating plane. Lastly, determine the distance of each apex from the seating plane. The coplanarity is the greatest distance of any apex from the seating plane.

This algorithm is guaranteed to converge on the correct solution (Figure 2). If the center of gravity lies on a side of ABC, the resulting two possible solutions should be compared, and the “worst case” selected. If the center of gravity lies on a corner of ABC, there may be more than two solutions, and these should be compared in the same way.

Regression Plane Method

The specification also describes an alternative “regression plane method” that may be used. First, determine the best-fit plane through the apexes of all the terminals using the method of least squares. The regression plane will then be offset in a parallel manner to the apex of the terminal that exhibits the greatest perpendicular distance from the substrate.

The specification refers to “distance from the substrate.” For purposes of coplanarity measurement, this is the position of the bump apexes relative to one another, and not their distance from the substrate. The offset regression plane should be tangential to ball A2, although this has a smaller distance from the substrate than ball A1.

Figure 3. True offset regression plane.
Click here to enlarge image

With this in mind, the regression plane method’s definition can be reformulated. Determine the best-fit plane through the apexes of all terminals using the method of least squares. Determine the signed distance of each apex from the best-fit plane. The distance will be considered positive for apexes above the best-fit plane, and negative for those below it. Find the greatest positive distance (max) and the greatest negative distance (min). The offset regression plane is the plane parallel to the best-fit plane passing through the apex having the greatest positive signed distance from the best-fit plane (Figure 3). The coplanarity is the distance from the offset regression plane to the apex farthest away from it. This is simply: (max-min).


The methods of defining a plane given by the JEDEC specification could provide an inappropriate measure of coplanarity. Rather than relying solely on one of these methods, using these revised steps for determining a plane will provide a more accurate result.

Keith Doyle, technical director and co-founder, may be contacted at Lloyd Doyle Ltd., Molesey Rd., Walton on Thames, Surrey, KT12 3PI, England; +44 1932 245000; E-mail: [email protected].