System.Device.Gpio 3.2.0

Prefix Reserved
dotnet add package System.Device.Gpio --version 3.2.0                
NuGet\Install-Package System.Device.Gpio -Version 3.2.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="System.Device.Gpio" Version="3.2.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add System.Device.Gpio --version 3.2.0                
#r "nuget: System.Device.Gpio, 3.2.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install System.Device.Gpio as a Cake Addin
#addin nuget:?package=System.Device.Gpio&version=3.2.0

// Install System.Device.Gpio as a Cake Tool
#tool nuget:?package=System.Device.Gpio&version=3.2.0                

.NET IoT Libraries

.NET can be used to build applications for IoT devices and scenarios. IoT applications typically interact with sensors, displays and input devices that require the use of GPIO pins, serial ports or similar hardware.

You might want to start with our official documentation.

This repository contains the System.Device.Gpio library and implementations for various boards like Raspberry Pi and Hummingboard.

The repository also contains Iot.Device.Bindings, a growing set of community-maintained device bindings for IoT components.

Hardware requirements

While most of the bindings and examples in this project require and are designed to support specific hardware (such as LCD displays, temperature sensors, single-board computers, microcontrollers, etc.), the library itself tries to be as hardware-independent as possible. Some bindings are even written to showcase the use of IOT interfaces with hardware that is already present in normal desktop computers (such as keyboards or CPU temperature sensors). So to get started, you do not need expensive hardware. Or you can start out with cheap stuff, such as an Arduino Uno. You can also use FT232H or FT4222 on a Windows, Linux or MAcOS traditional laptop or desktop.

.NET Versions

Both libraries System.Device.Gpio (this one) and Iot.Device.Bindings are cross-targeting .NET Standard 2.0, .NET Core 3.1, and .NET 6.0. They can be used from any project targeting .NET Core 2.0 or higher, and also from .NET Framework or mono. If you are looking at a Micro Controller Unit (MCU) support, check .NET nanoFramework.

The sample projects target the latest stable .NET Version. This applies to the sample projects with each device as well as the example projects.

How to Install

From Visual Studio, you can just add a nuget by searching for System.Device.Gpio and Iot.Device.Bindings.

Getting started

After installing, please see the following areas to learn more:

All bindings (in src/devices) contains a samples folder where you will find examples on how to use each of the devices, sensor, displays and other components.


This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information, see the .NET Foundation Code of Conduct.


We welcome PR and contributions. We are primarily interested in the following:

  • Improving quality and capability of the drivers for supported boards.
  • Implementations for additional boards.
  • .NET device bindings for a wide variety of sensors, chips, displays and other components.
  • Request a device binding or protocol that you need for your project (file an issue).
  • Links to blog posts or tweets that showcase .NET Core being used for great IoT scenarios (file an issue).


.NET (including the iot repo) is licensed under the MIT license.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net6.0-windows10.0.17763 is compatible.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (64)

Showing the top 5 NuGet packages that depend on System.Device.Gpio:

Package Downloads

This package provides a set of Device Bindings that use System.Device.Gpio package to communicate with a microcontroller.


piTop module.


pi-top[4] device.


.NET Api for Sphero RVR platform


.Net Standard 2.0 One Wire library for Windows IoT on Raspberry Pi via DS2482-100 and DS2482-800 I2C to One Wire bridge

GitHub repositories (7)

Showing the top 5 popular GitHub repositories that depend on System.Device.Gpio:

Repository Stars
Sample code referenced by the .NET documentation
This repo includes .NET Core implementations for various IoT boards, chips, displays and PCBs.
HomeGenie, the programmable automation intelligence
一个为ElectronBot机器人和瀚文键盘(HelloWorldKeyboard)开发的上位机软件(包含机器人USB操作SDK和瀚文键盘HID操作SDK),采用Windows App SDK框架编写界面。 A host computer software developed for ElectronBot robots (including robot USB operation SDK), using the Windows App SDK framework to write UI.
Version Downloads Last updated
3.2.0 5,883 6/20/2024
3.1.0 126,685 11/16/2023
3.0.0 109,793 7/13/2023
2.3.0-prerelease.22520.10 3,452 10/24/2022
2.2.0 159,886 9/29/2022
2.1.0 103,059 2/26/2022
2.0.0 17,181 1/25/2022
2.0.0-prerelease.22069.4 330 1/21/2022
1.5.0 75,838 7/16/2021
1.4.0 50,915 3/17/2021
1.4.0-prerelease.21160.2 335 3/10/2021
1.3.0 26,016 12/22/2020
1.2.0 16,098 11/24/2020
1.1.0 7,117 11/9/2020
1.1.0-prerelease.20555.1 31,358 11/5/2020
1.1.0-prerelease.20276.1 42,904 7/22/2020
1.1.0-prerelease.20153.1 3,983 3/3/2020
1.0.0 124,137 9/23/2019
1.0.0-prerelease.19413.1 1,398 8/13/2019
0.1.0-prerelease.19376.1 1,310 7/26/2019
0.1.0-prerelease.19310.5 2,114 6/11/2019
0.1.0-prerelease.19171.3 2,347 3/21/2019
0.1.0-prerelease.19078.2 4,316 1/28/2019