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.
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
AT24C128C - I2C EEPROM read/write
AXP192 - Enhanced single Cell Li-Battery and Power System Management IC
Bh1745 - RGB Sensor
BH1750FVI - Ambient Light Sensor
Bmm150 - Magnetometer
BMP180 - barometer, altitude and temperature sensor
BMxx80 Device Family
BNO055 - inertial measurement unit
Button
Buzzer - Piezo Buzzer Controller
CCS811 Gas sensor
Charlieplex Segment binding
DC Motor Controller
DHTxx - Digital-Output Relative Humidity & Temperature Sensor Module
Digital liquid level switch
Generic shift register
HC-SR04 - Ultrasonic Ranging Module
HC-SR04 - Ultrasonic Ranging Module for ESP32 with RMT
HC-SR501 - PIR Motion Sensor
HMC5883L - 3 Axis Digital Compass
HTS221 - Capacitive digital sensor for relative humidity and temperature
Iot.Device.Multiplexing
Iot.Device.NumberHelper
Iot.Device.WeatherHelper
IP5306 - Power management
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
MFRC522 - RFID reader
MLX90614 - Infra Red Thermometer
MPR121 - Proximity Capacitive Touch Sensor Controller
MPU6500/MPU9250 - Gyroscope, Accelerometer, Temperature and Magnetometer (MPU9250 only)
Mpu6886 - accelerometer and gyroscope
nRF24L01 - Single Chip 2.4 GHz Transceiver
Pca95x4 - I2C GPIO Expander
PN5180 - RFID and NFC reader
PN532 - RFID and NFC reader
Quadrature Rotary Encoder
Radio Receiver
Radio Transmitter
Realtime Clock
RFID shared elements
Servo Motor
SHT3x - Temperature & Humidity Sensor
SHTC3 - Temperature & Humidity Sensor
Si7021 - Temperature & Humidity Sensor
SN74HC595 -- 8-bit shift register
SSD13xx & SSH1106 OLED display family
System.Buffers.Binary.BinaryPrimitives
System.Device.Model - attributes for device bindings
System.Diagnostics.Stopwatch and DelayHelper
System.Drawing
System.Numerics
TCS3472x Sensors
TM1637 - Segment Display
TSL256x - Illuminance sensor
VL53L0X - distance sensor
Ws28xx LED drivers
YX5200/YX5300 - MP3 Player
/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.
/src/nanoFramework.IoT.Device.CodeConverter contains the tool used to generate the devices from the NET Core IoT Libraries devices.
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
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.
Did you know that with minimal efforts you can make a nanoFramework binding available for .NET IoT as well? More information and guidance on the steps to take, can be found in this article.
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.
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.