> For the complete documentation index, see [llms.txt](https://dkoudstaal.gitbook.io/raspberry-pi-gpio-charts/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dkoudstaal.gitbook.io/raspberry-pi-gpio-charts/master.md).

# Using GPIO Pins

The[ GPIO (General Purpose Input Output) Pin Charts](/raspberry-pi-gpio-charts/chapter1.md) are for the Raspberry Pi 3 Model B V1.2

You have a choice of two numbering systems in Python. Import the `RPi.GPIO` module:

```python
import RPi.GPIO as IO
IO.setmode(GPIO.BOARD)
```

Or:

```python
import RPi.GPIO as IO
IO.setmode(GPIO.BCM)
```

The `GPIO.BOARD` mode uses the numbers in the [grey rectangles](/raspberry-pi-gpio-charts/chapter1.md#without-raspberry-pi) from 1 to 40.

The `GPIO.BCM` refers to the pins by the "Broadcom SOC channel" number.These are the numbers after the "GPIO" in the coloured rectangles. These numbers changed between model B versions of the Raspberry Pi.

It is safer if you use `GPIO.BOARD` numbers in your Python programs, especially if you have an older Raspberry Pi model.

For general input output circuits we suggest you only use the pins with the orange outline around the grey boxes.

The charts are in svg file format and published under Creative Commons. You are free to use, alter and publish these charts.
