Develop apps for IoT devices with the .NET IoT Libraries
.NET runs on various platforms and architectures. Common Internet of things (IoT) boards, such as Raspberry Pi and Hummingboard, are supported. IoT apps typically interact with specialized hardware, such as sensors, analog-to-digital converters, and LCD devices. The .NET IoT Libraries enable these scenarios.
Libraries
The .NET IoT Libraries are composed of two NuGet packages:
System.Device.Gpio
System.Device.Gpio
supports various protocols for interacting with low-level hardware pins to control devices. These include:
- General-purpose I/O (GPIO)
- Inter-Integrated Circuit (I2C)
- Serial Peripheral Interface (SPI)
- Pulse Width Modulation (PWM)
- Serial port
Iot.Device.Bindings
The Iot.Device.Bindings
package:
- Contains device bindings to streamline app development by wrapping System.Device.Gpio.
- Is community-supported, and additional bindings are added continually.
The complete list of available device bindings is maintained on GitHub.
Some commonly used device bindings include:
- CharacterLcd - LCD character display
- SN74HC595 - 8-bit shift register
- BrickPi3
- Max7219 - LED Matrix driver
- RGBLedMatrix - RGB LED Matrix
Supported operating systems
System.Device.Gpio
is supported on any operating system that supports .NET, including most versions of Linux that support ARM/ARM64 and Windows 10 IoT Core.
Tip
For Raspberry Pi, Raspberry Pi OS (64-bit) is recommended. No desktop is required, so Raspberry Pi OS Lite can be used to reduce the size of the operating system.
Supported hardware platforms
System.Device.Gpio
is compatible with most single-board platforms. Recommended platforms are Raspberry Pi (2 and greater) and Hummingboard. Other platforms known to be compatible are BeagleBoard and ODROID.
Windows, macOS, and Linux computers and PCs are supported via the use of a USB to SPI/I2C bridge.
Important
.NET is not supported on devices prior to ARMv7, including Raspberry Pi Zero and Raspberry Pi devices prior to Raspberry Pi 2.
Resources
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for