Continuing their push into supporting IoT development end to end, Microsoft releases new GPIO library

Internet of Things

In Microsoft’s continuing adoption of more advanced IoT functionality, they have just released a new library for .NET Core, System.Device.Gpio, which provides access to individual GPIO pins on controller hardware.  With .Net Core running on Raspberry Pi, BeagleBoard, HummingBoard, and ODROID, this gives IoT an end-to-end story for using Microsoft technologies in their devices.

The new package is available via a free NuGet package, and since .Net Core runs on Linux as well as Windows 10 IoT, your choice of firm ware language does not have to be driven by OS cost considerations.  Firmware written in C# can be developed quickly with the best-in-class development IDE Visual Studio, taking advantage of the huge number of opensource libraries and add on components the IDE offers, and then deployed to a Linux distro of 4.8 or above.  Building IoT firmware with Visual Studio gives full step-by-step debugging so you can go to market with higher quality.

The new Microsoft offering relies on native drivers for the supported platforms providing easy development with drivers provided on the OS at install.  It also provides the library Iot.Device.Bindings to enable communication with older sensors and devices using a higher level API that is easier to build against.  This new library supports many devices, and you can look here to see if yours is on the list.

Note that this new library is still listed as “experimental”.

Supported Devices

Analog/Digital converters

Accelerometers

Gas sensors

Light sensor

Barometers

Altimeters

Thermometers

Gyroscopes

Compasses

Lego related devices

Motor controllers/drivers

Inertial Measurement Units

Magnetometers

Liquid Crystal Displays

Hygrometers

Clocks

Sonars

Distance sensors

Passive InfraRed (motion) sensors

Motion sensors

Displays

GPIO Expanders

CAN BUS libraries/modules

Proximity sensors

Touch sensors

Wireless communication modules

PWM libraries/modules

Joysticks

Color sensors

LED drivers

SPI libraries/modules

RFID/NFC modules

Media libraries