The Meadow.Foundation peripherals library is an open source repository of drivers for various peripherals such as sensors, motors, displays, cameras, and other peripherals which make it easy to add hardware to your Meadow application.

The peripherals are split into two groups; the first group is general, core peripherals that are included in the main Meadow.Foundation NuGet package. The second group are additional drivers that are available via separate NuGet packages to keep the core size to a minimum.

Core Peripherals

Status Driver Description
Status badge: working AnalogJoystick A two axis analog joystick
Status badge: working AnalogTemperature Analog temperature sensor (TMP35 / TMP36 / TMP37 / LM35)
Status badge: working AnalogWaterLevel Analog water level sensor
Status badge: working DigitalTachometer Hall Effect Linear Tachometer sensor
Status badge: working DipSwitch A multi-pole dip switch
Status badge: working HBridgeMotor Generic h-bridge motor controller
Status badge: working Led Simple LED
Status badge: working LedBarGraph Segmented LED bar
Status badge: working PiezoSpeaker A piezo-electric speaker capable of generating tones via PWM
Status badge: working PushButton Momentary button
Status badge: working PwmLed Pulse-Width-Modulation powered LED
Status badge: working PwmLedBarGraph Pulse-Width-Modulation powered segmented LED bar
Status badge: working Relay Electrically isolated switch
Status badge: working RgbLed Simple RGB LED
Status badge: working RgbPwmLed Pulse-Width-Modulation powered RGB LED
Status badge: working RotaryEncoder A simple rotary encoder
Status badge: working RotaryEncoderWithButton A rotary encoder that includes a push button
Status badge: working StandardPidController StandardPidController driver
Status badge: working SpdtSwitch A simple single-pole, dual-throw (SPDT) switch
Status badge: working SpstSwitch A simple single-pole, single-throw (SPST) switch

Libraries and Frameworks

DataLoggers

Status Driver Description
Status badge: working DataLoggers.AdafruitIO Driver for the Adafruit IO data logging system
Status badge: working DataLoggers.SensorReading SensorReading class for Meadow Foundation data loggers
Status badge: working DataLoggers.ThingSpeak Driver for the ThingSpeak data logging system

Displays

Status Driver Description
Status badge: working Displays.MicroGraphics Lightweight integer accurate 2d graphics drawing system designed for embedded systems
Status badge: working Displays.TextDisplayMenu Text based stack navigation and editor for pixel and character displays

Location

Status Driver Description
Status badge: working Sensors.Location.Gnss.NmeaProcessor GNSS NMEA parsing library

Web

Status Driver Description
Status badge: working Web.Maple.Client Maple is an ultra-lightweight RESTful web API Server, built specifically for Meadow. It provides an easy to extend architecture, and has integrated JSON support via System.Text.Json.
Status badge: working Web.Maple.Server Maple is an ultra-lightweight RESTful web API Server, built specifically for Meadow. It provides an easy to extend architecture, and has integrated JSON support via System.Text.Json.

External Peripherals

External peripheral drivers can be added to Meadow projects individually and are distributed as nuget packages on Nuget.org.

Audio

Status Driver Description
Status badge: working Audio.Mp3.Yx5300 YX5300 serial MP3 player
Status badge: working Audio.Radio.Tea5767 TEA5767 I2C FM radio module

Displays

Status Driver Description
Status badge: working Displays.ePaper SPI eInk / ePaper display controllers (IL0373, IL0376F, IL0398, IL3897, IL91874, ILI91874v3, SSD1608)
Status badge: working Displays.ePaperWaveShare WaveShare SPI eInk / ePaper display controllers
Status badge: working Displays.Lcd.CharacterDisplay Digital and I2C LCD character displays
Status badge: working Displays.Led.FourDigitSevenSegment Digital Four digit seven segment displays
Status badge: working Displays.Led.SevenSegment Ditigal Seven segment displays
Status badge: working Displays.Max7219 MAX7219 SPI LED driver
Status badge: working Displays.Pcd8544 PCD8544 SPI monochrome display (Nokia 5110)
Status badge: working Displays.Ssd130x SSD1306 / SSD1309 SPI and I2C OLED monochrome displays
Status badge: working Displays.Ssd1327 SSD1327 SPI OLED 4bpp greyscale display
Status badge: working Displays.St7565 ST7565 SPI color display
Status badge: working Displays.TftSpi SPI Color TFT and OLED displays (GC9A01, HC8357B, HX8357D, ILI9163, ILI9341, ILI9481, ILI9488, RM68140, S6D02A1, SSD1331, SSD1351, ST7735, ST7789)
Status badge: working Displays.Tm1637 TM1637 digital character display

Displays.ePaper

Status Driver Description
Status badge: working IL0373 ePaper driver
Status badge: working IL0376F ePaper driver
Status badge: working IL0398 ePaper driver
Status badge: working IL3897 ePaper driver
Status badge: working IL91874 ePaper driver
Status badge: working IL91874V03 ePaper driver
Status badge: working SSD1608 ePaper driver
Status badge: working SSD1680 ePaper driver
Status badge: working SSD1681 ePaper driver
Status badge: working UC8151C ePaper driver

Displays.ePaperWaveShare

Status Driver Description
Status badge: working Epd1in54 Epd1in54 driver
Status badge: working Epd1in54b Epd1in54b driver
Status badge: working Epd1in54c Epd1in54c driver
Status badge: working Epd2in13 Epd2in13 driver
Status badge: working Epd2in13b Epd2in13b driver
Status badge: working Epd2in13b_V4 Epd2in13b_V4 driver
Status badge: working Epd2in7b Epd2in7b driver
Status badge: working Epd2in9 Epd2in9 driver
Status badge: working Epd2in9b Epd2in9b driver
Status badge: working Epd4in2 Epd4in2 driver
Status badge: working Epd4in2bc Epd4in2bc driver
Status badge: working Epd4in2bV2 Epd4in2bV2 driver

Displays.Ssd130x

Status Driver Description
Status badge: working Ssd1306 Ssd130x driver
Status badge: working Ssd1309 Ssd130x driver

Displays.TftSpi

Status Driver Description
Status badge: working Gc9a01 TftSpi driver
Status badge: working Hx8357b TftSpi driver
Status badge: working Hx8357d TftSpi driver
Status badge: working Ili9163 TftSpi driver
Status badge: working Ili9341 TftSpi driver
Status badge: working Ili9481 TftSpi driver
Status badge: working Ili9486 TftSpi driver
Status badge: working Ili9488 TftSpi driver
Status badge: working Rm68140 TftSpi driver
Status badge: working S6D02A1 TftSpi driver
Status badge: working Ssd1331 TftSpi driver
Status badge: working Ssd1351 TftSpi driver
Status badge: working St7735 TftSpi driver
Status badge: working St7789 TftSpi driver
Status badge: working St7796s TftSpi driver

ICs

Status Driver Description
Status badge: working ICs.ADC.Ads1x15 TI ADS1x15 I2C analog to digital converters (ADS1015 / ADS1115)
Status badge: working ICs.EEPROM.At24Cxx At24Cxx I2C EEPROMs (AT24C32 / AT24C64 / AT24C128 / AT24C256)
Status badge: working ICs.FanControllers.Emc2101 Emc2101 I2C fan controller and temperature monitor
Status badge: working ICs.IOExpanders.AnalogMux Library for various analog multiplexers
Status badge: working ICs.IOExpanders.As1115 AS1115 I2C IO expander, led driver, character display controller and keyscan
Status badge: working ICs.IOExpanders.Ds3502 Ds3502 I2C digital potentiometer
Status badge: working ICs.IOExpanders.Ht16k33 HT16K33 I2C IO expander, led driver, and character display controller
Status badge: working ICs.IOExpanders.Is31fl3731 IS31FL3731 I2C matrix led driver
Status badge: working ICs.IOExpanders.Mcp23xxx Mcp23xxx I2C and SPI digital output expanders
Status badge: working ICs.IOExpanders.Pca9685 PCA9685 I2C PWM expander
Status badge: working ICs.IOExpanders.SerialWombat SerialWombat I2C IO expander for GPIO, PWM, servos, etc.
Status badge: working ICs.IOExpanders.Tca9548a TCA9548A I2C IO expander
Status badge: working ICs.IOExpanders.x74595 x74595 I2C shift register digital output expander

ICs.ADC.Ads1x15

Status Driver Description
Status badge: working Ads1015 Ads1015 driver
Status badge: working Ads1115 Ads1115 driver

ICs.IOExpanders.AnalogMux

Status Driver Description
Status badge: working Hp4067 Hp4067 driver
Status badge: working Nxp74HC4051 Nxp74HC4051 driver
Status badge: working Nxp74HC4067 Nxp74HC4067 driver

ICs.IOExpanders.Mcp23xxx

Status Driver Description
Status badge: working Mcp23008 Mcp23008 driver
Status badge: working Mcp23009 Mcp23009 driver
Status badge: working Mcp23017 Mcp23017 driver
Status badge: working Mcp23018 Mcp23018 driver
Status badge: working Mcp23s08 Mcp23s08 driver
Status badge: working Mcp23s09 Mcp23s09 driver
Status badge: working Mcp23s17 Mcp23s17 driver
Status badge: working Mcp23s18 Mcp23s18 driver

Leds

Status Driver Description
Status badge: working Leds.Apa102 Apa102 SPI RGB LED driver
Status badge: working Leds.Pca9633 Pca9633 I2C RGB LED driver

Motors

Status Driver Description
Status badge: working Motors.ElectronicSpeedController PWM Electronic speed controller
Status badge: working Motors.Stepper.A4988 A4988 digital input stepper motor controller
Status badge: working Motors.Stepper.Uln2003 ULN2003 digital input stepper motor controller
Status badge: working Motors.Tb67h420ftg Tb67h420ftg digital input motor controller

RTCs

Status Driver Description
Status badge: working RTCs.Ds1307 DS1307 I2C real time clock
Status badge: working RTCs.Ds323x Ds323x I2C real time clock (DS3231)

Atmospheric

Status Driver Description
Status badge: working Sensors.Atmospheric.AdafruitMPRLS Adafruit MPRLS I2C barometric pressure sensor with metal port connector
Status badge: working Sensors.Atmospheric.Bh1900Nux Rohm BH1900NUX I2C temperature sensor
Status badge: working Sensors.Atmospheric.Bme280 Bosch BME280 SPI and I2C absolute barometric pressure sensor
Status badge: working Sensors.Atmospheric.Bme68x Bosch BME68x SPI / I2C humidity, barometric pressure, ambient temperature and gas (VOC) sensor
Status badge: working Sensors.Atmospheric.Bmp085 Bosch BMP085 I2C barometric pressure sensor
Status badge: working Sensors.Atmospheric.Bmp180 BMP180 I2C barometric pressure, temperature, and altitude sensor
Status badge: working Sensors.Atmospheric.Ccs811 Ccs811 I2C VOC Air Quality Sensor
Status badge: working Sensors.Atmospheric.Dhtxx DHTxx I2C temperature and humidity sensors (DHT10, DHT12)
Status badge: working Sensors.Atmospheric.Hih6130 HIH6130 I2C temperature and humidity sensor
Status badge: working Sensors.Atmospheric.Htux1d HTU21D(F) and HTU31D I2C temperature and humidity sensors
Status badge: working Sensors.Atmospheric.Mpl3115a2 MPL3115A2 I2C barometric pressure, temperature, and altitude sensor
Status badge: working Sensors.Atmospheric.Ms5611 MS5611 I2C altimeter and barometric pressure sensor
Status badge: working Sensors.Atmospheric.Sgp40 SGP40 I2C VOC sensor driver
Status badge: working Sensors.Atmospheric.Sht31D SHT31-D I2C temperature and humidity sensor
Status badge: working Sensors.Atmospheric.Sht4x SHT40, SHT41, SHT45 etc. I2C temperature and humidity sensor
Status badge: working Sensors.Atmospheric.Si70xx Si70xx I2C humidity and temperature sensors
Status badge: working Sensors.Atmospheric.Th02 Th02 I2C Relative Humidity and temperature sensor

Sensors.Atmospheric.Bme68x

Status Driver Description
Status badge: working Bme680 Bme680 driver
Status badge: working Bme688 Bme688 driver

Sensors.Atmospheric.Dhtxx

Status Driver Description
Status badge: working DhtBase DhtBase driver
Status badge: working Dht10 Dht10 driver
Status badge: working Dht12 Dht12 driver

Sensors.Atmospheric.Htux1d

Status Driver Description
Status badge: working Htu21d Htu21d driver
Status badge: working Htu31d Htu31d driver

Camera

Status Driver Description
Status badge: working Sensors.Camera.Mlx90640 Mlx90640 I2C far infrared thermal sensor array camera
Status badge: working Sensors.Camera.Vc0706 VC0706 serial VGA CMOS camera

Distance

Status Driver Description
Status badge: in-progress Sensors.Distance.Hcsr04 HCSR04 digital ultrasonic distance sensor
Status badge: working Sensors.Distance.MaxBotix MaxBotix I2C, analog and serial ultrasonic distance sensors
Status badge: working Sensors.Distance.Vl53l0x Vl53l0x I2C time of flight ranging distance sensor

Environmental

Status Driver Description
Status badge: working Sensors.Environmental.Ags01Db Ags01Db I2C digital MEMS VOC gas sensor
Status badge: working Sensors.Environmental.SCD4x SCD4x I2C C02, temperature, and relative humidity sensor (SCD40, SCD41)

Sensors.Environmental.SCD4x

| Status | Driver | Description | |——–|——–|————-| | Status badge: working | Scd40 | Scd40 driver | | Status badge: working | Scd41 | Scd41 driver |

Gnss

Status Driver Description
Status badge: working Sensors.Gnss.Mt3339 MediaTek MT3339 serial GNSS / GPS controller
Status badge: working Sensors.Gnss.NeoM8 NEO M8 serial GNSS / GPS controller

Hid

Status Driver Description
Status badge: working Sensors.Hid.As5013 I2C Hall sensor IC for smart navigation
Status badge: working Sensors.Hid.Bbq10Keyboard BB Q10 I2C Keyboard
Status badge: working Sensors.Hid.Mpr121 Freescale Semiconductor MPR121 I2C capacitive keypad controller
Status badge: working Sensors.Hid.Tsc2004 Tsc2004 I2C capacitive touch screen
Status badge: working Sensors.Hid.WiiExtensionControllers Nintendo Wii I2C extension controllers (nunchuck, classic controller, snes classic controller, nes classic controller)

Sensors.Hid.WiiExtensionControllers

Status Driver Description
Status badge: working NesClassicController NesClassicController driver
Status badge: working SnesClassicController SnesClassicController driver
Status badge: working WiiClassicController WiiClassicController driver
Status badge: working WiiClassicControllerPro WiiClassicControllerPro driver
Status badge: working WiiNunchuck WiiNunchuck driver

Light

Status Driver Description
Status badge: working Sensors.Light.Alspt19315C ALS-PT19-315C analog light sensor
Status badge: working Sensors.Light.AnalogSolarIntensityGauge Analog solar intensity sensor
Status badge: working Sensors.Light.Bh1745 Bh1745 I2C luminance and color light sensor
Status badge: working Sensors.Light.Bh1750 Bh1750 I2C luminance and color light sensor
Status badge: working Sensors.Light.Max44009 Max44009 I2C ultraviolet and ambient light sensor
Status badge: working Sensors.Light.Si1145 SI1145 I2C ultraviolet and ambient light sensor
Status badge: working Sensors.Light.Temt6000 Temt6000 analog ambient light sensor
Status badge: working Sensors.Light.Tsl2591 Tsl2591 I2C high dynamic range light sensor
Status badge: working Sensors.Light.Veml7700 Veml7700 I2C high accuracy ambient light sensor

LoadCell

Status Driver Description
Status badge: working Sensors.LoadCell.Hx711 Hx711 digital load cell amplifier
Status badge: working Sensors.LoadCell.Nau7802 NAU7802 I2C 24-Bit dual channel analog to digital converter

Moisture

Status Driver Description
Status badge: working Sensors.Moisture.Capacitive Analog capacitive soil moisture sensor
Status badge: working Sensors.Moisture.Fc28 FC28 analog soil moisture sensor

Motion

Status Driver Description
Status badge: working Sensors.Motion.Adxl3xx ADXL3xx Analog and I2C 3-axis accelerometers (ADXL335, ADXL345, ADXL337, ADXL362, ADXL377)
Status badge: in-progress Sensors.Motion.Apds9960 APDS9960 I2C proximity, light, color and gesture sensor
Status badge: working Sensors.Motion.Bmi270 BMI270 I2C 6-axis accelerometer and motion sensor
Status badge: working Sensors.Motion.Bno055 Bosch BNO055 I2C 9 axis absolute orientation sensor
Status badge: working Sensors.Motion.Hcsens0040 HCSENS0040 digital microwave motion sensor
Status badge: working Sensors.Motion.Hmc5883 Hmc5883 / Qmc5883 I2C digital compass
Status badge: working Sensors.Motion.Mag3110 Freescale MAG3110 I2C 3 axis magnetometer
Status badge: working Sensors.Motion.Mma7660fc Mma7660fc I2C 3-axis accelerometer
Status badge: working Sensors.Motion.Mpu6050 Mpu6050 I2C MEMS 3 axis gyroscope accelerometer motion sensor
Status badge: working Sensors.Motion.ParallaxPir Parallax PIR analog motion sensor

Sensors.Motion.Adxl3xx

Status Driver Description
Status badge: working Sensors.Motion.Adxl335 ADXL335 analog 3 axis accelerometer motion sensor
Status badge: working Sensors.Motion.Adxl337 ADXL337 analog 3 axis accelerometer motion sensor
Status badge: working Sensors.Motion.Adxl345 ADXL345 I2C 3 axis accelerometer motion sensor
Status badge: working Sensors.Motion.Adxl362 ADXL362 SPI 3 axis accelerometer motion sensor
Status badge: working Sensors.Motion.Adxl377 ADXL377 analog 3 axis accelerometer motion sensor

Power

Status Driver Description
Status badge: working Sensors.Power.Ina260 INA260 I2C current and power monitor

Radio

Status Driver Description
Status badge: working Sensors.Radio.Rfid.IDxxLA IDxxLA Serial radio frequency ID readers
Status badge: in-progress Sensors.Radio.Rfid.Rc522 Rc522 I2C radio frequency ID reader

Sound

Status Driver Description
Status badge: working Sensors.Sound.Ky038 KY-038 analog sound sensor

Temperature

Status Driver Description
Status badge: in-progress Sensors.Temperature.Ds18B20 DS18B20 1-Wire temperature sensor
Status badge: working Sensors.Temperature.Lm75 Lm75 I2C temperature sensor
Status badge: working Sensors.Temperature.Mcp9808 MCP9808 I2C temperature sensor
Status badge: working Sensors.Temperature.Thermistor Thermistor temperature sensor
Status badge: working Sensors.Temperature.Tmp102 TMP102 I2C temperature sensor

Weather

Status Driver Description
Status badge: working Sensors.Weather.SwitchingAnemometer Digital Switching Anemometer wind speed sensor
Status badge: working Sensors.Weather.SwitchingRainGauge GPIO rain gauge sensor
Status badge: working Sensors.Weather.WindVane WindVane analog wind direction sensor

Servos

Status Driver Description
Status badge: working Servos.ServoCore PWM generic servo controller

Seeed Studio Grove

Status Driver Description
Status badge: working Grove.Audio.Buzzer Grove PWM Buzzer
Status badge: working Grove.Audio.Speaker Grove PWM Speaker
Status badge: working Grove.Displays.4DigitDisplay Grove GPIO 4 digit display
Status badge: working Grove.Displays.LCD Grove I2C LCD display
Status badge: working Grove.HID.VibrationMotor Grove GPIO vibration motor
Status badge: working Grove.Leds.LEDSocket Grove GPIO led
Status badge: working Grove.Relays.Relay Grove Relay driver
Status badge: working Grove.RTCs.RTC Grove I2C real time clock (DS1307)
Status badge: working Grove.Sensors.Atmospheric.TemperatureHumiditySensor_HighAccuracyMini Grove I2C Temperature and Humidity sensor - High Accuracy and Mini (TH02)
Status badge: working Grove.Sensors.Buttons.Button Grove GPIO momentary push button
Status badge: working Grove.Sensors.Buttons.LEDButton Grove GPIO momentary push button with LED (blue, red, or yellow)
Status badge: working Grove.Sensors.Buttons.Touch Grove GPIO capacitive touch button
Status badge: working Grove.Sensors.Environmental.FlameSensor Grove GPIO flame sensor
Status badge: working Grove.Sensors.Environmental.WaterSensor Grove Analog water level sensor
Status badge: working Grove.Sensors.Hid.ThumbJoystick Grove analog 2-axis ThumbJoystick
Status badge: working Grove.Sensors.Light.LightSensor Grove light sensor
Status badge: working Grove.Sensors.Light.LineFinder Grove line finder sensor
Status badge: working Grove.Sensors.Moisture.MoistureSensor Grove analog moisture sensor
Status badge: working Grove.Sensors.Motion.3-AxisDigitalAccelerometer_16g Grove I2C 3-Axis digital accelerometer
Status badge: working Grove.Sensors.Motion.3-AxisDigitalAccelerometer1_5g Grove I2C 3-Axis digital accelerometer
Status badge: working Grove.Sensors.Motion.3-AxisDigitalCompass Grove I2C 3-axis digital compass
Status badge: working Grove.Sensors.Motion.MiniPIRMotionSensor Grove GPIO MiniPIRMotionSensor (Parallax PIR)
Status badge: working Grove.Sensors.Motion.PIRMotionSensor Grove GPIO PIRMotionSensor (Parallax PIR)
Status badge: working Grove.Sensors.Motion.VibrationSensor Grove GPIO vibration sensor
Status badge: working Grove.Sensors.Rotary.RotaryAngleSensor Grove rotary angle sensor
Status badge: working Grove.Sensors.Sound.LoudnessSensor Grove loudness sensor
Status badge: working Grove.Sensors.Sound.SoundSensor Grove sound sensor
Status badge: working Grove.Sensors.Switches.MagneticSwitch Grove GPIO magetic reed switch sensor
Status badge: working Grove.Sensors.Switches.SwitchP Grove GPIO single pole dual throw slide switch
Status badge: working Grove.Sensors.Switches.Tilt Grove GPIO tilt switch
Status badge: working Grove.Sensors.Temperature.TemperatureSensor Grove temperature sensor
Status badge: working Grove.Servos.Servo Grove PWM servo motor

FeatherWings

Status Driver Description
Status badge: working FeatherWings.CharlieWing AdaFruit CharlieWing Matrix LED FeatherWing
Status badge: working FeatherWings.DotstarWing AdaFruit DotstarWing LED FeatherWing
Status badge: working FeatherWings.GPSWing AdaFruit GPSWing GPS FeatherWing
Status badge: working FeatherWings.KeyboardWing BBQ 10 Keyboard FeatherWing
Status badge: working FeatherWings.LedMatrix8x16Wing AdaFruit HT16K33 8x16 Matrix LED FeatherWing
Status badge: working FeatherWings.MotorWing AdaFruit MotorWing motor controller FeatherWing
Status badge: working FeatherWings.OLED128x32Wing AdaFruit OLED 128x32 monochrome display FeatherWing
Status badge: working FeatherWings.ServoWing AdaFruit ServoWing servo controller FeatherWing

mikroBUS

Status Driver Description
Status badge: working mikroBUS.Displays.C16x9 MikroElectronika I2C 16x9 Click LED board
Status badge: working mikroBUS.Displays.C8x8 MikroElectronika SPI 8x8 Click LED board
Status badge: working mikroBUS.Sensors.Atmospheric.CTempHum15 MikroElectronika I2C Temp and Hum 15 temperature and humidity click board
Status badge: working mikroBUS.Sensors.Buttons.C8800Retro MikroElectronika Altair 8800 I2C led driver and keyscan MikroBus retro click board
Status badge: working mikroBUS.Sensors.Buttons.CButton MikroElectronika PWM GPIO Led Button MikroBus click board
Status badge: working mikroBUS.Sensors.Hid.CJoystick MikroElectronika I2C Joystick MikroBus click board

 


These docs are open source. If you find an issue, please file a bug, or send us a pull request. And if you want to contribute, we'd love that too!