Welcome to the nanoFramework IoT.Device Library repository!
This repository contains bindings which can be sensors, small screen and anything else that you can connect to your nanoFramework chip!
Most of the bindings have been migrated from .NET IoT repository. Not all the bindings make sense to migrate to .NET nanoFramework, so the effort of migration has been placed into devices that can work with .NET nanoFramework. Please note as well that some devices have been migrated without been tested, so they main contain problems.
List of devices
- 28BYJ-48 Stepper Motor 5V 4-Phase 5-Wire & ULN2003 Driver Board
- AD5328 - Digital to Analog Convertor
- ADS1115 - Analog to Digital Converter
- ADXL345 - Accelerometer
- ADXL357 - Accelerometer
- AGS01DB - MEMS VOC Gas Sensor
- AHT10/15/20 - Temperature and humidity sensor modules
- AK8963 - Magnetometer
- AMG88xx Infrared Array Sensor Family
- APA102 - Double line transmission integrated control LED
- Bh1745 - RGB Sensor
- BH1750FVI - Ambient Light Sensor
- BMP180 - barometer, altitude and temperature sensor
- BMxx80 Device Family
- BNO055 - inertial measurement unit
- CCS811 Gas sensor
- Charlieplex Segment binding
- DHTxx - Digital-Output Relative Humidity & Temperature Sensor Module
- Digital liquid level switch
- Generic shift register
- HC-SR04 - Ultrasonic Ranging Module
- HC-SR501 - PIR Motion Sensor
- HMC5883L - 3 Axis Digital Compass
- HTS221 - Capacitive digital sensor for relative humidity and temperature
- Key Matrix
- LidarLiteV3 - LIDAR Time of Flight Sensor
- LM75 - Digital Temperature Sensor
- LPS25H - Piezoresistive pressure and thermometer sensor
- LSM9DS1 - 3D accelerometer, gyroscope and magnetometer
- Max31856 - cold-junction compensated thermocouple to digital converter
- MAX31865 - Resistance Temperature Detector Amplifier
- MAX44009 - Ambient Light Sensor
- Max7219 (LED Matrix driver)
- MBI5027 -- 16-bit shift register with error detection
- Mcp25xxx device family - CAN bus
- Mcp3428 - Analog to Digital Converter (I2C)
- MCP3xxx family of Analog to Digital Converters
- MCP9808 - Digital Temperature Sensor
- MLX90614 - Infra Red Thermometer
- MPR121 - Proximity Capacitive Touch Sensor Controller
- MPU6500/MPU9250 - Gyroscope, Accelerometer, Temperature and Magnetometer (MPU9250 only)
- nRF24L01 - Single Chip 2.4 GHz Transceiver
- Pca95x4 - I2C GPIO Expander
- Quadrature Rotary Encoder
- Radio Receiver
- Radio Transmitter
- Realtime Clock
- SHT3x - Temperature & Humidity Sensor
- SHTC3 - Temperature & Humidity Sensor
- Si7021 - Temperature & Humidity Sensor
- SN74HC595 -- 8-bit shift register
- Solomon Systech Ssd1306 OLED display
- VL53L0X - distance sensor
/src/devices/ contains devices that were cleaned up and should be working out of the box.
/src/devices_generated/ contains devices that were automatically ported from the NET Core IoT Libraries devices. They might not work or compile at this point, but are a good starting point if you need support for one of the devices contained here but missing from the /src/devices/ folder.
Other folders in /src contain nanoFramework projects that you can reference when creating/updating devices with provide functionality such as a StopWatach, a DelayHelper, BinaryPrimitives or various System.Device.Model Attributes.
Important: If you plan to clean up the code in /src/devices_generated/, please copy your work to the /src/devices/ folder as the content of /src/devices_generated/ will be overwritten by the generator tool.
Please check the detail list of tips and tricks to facilitate the migration. The generator takes care of some heavy lifting but there is always some manual adjustments needed.
We are using the following structure for the bindings:
/devices /Binding1 /samples Binding1.Samples.nfproj AssicateFile.cs Program.cs /test BindingA.Test.nfproj AssociatedTestFile.cs Binding1.nfproj Binding1.nuspec version.json OtherFiles.cs OtherFiles.anythingelse Readme.md
Using the Code Converter
The Code Converter allows to facilitate migration of .NET Core/.NET 5.0 code into .NET nanoFramework. More information and how to customize and run it here.
Feedback and documentation
For documentation, providing feedback, issues and finding out how to contribute please refer to the Home repo.
Join our Discord community here.
The list of contributors to this project can be found at CONTRIBUTORS.
The nanoFramework Class Libraries are licensed under the MIT license.
Code of Conduct
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.
This project is supported by the .NET Foundation.