The goal of this API is to allow .NET Core developers to access low-level hardware controllers on IoT devices such as Raspberry Pi, Hummingboard, Odroid, DragonBoard, etc. This will allow applications to read/write data from/to sensors, LED's, motors, and other kinds of peripherals connected to such a device. This API should support the most common low-level device protocols, including General Purpose IO (GPIO) pins, serial communication protocols like SPI and I2C, Pulse Width Modulation (PWM), and Analog-to-Digital Converters (ADC).