"... and no one shall work for money, and no one shall work for fame; But each for the joy of the working, and each, in his separate star, shall draw the thing as he sees it, for the god of things as they are"



RPICSIO - A C# I/O Library for the Raspberry Pi


RPICSIO is a free and open source .NET v4 library which provides a comprehensive C# input/output solution for the Raspberry Pi 2 Mono environment. Using RPICSIO, you can easily read and write to the GPIO pins (and trigger interrupt events from state changes) and launch and control SPI, I2C, PWM and UART devices. RPICSIO is intended to be a comprehensive solution for I/O on the Raspberry Pi 2. At the current time, RPICSIO has only been tested on the Raspberry Pi 2. Most things will probably work on the Raspberry Pi 3 - but it has not been verified and the functionality on the Raspberry Pi 0 is unknown. A list of the known outstanding issues can be found on the Known Bugs And ToDo List page. Besides the downloadable DLL library and source code the RPICSIO contains complete Help Files and Examples.

Note: In order to use the RPICSIO library, C# and Mono must be installed on the Raspberry Pi.

Example RPICSIO Code which Toggles a GPIO Pin at 1Hz


Example RPICSIO Code which Toggles a GPIO Pin at 1Hz


What RPICSIO Does Not Do

Help Files and Manual

The Help Pages discuss the usage of the RPICSIO software and calling conventions for the classes it contains. The RPICSIO software zip files (below) also contain these help files.

Sample Code

The RPICSIO help pages contain an Example Code section which illustrates the usage of the RPICSIO library.

Source Code

A web browsable version of the RPICSIO Source Code is available.


If you download only the RPICSIO.dll (rather than the source) you can use it like any other .NET dll library. Either place the RPICSIO.dll in the same directory as the exe file or copy the dll into the /usr/lib directory where it will be available to all programs that need it. Of course, you will need to reference it in the .NET solution just as you would any other library.

If you download the source code you can include the RPICSIO.proj into your .NET solution in the usual way and the software should compile.


The contents of the RPICSIO web pages, the help pages, the downloadable executables and the source code are are provided "as is" without any warranty of any kind and without any claim to being error free or complete. Please be aware that the documentation, executables or source code provided may be out-of-date, incomplete, erroneous or simply unsuitable for your purposes. Any use you make of the RPICSIO documentation, source code and executables is entirely at your discretion and any consequences of that use are entirely your responsibility.

All source code and executable libraries are provided under the terms of the MIT License.