.NET can be used to build IoT applications, using sensors, displays and input devices. Most ARM64 and ARM32 (hard float required) single board computers can be used, incuding Raspberry Pi.
The System.Device.Gpio package includes protocol APIs, such as GPIO, I²C, andSPI. The Iot.Device.Bindings package includes community-supported bindings such as SN74HC595 and CharacterLcd.
The following samples demonstrate various scenarios:
- Blinking LED
- More blinking lights
- Force Sensitive Resistor usage
- LED Matrix - Weather
- Serial Port - Arduino
The .NET IoT APIs require using at least .NET Core 2.1. .NET Core 3.1 or higher is recommended, and is required for ARM64.
Many of these samples use the Raspberry Pi, however, .NET Core can be used with other devices. .NET Core is supported on Raspberry Pi 2B as well as 3 and 4 models (ARMv7/v8). .NET Core is not supported on Raspberry Pi Zero or Arduino.
We primarily test the IoT APIs on Debian Linux, although we expect them to work on most Linux distros. We do not test on Windows.