I assume that the latter ones are correct but correct me if I am wrong.

Either way it is a bit confusing.

Also TX3 and RX3 are shown as being on Atmega pins 14 & 15 however they look like they should be on Atmega pins 64 & 63.TX2 and RX2 are on Atmega pins 16 & 17 when they should be on Atmega pins 13 & 12 . TX1 and RX1 are on Atmega pins 18 & 19 when they should be on Atmega pins 46 & 45.

Could the Jpeg of the pin mapping be in a format where it does not go illegible (with all that chequerboarding) when I copy it from the website to my harddrive?

Looking at the data sheet gives you the definitive explanation, the diagram on the web page is the same as in the data sheet.

Quote

Unless there are two SDA and two SCL, one of them must be wrong. (Most likely the latter).

There is no error in either. The pins 44 & 45 have an explanation as:-

Quote

• INT3/TXD1 - Port D, Bit 3INT3, External Interrupt source 3: The PD3 pin can serve as an external interrupt source to the MCU.TXD1, Transmit Data (Data output pin for the USART1). When the USART1 Transmitter is enabled, this pin is configured as an output regardless of the value of DDD3.• INT2/RXD1 - Port D, Bit 2INT2, External Interrupt source 2. The PD2 pin can serve as an External Interrupt source to the MCU.RXD1, Receive Data (Data input pin for the USART1). When the USART1 receiver is enabled this pin is configured as an input regardless of the value of DDD2. When the USART forces this pin to be an input, the pull-up can still be controlled by the PORTD2 bit.

@ pYro_65 You miss the point. We know that we can go elsewhere for the proper pinouts, but the point we make is that the official Arduino documentation is wrong and could mislead those take it for gospel. It should be corrected.

Quote

...pin numbers on top and bottom side of the png image are messy....

P.S. Would it be possible to clean up the pin numbering on the top side and bottom side of the chip in the PNG when the corrected version gets posted ?

No the I2C lines are on pins 20 & 21, where as the clock and data for the SPI interface are on pins 51 & 52, it might not be clear but it is not wrong.

The diagram clearly shows 2 sets of I2C connections:

On pin 20 of the Atmega2560 chip it shows the Arduino designation as "Digital pin 52 (PWM)(SDA)"On pin 21 of the Atmega2560 chip it shows the Arduino designation as "Digital pin 51 (PWM)(SCL)"

On pin 43 of the Atmega2560 chip it shows the Arduino designation as "Digital pin 21 (SCL)"On pin 44 of the Atmega2560 chip it shows the Arduino designation as "Digital pin 20 (SDA)"

Therefore it indicates two sets of I2C connections for the Arduino Atmega2560. Either you have to argue that there are two sets of I2C connections for the Arduino Atmega2560 (good luck!) or that the diagram is wrong.

Because the terms SCL and SDA are not used exclusively to describe I2C pins.They reffers to Serial Clock Line and Serial DAta, there is nothing in the convention that says these have to be I2C.

Mike, the OP does have a valid point. Arduino pins 51 and 52 correspond to AVR mega2560 package pin21 = PB2 (MOSI/PCINT2) and pin 20 = PB1 (SCK/PCINT1) respectively. As MOSI and SCK are 'official' AVR names for two of the ICSP signals, there is no way they should be called out as SDA and SCL signals. The signals names SCL and SDA are not associated with those two pins in any AVR documentation. The 'official' Arduino schematic drawing for the Mega2560 does correctly call out these two pins as MOSI and SCK signals. As such the pin mapping document that the OP first posted is most definitely in error, and in conflict with both AVR datasheet and the Arduino mega2560 schematic drawing and should be corrected. But as with so many of the 'official' drawings, pictures, and written material in the arduino web site, getting anything corrected or updated seems to be an impossible task.

You miss the point. We know that we can go elsewhere for the proper pinouts, but the point we make is that the official Arduino documentation is wrong and could mislead those take it for gospel. It should be corrected.

Haha, no point to see.

Quite a few pages of the documentation is incorrect after the 1.0 upgrade. Half a squillion post have been made about incorrect documentation with no response.So I provided a simple and quick solution.