Arduino: the Uno, Mega and Nano footprints

10 min readUpdated Jun 2026

You design a base for your Arduino, mark four holes that look like they land on a tidy grid, print it, and when you go to drive the screws in, you find that three go home and the fourth sits a millimetre off. It isn't your printer. It's the board: the Uno footprint inherits decisions made more than fifteen years ago, and no pretty grid respects them. Mounting an Arduino on a printed part isn't hard, but it demands something you can't eyeball — reproducing the real pattern, hole by hole, rather than the one you wish it had. And since the hole measures 3.2 mm and FDM brings its own bias, you have to translate that dimension into a concrete clearance before the screw will go in.

Three boards, three footprints

The three most common boards don't share a single pattern: they share a family of decisions. The Uno and the Mega use the same shield format and the same set of mounting holes — the Mega stretches the board and adds extra holes in the enlarged area. The Nano is a different beast: a narrow, elongated board meant for breadboards, so narrow that it is held by its own 0.1-inch pins rather than by screws.

Reference footprints — Arduino Uno R3, Mega 2560 R3 and Nano (measure your actual board before printing)
Board Approx. outline Mounting holes Hole Ø Pin pitch
Uno R3 68.6 × 53.4 mm 4, in irregular positions ~3.2 mm (M3) 2.54 mm (0.1")
Mega 2560 101.5 × 53.3 mm the Uno's + extras at the end ~3.2 mm (M3) 2.54 mm (0.1")
Nano ~18 × 45 mm none you can rely on 2.54 mm (0.1")

The 3.2 mm hole is no accident: it's the standard clearance hole for an M3, with the two tenths of slack over the 3.0 mm nominal that the screw needs to pass through without binding. That's your clue that the mount is designed for M3, and that everything you print beneath it — standoffs, bosses, inserts — belongs to the world of metric fasteners described in Captive nuts and clearance holes.

The Uno's irregular pattern

This is the well-known snag. The Uno's four mounting holes do not land on the 0.1-inch grid that governs the rest of the board: their positions are irregular, a historical accident that was locked in by an early revision and could no longer be moved without breaking compatibility with every base and case that already existed. So it stayed. The Mega, which inherits the footprint so that Uno shields fit it, inherits those positions too.

It's of a piece with the Uno's other famous quirk — this one well documented: the 0.16" gap between the two strips of digital pins, instead of a clean 0.1" pitch, which is why a shield won't seat on a standard breadboard. It was frozen for the same reason — not breaking what already worked — and there it remains.

holes miss the gridwide gap
The Uno R3 footprint to scale (68.6 × 53.4 mm) with its four mounting holes, in blue, in their real positions. They do not form a rectangle: the two left holes are offset in X and none of the spacings is round, so they miss the 2.54 mm grid behind them. At the top, the wide gap between the two digital pin strips.

The practical upshot is blunt and simple: any mount you draw assuming four holes on a clean grid will fail at one of them. And not by a little. By more than a millimetre, which on an M3 screw is the difference between going in and not going in.

Don't try to correct it. The temptation to "round" a hole onto the grid so the model looks neat is exactly the mistake that leaves the base useless. Reproduce the true positions one by one, exactly as they are — irregularities included — even if the result looks crooked to you. Don't invent coordinates: take them from the board's official dimension drawing or trace them off the physical board. The board rules; your sense of symmetry does not.

From the 3.2 mm hole to FDM clearance

The 3.2 mm dimension is the board's copper, not your printed part. The moment you take it to FDM, the process bias comes into play, and it always pulls the same way: holes come out small and posts come out wide. This shifts the dimension depending on what you print underneath.

If you print a standoff with a through hole for the M3 screw to pass through, that hole will come out narrow: modelling it at 3.2 mm leaves you a bore of 3.0 or less, and the M3 scrapes or won't pass. Open it up to 3.4–3.6 mm to restore the clearance. Better still, embed a heat-set insert or capture a nut and let the metal take the thread. A hand-tapped printed hole survives only a few assembly cycles before it strips; an insert survives hundreds.

If instead you print a locating pin to enter the board's 3.2 mm hole and centre it, the pin will come out wide: modelling it at 3.2 mm gives a real diameter of around 3.4 that won't go in, or splits the edge of the hole. Think per side, not per diameter. The pin swells by roughly 0.1 mm per side, so first subtract that swell and then subtract the fit clearance you want — another 0.1 mm per side so it goes in by hand without forcing. That's about two tenths per side over nominal in total: model the pin at around 2.8 mm diameter.

The Arduino's 3.2 mm hole, translated into an FDM dimension — PLA, 0.4 mm nozzle
What you print Function Dimension to model Why
Through hole in a standoff Passes the M3 3.4–3.6 mm the hole shrinks; open it to recover the pass-through
Boss for an M3 heat-set insert Takes a metal thread per insert (~4.0–4.2 mm) the insert sets the real dimension; check its sheet
Locating pin in the board's hole Centres without a screw Ø ~2.8 mm subtract the swell (~0.1/side) + the fit clearance (~0.1/side)

These values are a starting point for PLA at normal quality; your machine will give you its own. The full reasoning — why you think per side and not per diameter, and how much to open up depending on the material — is in Real printed clearances. The exact boss dimension for an insert depends on the insert model you use: don't invent it, read it off the datasheet.

Standoffs: orientation and torque

A standoff doesn't just hold the board in place: it takes load. When you tighten the screw, the standoff works in compression along its axis, and if it carries a heat-set insert, installing the insert and the pull of the screw both load the walls. Here the print orientation decides whether it holds.

Print the standoffs upright, with the axis perpendicular to the bed. That way the hole comes out round and to size — a hole printed lying down comes out oval and collapsed at the top, useless for housing an insert — and the body stands up well to the compression of tightening. The price is that the layer lines end up perpendicular to the axis, and that opens two distinct failure modes, both governed by layer adhesion, which is FDM's weak point.

The first is axial: as you tighten, the screw pulls the insert upward and loads the bond between layers directly in tension. The second — and the one that breaks upright-printed standoffs most often — appears when you install the heat-set insert: the hot brass presses in and pushes the material outward, generating a radial hoop stress that splits the wall along a vertical layer line — a lengthwise crack. A standoff rarely fails through solid material; it fails by delamination, following a layer seam.

The defence is twofold: don't overdo the torque, and thicken the walls. Three or four perimeters around the insert hole spread the hoop stress and stop the first failing layer seam from taking the whole part with it. Watch out too for elephant's foot at the base of the standoff: the first few layers come out wider, and that lip can stop the standoff from seating flat against the board or throw off the height across the four. A chamfer at the base, or the slicer's elephant's-foot compensation, corrects it. How to size the boss — minimum outer diameter, insert depth, reinforcement — is exactly what Designing for heat-set inserts covers.

Enclosures: cutouts for USB, power and pins

An enclosure that fits the holes but traps the connectors is worthless. The Arduino doesn't live in isolation: it has to be wired up, and those connectors poke out along the edges at heights that depend on the board. On the Uno you have the USB type B — bulky, tall — and the 5.5 × 2.1 mm power jack on the same side. On the Mega, the same two connectors in equivalent positions, but on a longer board. On the classic Nano, a Mini-USB at one end and no jack; watch out, because only the newer variants use a different connector — the Nano Every carries micro-USB and the Nano ESP32 carries USB-C — so check which your Nano is before you draw the cutout.

Leave generous cutouts for those connectors, not tight ones: the USB cable needs room for its shell, not just for the connector. And remember the pin headers: if you're going to plug in wires or a shield, the enclosure can't cover the top row of pins. On the Nano, moreover, the pins usually run underneath, so the board needs clearance from the wall or a recess to keep the pins clear.

Heights vary most between boards and revisions, so measure them on your own unit. There's no universal "USB height above the board" that holds for Uno, Mega and clones all at once; each mounts its connector in its own way.

With the footprint faithfully reproduced, the holes translated into FDM dimensions and the connectors cleared, your mount fits first time. If the next thing on your bench is a board from another family, the Raspberry and its HAT have their own rules — M2.5 mounting with ~2.75 mm holes and a 58 × 49 mm spacing, very different from the Arduino — and that's laid out in Raspberry Pi: the mounting-hole pattern and the HAT.