Die GPIO Pins des RasPi sind Anschlüsse, die man frei anprogrammieren kann. Einige der Pins sind zunächst mit speziellen Funktionen vorbelegt. Darunter ist zum Beispiel UART-Pins für den Anschluss eines seriellen Kabels, um den RasPi mit einem Terminal per Kommandozeile anzusprechen. Andere sind für die Nutzung bestimmter Protokolle vorgesehen, die von Microcontrollern verstanden werden (I2C, SPI). Die Belegung mit dem jeweiligen Protokoll kann per Software jedoch geändert werden. Dafür sind jeweils alternative Belegungen vorgesehen. So kann aus einem SPI Pin ein weiterer GPIO Pin werden. Das Bild oben zeigt eine Übersicht über die verfügbaren Anschlussmöglichkeiten. Links oben befindet sich die Steckleiste („Pin Header“) P1.