Pinos GPIO (Generic Purpose Input/Output) podem, como o nome sugere ser utilizados de diversas maneiras. A forma mais direta de se utilizar é através da interface que se encontra em /sys/class/gpio/. Não são todos os 40 pinos que tem as mesmas funcionalidades. Alguns são apenas entrada outros apenas saída e outros tem funções especiais fixas. Caso o pino seja configurável, pode-se exportá-lo, configurar sua direção, modificar seu valor (quando saída) ou ler seu valor (quando entrada).
cd /sys/class/gpio/ echo 146 >> export echo out >> gpio146/direction echo 1 >> gpio146/value echo in >> gpio146/direction cat gpio146/value
Pode-se abrir um GPIO e utilizá-lo com as funções comuns de entrada e saída do unix (open/read/write), desde que esteja exportado. Além de ler o valor, pode-se querer detectar as bordas do sinal. Para isso é necessário o módulo gpio-event.