In our earlier lessons we have taken you from installing the operating system, all the way through creating and running your first python program. At this point, you know how to generally operate the Raspberry Pi platform. Now we are ready to start building projects, and getting the Pi to perform for us. The first thing we will need to understand is which pins do what. The pi has many pins, so the diagram below shows what each pin can do.
In order to understand pin number, make sure to have your pi oriented as shown in the figure. Now look at the center two columns on the chart. These show you the physical pin number. The outer two columns of the chart show you the bcm numbering. Which numbering system you use depends on how you configure things in the software. We will cover this in the next lesson, but for now know there are two different numbering schemes. For the examples in this series of lessons we will use the bcm numbering scheme, so we will be using the number references in the outer two columns.
Also notice that some of the pins are multi-purpose. For example physical pins 3 and 5 can be GPIO pins, or they can be configured for I2C. Similarly, 8 and 10 can be general purpose GPIO pins, or can be Tx and Rx. Note the GPIO pins are analogous to your digital input/output pins on Arduino (the ones without the ~ by them).
In general when setting up a project I try and select GPIO pins that are not multi-function. In this way if I ever expand the project and want to add Tx/Rx or I2C capability, those pins are still free.