The Arduino Mega uses the ATMega 1280 chip to get more memory and far more analog & digital & PWM I/O pins, but remains more-or-less header-pin-compatible with the older Duemilanove and Diecimila boards (notes on the header coordinates for those boards is there).
Herewith, some useful coordinates for the Mega board in (X,Y) format using the default 0.001 grid: 1 unit = 0.001 inch (a.k.a 1 mil). Values are taken directly from the Eagle PCB layout.
The board outline is bounded by (2100,4000) on the upper right, with (0,0) at the lower left by the power jack. It’s not rectangular, but a conversation with Mr Belt Sander could remove the tab sticking out to the right beyond JP1/JP2 if that were really important.
The header names are not the same as on the old boards. Bolded values seem unusual.
- PWMH 1×8 @ (1300,2000) ← X is not 1290 as before!
- PWML 1×8 @ (2150,2000)
- COMMUNICATION 1×8 @ (3050,2000)
- JP1 2×8 @ (3750,1550)
- JP2 2×8 @ (3750,750)
- POWER 1×6 @ (1550,100)
- ADCL 1×8 @ (2350,100)
- ADCH 1×8 @ (3250,100)
- ICSP 2×3 @ (2555,1100) ← +5 X offset
- Reset switch @ (2920,1100) ← -30 X offset
The PWMH header is 10 mils to the right of its position on the older boards, but still not on the same grid used by the other headers: it’s now offset by a nice, even 50 mils. This probably doesn’t matter for most headers, given the sloppy fit. If you have a finicky board setup, you’re in trouble.
Here’s what the PWMH and PWML headers look like, measured against a Duemilanove board on the top. The offset is not due to perspective!
The Mega board has four 0.125-inch diameter mounting holes (they use 125.984, which is a hard-metric 3.2 mm). The first one is at the same position as on the Duemilanove board.
- 1 @ (780,2000)
- 2 @ (2319,1603) ← deliberately offset from the grid?
- 3 @ (3800,100)
Memo to Self: As always, verify these numbers before you start drilling!