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
4-Wire stepper motor & A4988 driver board
AD5328 - Digital to Analog Convertor
Adafruit Seesaw - extension board (ADC, PWM, GPIO expander)
ADS1115 - Analog to Digital Converter
ADXL343 - Accelerometer
ADXL345 - Accelerometer
ADXL357 - Accelerometer
AGS01DB - MEMS VOC Gas Sensor
AHT10/15/20 - Temperature and humidity sensor modules
AK8963 - Magnetometer
AM2320 - Temperature and Humidity sensor
AMG8833/AMG8834/AMG8853/AMG8854 Infrared Array Sensor Family
APA102 - Double line transmission integrated control LED
AT24C32/AT24C64/AT24C128/AT24C256 family of I2C EEPROM
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
BMP280/BME280/BME680 Device Family
BNO055 - inertial measurement unit
BQ2579x/BQ25792/BQ25798 - Buck-boost battery charger
Button
Buzzer - Piezo Buzzer Controller
CCS811 Gas sensor
Character LCD (Liquid Crystal Display)
Charlieplex Segment binding
CHSC6540 - Touch screen controller
DAC63004/DAC63004W - Ultra-low-power quad-channel 12-bit smart DAC with I²C, SPI and PWM
DC Motor Controller
DHCP Server
DHT10/DHT11/DHT12/DHT21/DHT22 - Digital-Output Relative Humidity & Temperature Sensor Module
DHT10/DHT11/DHT12/DHT21/DHT22 for Esp32 using RMT - Digital-Output Relative Humidity & Temperature Sensor Module
Digital liquid level switch
DS1302 - Realtime Clock
Ds1621 - 1-Wire Digital Thermometer with Programmable Resolution
Ds18b20 - Temperature Sensor
ePaper drivers for .NET nanoFramework
Ft6xx6x/Ft6336GU - Touch screen controller
Generic AT Modem SIM800 and SIM7070, SIM7080, SIM7090 - Dual Mode Wireless Module CatM, LTE modems
Generic shift register
Global Navigation Satellite System Device NMEA 0183 - Including Generic Serial Module with GPS, GNSS, BeiDou - NEO6-M, NEO-M8P-2, NEO-M9N from u-blox, ATGM336H, Minewsemi, ZED-F9P, ZOE-M8Q, SAM-M8Q, SARA-R5 and many many more
HC-SR04 - Ultrasonic Ranging Module
HC-SR04 for ESP32 with RMT - Ultrasonic Ranging Module
HC-SR501 - PIR Motion Sensor
Hdc1080 - temperature and humidity sensor
HLK-LD2410 24Ghz Human Presence Radar Sensor Module
HMC5883L - 3 Axis Digital Compass
HTS221 - Capacitive digital sensor for relative humidity and temperature
Hx711 (M5Stack WEIGHT)
INA219 - Bidirectional Current/Power Monitor
Iot.Device.Multiplexing
Iot.Device.NumberHelper
Iot.Device.WeatherHelper
IP5306 - Power management
Key Matrix
LCD library for SparkFun RGB Serial Open LCD display (sizes 20x4 or 16x2) with I2C connection
LidarLiteV3 - LIDAR Time of Flight Sensor
LIS2MDL - Ultra-low-power, high-performance 3-axis digital magnetic sensor
LM75 - Digital Temperature Sensor
Lp3943 LED driver
LPS22HB - MEMS nano pressure sensor: 260-1260 hPa absolute digital output barometer
LPS25H - Piezoresistive pressure and thermometer sensor
LSM9DS1 - 3D accelerometer, gyroscope and magnetometer
M5Stack ATOM QR Code reader
MAX1704x/MAX17043/MAX17044/MAX17048/MAX17049 - Battery gauge
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
Mcp23xxx/MCP23008/MCP23009/MCP23017/MCP23018 - I/O Expander device family
Mcp25xxx/MCP2515/MCP2565 device family - CAN bus
MCP3001/MCP3002/MCP3004/MCP3008/MCP3201/MCP3202/MCP3204/MCP3208/MCP3301/MCP3302/MCP3304 family of Analog to Digital Converters
Mcp3428 - Analog to Digital Converter (I2C)
Mcp7940xx/MCP79400/MCP79401/MCP79402 - I2C Real-Time Clock/Calendar with SRAM
MCP960X/MCP9600/MCP9601 - device family of cold-junction compensated thermocouple to digital converter
MCP9808 - Digital Temperature Sensor
MFRC522 - RFID reader
MH-Z19B CO2-Sensor
MLX90614 - Infra Red Thermometer
Modbus - Machine to machine communication protocol
Module and Unit 4 Relay - I2C relay
MPR121 - Proximity Capacitive Touch Sensor Controller
MPU6050/MPU6500/MPU9250 - Gyroscope, Accelerometer, Temperature and Magnetometer (MPU9250 only)
Mpu6886 - accelerometer and gyroscope
Ms5611 in GY-63 module - temperature and pressure sensor
nRF24L01 - Single Chip 2.4 GHz Transceiver
Pca95x4/PCA9534/PCA9534A/PCA9554/PCA9554A - I2C GPIO Expander
PCD8544 - 48 × 84 pixels matrix LCD, famous Nokia 5110 screen
PCx857x/PCF8574/PCF8575/PCA8574/PCA8575 - NXP/TI GPIO expansion
PN5180 - RFID and NFC reader
PN532 - RFID and NFC reader
QTR Sensors - Pololu QTR Reflectance Sensors
Quadrature Rotary Encoder
Quadrature Rotary Encoder (ESP32)
Radio Receiver
Radio Transmitter
Realtime Clock
RFID shared elements
RGB diode - PWM
Sensirion SCD30 Particulate Matter Sensor
Sensirion SEN5x series module
Sensirion SPS30 Particulate Matter Sensor
Servo Motor
SHT3x/SHT30/SHT31/SHT35 - Temperature & Humidity Sensor
Sht4x/SHT40/SHT41/SHT45 - Temperature & Humidity Sensor with internal heater
SHTC3 - Temperature & Humidity Sensor
Si7021 - Temperature & Humidity Sensor
SN74HC595 -- 8-bit shift register
SSD13xx/SSD1306/SSD1327 & SSH1106 - OLED display family
Swarm Tile
System.Buffers.Binary.BinaryPrimitives
System.Device.Model - attributes for device bindings
System.Diagnostics.Stopwatch and DelayHelper
System.Drawing
System.Numerics
TCS3472x/TCS34721/TCS34723/TCS34725/TCS34727 Sensors
TLC1543 - 10-bit ADC with 11 input channels
TM1637 - Segment Display
TSL256x/TSL2560/TSL2561 - Illuminance sensor
VL53L0X - distance sensor
Ws28xx/WS2812B/WS2815B/WS2808/SK6812/Neo pixel for ESP32 using RMT - LED drivers
Ws28xx/WS2812B/WS2815B/WS2808/SK6812/Neo pixel using SPI - LED drivers
YX5200/YX5300 - MP3 Player
/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 /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 /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.