ebezine edited this page Feb 25, 2013 · 35 revisions

The Raspberry.IO.GeneralPurpose.dll assembly provides access to the Raspberry Pi GPIO pins. This project is available under a compiled, Nuget form: see Raspberry.IO.GeneralPurpose Nuget.


Raspberry.IO.GeneralPurpose namespace contains classes that provide three different levels of abstraction from the GPIO hardware pins:

Some components located in other Raspberry.IO namespaces, such as Raspberry.IO.Components, are based on IGpioConnectionDriver.


The Test.Gpio.Chaser project provides a sample using the GPIO pins.

Getting Started

Basic access to the Raspberry Pi GPIO is done as follows:

Declare Raspberry.IO.GeneralPurpose namespace
using Raspberry.IO.GeneralPurpose;
Identify pins on your Raspberry Pi board

Following Raspberry Pin Numbering information.

Declare the pins

Here, as an output pin for pin P1-11.

var led1 = ConnectorPin.P1Pin11.Output();
Create a connection to the GPIO

Pins are passed as an argument of GpioConnection initializer.

var connection = new GpioConnection(led1);
Use the connection

The following code toggle led status every 250ms.

for(var i = 0; i < 100; i++){
Close the connection