Tolerance stack-up for small manufacturers: a practical walkthrough
A tolerance stack-up adds the dimensions and tolerances along a loop between two features to find the range of a gap. Worst case adds the tolerances directly and guarantees assembly; RSS takes the square root of the sum of squares and predicts the statistical range when parts are centered and independent. Build the loop, compute both, and tighten only the tolerances that dominate.
Guilherme Rodrigues ItinoseUpdated 6 min read
Key takeaways
- Draw the loop first: every dimension between the two features, with a direction.
- Worst case: gap tolerance = sum of tolerances. Guaranteed, often expensive.
- RSS: gap tolerance = √(sum of squares). Realistic for centered, independent processes at volume.
- The largest tolerances dominate; tighten those, not all of them.
- Small batches and unknown processes favor worst case.
A shaft that will not go into its housing, a cover that does not close, a gap that is sometimes 0.2 mm and sometimes negative. These are stack-up problems, and they are usually found on the shop floor. A stack-up on paper, before release, finds them earlier. This walkthrough uses one simple example from start to finish.
The example
A shaft carries a spacer, a bearing and a retaining ring inside a housing. We need the axial gap between the bearing and the ring’s groove wall to stay positive (the ring must fit) and below 0.5 mm (limited end float).
| # | Dimension | Nominal (mm) | Tolerance (mm) | Direction |
|---|---|---|---|---|
| A | Shaft shoulder to groove | 30.00 | ±0.05 | + |
| B | Spacer width | 10.00 | ±0.05 | − |
| C | Bearing width | 15.00 | ±0.12 | − |
| D | Ring thickness | 1.50 | ±0.05 | − |
The numbers are illustrative.
Step 1: Build the loop
Start at one side of the gap, walk through every dimension to the other side, and give each a sign: positive if it opens the gap, negative if it closes it.
Step 2: Nominal gap
Gap = A − B − C − D = 30.00 − 10.00 − 15.00 − 1.50 = 3.50 mm?
That is clearly not what we wanted: our target was 0 to 0.5 mm. The nominal check alone just caught a design error. Suppose the real design has A = 26.75 mm. Then:
Gap = 26.75 − 10.00 − 15.00 − 1.50 = 0.25 mm.
This is why the nominal line is worth writing down even when it seems obvious.
Step 3: Worst case
Worst-case tolerance of the gap is the sum of all tolerances:
0.05 + 0.05 + 0.12 + 0.05 = ±0.27 mm
So the gap ranges from 0.25 − 0.27 = −0.02 mm to 0.25 + 0.27 = 0.52 mm. Both limits fail: at the minimum the ring does not fit, at the maximum end float exceeds 0.5 mm.
Step 4: RSS (statistical)
RSS assumes the dimensions vary independently and are centered:
√(0.05² + 0.05² + 0.12² + 0.05²) = √(0.0025 + 0.0025 + 0.0144 + 0.0025) = √0.0219 ≈ ±0.148 mm
The statistical range is about 0.10 to 0.40 mm, inside the requirement. Whether you can rely on it depends on volume and process capability, not on the arithmetic.
Step 5: Fix the dominant tolerance
The bearing width (±0.12) contributes most. It is a purchased part, so its tolerance is fixed by the bearing standard and the manufacturer; choose the bearing tolerance class accordingly, or change the design so the bearing width leaves the loop (for example, locate the bearing from a shoulder on the other side).
If the bearing stays in the loop, options in order of cost:
- Use a selective shim or a wave spring to absorb variation.
- Tighten A (a machined dimension on your part) from ±0.05 to ±0.02.
- Use a ring available in several thicknesses and select at assembly.
With A at ±0.02, the worst case becomes 0.02 + 0.05 + 0.12 + 0.05 = ±0.24 mm, so the gap ranges from 0.01 to 0.49 mm. It now passes, but with almost no margin at either end, and it cost a tighter machined tolerance. The bearing still contributes half of the stack, which tells you the most robust fix is in the design (a shim, a spring or a different locating scheme), not in the machining.
Choosing the method
| Situation | Method |
|---|---|
| Prototypes, small batches, unknown suppliers | Worst case |
| Safety-critical fits | Worst case |
| High volume, capable processes, independent dimensions | RSS, or RSS with a correction factor |
| Many dimensions and 3D variation | Variation analysis software |
Setting up a stack-up spreadsheet
You do not need special software for one-dimensional stacks. A spreadsheet with these columns covers most cases:
| Column | Content |
|---|---|
| Item | Dimension reference on the drawing |
| Description | What the dimension is |
| Nominal | Nominal value |
| ± Tolerance | Half the total tolerance band, after converting unequal limits |
| Direction | +1 or −1 along the loop |
| Contribution | Nominal × direction |
| Squared tolerance | For the RSS column |
Sum the contributions for the nominal gap, sum the tolerances for worst case, and take the square root of the summed squares for RSS. Keep the sheet with the drawing revision it was made for.
Unequal tolerances
Real drawings often have unequal limits such as 10 +0.10 / −0.00. Convert them to a mean and an equal tolerance before stacking: 10.05 ±0.05. Using the nominal 10 with “±0.10” overstates the variation and shifts the result.
Including geometric tolerances
Geometric tolerances enter the loop when they move the feature along the direction of the stack. A position tolerance of Ø0.2 on a hole contributes ±0.1 to a stack in any direction across the hole axis. A perpendicularity tolerance on a shoulder contributes to an axial stack only over the length where the mating part bears against it. Bonus tolerance from maximum material condition can enlarge the zone; for worst-case analysis of clearance fits, include the bonus at the extreme that hurts.
When the stack fails
Before tightening tolerances, look at the design options. They are often cheaper:
- Remove a dimension from the loop by locating parts from the same datum.
- Add an adjustment: shims, slots, eccentric pins, set screws.
- Absorb variation with compliant parts: wave springs, O-rings, flexible couplings.
- Select at assembly: sort parts or choose ring thicknesses.
Tightening a machined tolerance is the last resort, because it raises the price of every part forever.
A habit worth building
Write the stack-up for every gap that must stay positive or bounded, before the drawing is released. Keep it with the drawing. When someone proposes “just tightening everything”, the stack-up shows which tolerance actually matters.
When to outsource this
- You have recurring assembly problems and no time to analyse them
- A new design needs a stack-up before tolerances are released
When not to
- The stack involves complex 3D variation and many GD&T controls; use dedicated variation analysis software
FAQ
When is RSS safe to use?
When you build enough parts for statistics to apply, the processes are capable and centered, and the dimensions vary independently. For a few prototypes from an unknown shop, use worst case.
Do geometric tolerances enter a stack-up?
Yes. Position, profile and runout tolerances contribute to the loop, usually as ± half the tolerance zone, and bonus tolerance from material condition modifiers must be handled with care.
Send us one drawing
We return a review with issues found, suggested fixes and a fixed-price scope.