GitPedia

Iot

This repo includes .NET Core implementations for various IoT boards, chips, displays and PCBs.

From dotnet·Updated June 18, 2026·View on GitHub·

.NET can be used to build applications for [IoT](https://en.wikipedia.org/wiki/Internet_of_things) devices and scenarios. IoT applications typically interact with sensors, displays and input devices that require the use of [GPIO pins](https://en.wikipedia.org/wiki/General-purpose_input/output), serial ports or similar hardware. The project is written primarily in C#, distributed under the MIT License license, first published in 2018. It has gained significant community traction with 2,394 stars and 625 forks on GitHub.

Latest release: v4.2.0
March 26, 2026View Changelog →

.NET IoT Libraries

Gitter
Discord

.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.

[!IMPORTANT]
This is the GitHub repo for the libraries. 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.

[!NOTE]
This repository is still in experimental stage and all APIs are subject to changes.

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.

.NET Versions

Both libraries in this repository 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 on the /samples directory.

How to Install

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

Nightly Builds

You can also install the latest nightly builds of the .NET System.Device.Gpio, Iot.Device.Bindings, and Iot.Device.Bindings.SkiaSharpAdapter NuGet packages. These are automatically published from the latest commits to the main branch.

Azure DevOps Feed (No Authentication Required)

Add the nightly feed to your project:

shell
# Add the Azure DevOps nightly feed (no authentication required) dotnet nuget add source --name dotnet-iot-nightly "https://pkgs.dev.azure.com/dotnet/IoT/_packaging/nightly_iot_builds/nuget/v3/index.json" # Install packages dotnet add package System.Device.Gpio --source dotnet-iot-nightly --prerelease dotnet add package Iot.Device.Bindings --source dotnet-iot-nightly --prerelease dotnet add package Iot.Device.Bindings.SkiaSharpAdapter --source dotnet-iot-nightly --prerelease

Or add to your NuGet.config:

xml
<packageSources> <add key="dotnet-iot-nightly" value="https://pkgs.dev.azure.com/dotnet/IoT/_packaging/nightly_iot_builds/nuget/v3/index.json" /> </packageSources>

Official Build Status

Build Status

Contributing

For information on how to build this repository and to add new device bindings, please head out to Contributing.

Please contribute. 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).

Getting Started

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

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

Important: Please make sure you are using tag that correspond to your package version to browse and reuse the samples' code.

select branch

Once you have selected the right branch, you can browse the repository. The main branch contains code that is always the latest and may not been yet released to a package. So if you are using the 1.2 package, please select 1.2 tag before browsing the source code.

Tutorials

Community

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.

License

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

Contributors

Showing top 12 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from dotnet/iot via the GitHub API.Last fetched: 6/19/2026