I thought I would share what I have worked out just what the GPIO header pins are now that the Broadcomm BCM2835 datasheet is out – the final key to the puzzle. There have been three releases of data here at raspberrypi.org on the GPIO bus that has been built into the Rpi, and they are not at all consistent with each other – in fact, the main one is unintentionally a little misleading.
First, there was Liz's main post dated Nov 24, "Pinout for GPIO Connectors":
where she lists the pins as:
Top row, left to right:
Bottom row, left to right:
Liz also notes that some of the specialized-functions pins can all be reassigned as GPIO pins. So far so good – except she has established a numbering scheme of GPIO0 – GPIO7 for the non-special-function pins. This is a potential gotcha if you start actually designing something…
Now we've got the Broadcomm data sheet fot the GPIO pins:
And on page 102-103 we see that there are potentially 32 GPIO pins. However, according to Liz's list, only 17 of them have been brought out on a header to be accessable to the outside world. That's OK, there's no way all 32 could have made it out on 0.1 inch header on such a small board, we're lucky we got any of them out at all…
But…wait a minute. Liz says the SDAO/SCL0 pins are next to the 3.3 volt pin. The data sheet says SAD0/SCL0 are I2C bus lines on GPIO0/GPIO1. But Liz says GPIO0/GPIO1 are in the row with the 5V pin, not the 3.3V pin. So…does that mean the SDA0/SCL0 are using the GPIO28/GPIO29 option allowed by the data sheet? Is GPIO28 next to the 3.3V pin?
Nope. We've got photos of the Gertboard, our third piece of info:
If you embiggen the Gertboard photos and look closely at his silkscreen for GPIO pins, there is no GPIO28 or GPIO29 brought out from the header. Which means that the datasheet GPIO0 pin is actually right next to the 3.3V pin denoted as SDA0 (one of its many potential specialized functions) and Liz's GPIO0 is actually the datasheet GPIO17. How do I know this? By following the traces on the Gertboard to his silkscreen GPIO markings.
Gert lists the following GPIO pins, apparently by their datasheet numbers:
So these are the 17 of the 32 GPIO pins that are actually pulled off of the chip and exposed to the outside world via the Rpi header.
And left to an exercise for the reader is to follow Gert's traces to the corresponding silkscreen holes to come up with the following:
Raspberry Pi GPIO Header Pinout With Broadcomm Datasheet Page 102-103 Numbering:
5V XX GD 14 15 18 XX 21 22 XX 23 08 07
3V 00 01 04 XX 17 19 20 XX 10 09 11 XX
…where XX are DNC = Do Not Connect pins.
Oh, another potential gotcha...the board apparently isn't the ISO 7810 standard size of 85.60 mm by 53.98 mm for ID-1 cards like credit cards as stated in the Raspberry Pi FAQ; Gert has apparently measured a beta board at 85 mm by 56 mm. He's posted a diagram at scribd:
Happy hardware designing.