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 Notes
Led Simple LED  
PwmLed Pulse-Width-Modulation powered LED  
RgbLed Simple RGB LED  
RgbPwmLed Pulse-Width-Modulation powered RGB LED  
LedBarGraph Generic segmented LED bar  
HBridgeMotor Generic h-bridge motor controller  
Relay Electrically isolated switch  
PushButton Simple push-button Requires external PU/PD resistor
DigitalTachometer Hall Effect Linear Tachometer sensor  
AnalogJoystick A generic analog joystick  
RotaryEncoder A simple rotary encoder  
RotaryEncoderWithButton A rotary encoder that includes a push button Requires external PU/PD resistor
DipSwitch A multi-pole dip switch Requires external PU/PD resistor
SpdtSwitch A simple single-pole, dual-throw (SPDT) switch  
SpstSwitch A simple single-pole, single-throw (SPST) switch Requires external PU/PD resistor
AnalogTemperature Analog temperature sensor (TMP35 / TMP36 / TMP37 / LM35)  
PiezoSpeaker A piezo-electric speaker capable of generating tones via PWM  

External Peripherals

Audio

Status Driver Description
Tea5767 I2C FM radio module

Display and Graphics Drivers

Status Driver Description Notes
ePaper ePaper/eInk display Library Slow in current release
Working Badge CharacterDisplay LCD display Digital IO only
Working Badge SevenSegment Seven Segment display  
Working Badge Max7219 MAX7219 led display driver Library  
Working Badge Pcd8544 PCD8544 LCD driver (Nokia 5110)  
SerialLCD SparkFun serial LCD backpack driver  
Working Badge Ssd1306 OLED single color display  
Working Badge Ssd1309 OLED single color display  
Working Badge St7565 Single color positive LCD  
Working Badge TftSpi Thin Film Transistor (TFT) SPI Library  
Working Badge Tm1637 Segmented LCD display  
Working Badge GraphicsLibrary General purpose graphics library  
Working Badge TextDisplayMenu Text Display Menu for LCD displays Code needs modernizing

Integrated Circuits (ICs)

Status Driver Description
Working Badge At24Cxx AT24Cxx Family of EEPROMs including AT24C32
Working Badge Ht16K33 HT16K33 for digital output expansion
Working Badge Mcp23x08 MCP23008 for digital output expansion
Working Badge x74595 74595 shift register for digital output expansion

Motors

Status Driver Description Notes
Uln2003 A 2-axis joystick and 5 momentary buttons gamepad Slow due interpret mode

Real Time Clocks (RTCs)

Status Driver Description
Ds1307 Real Time Clock SD1307
Ds323x Real Time Clock modules

Sensors

Atmospheric (Temperature, Humidity, Barometer, Altitude) Sensors

Status Driver Description
Working Badge Bme280 I2C/SPI temperature, humidity, and pressure sensor
Working Badge Bmp085 I2C pressure sensor
Working Badge Bmp180 I2C pressure sensor
Working Badge Dht10 I2C temperature and humidity sensor
Working Badge Dht12 I2C temperature and humidity sensor
GroveTH02 Grove TH02 temperature and humidity sensor
Working Badge Hih6130 I2C temperature and humidity sensor
Working Badge Htu21d I2C temperature and humidity sensor
MPL115A2 Barometric sensor
MPL3115A2 Barometric sensor
Ms5611 I2C temperature and humidity sensor
Sht31D I2C temperature and humidity sensor
Si70xx I2C temperature and humidity sensor

Cameras

Status Driver Description
Vc0706 A VGA CMOS camera sensor
ArducamMini A high definition 2MP SPI camera

Distance Sensors

Status Driver Description Notes
HCSR04 Sonic distance sensor Needs AOT compilation
HYSRF05 Sonic distance sensor Needs AOT compilation
SFSR02 Sonic distance sensor Needs AOT compilation

GPS Sensors & Libraries

Status Driver Description Notes
NMEA Generic GPS sentence decoder library Needs serial events

Light Sensors

Status Driver Description
ALSPT19315C Analog light sensor
Bh1745 I2C infrared, ultraviolet, and ambient light sensor
Bh1750 I2C infrared, ultraviolet, and ambient light sensor
Max44009 I2C infrared, ultraviolet, and ambient light sensor
Si1145 I2C infrared, ultraviolet, and ambient light sensor
Temt6000 Analog light sensor
Tsl2561 I2C infrared-compensated light sensor

Soil Moisture Sensors

Status Driver Description
Capacitive Capacitive Soil Moisture Sensor
Fc28 Soil Moisture Sensor

Motion and Orientation Sensors

Status Driver Description
Adxl335 Analog triple axis, +/-3g accelerometer
Adxl337 Analog triple axis, +/-3g accelerometer
Adxl345 I2C triple axis accelerometer, +/-16g accelerometer
Adxl362 SPI low power, 3-axis MEMS accelerometer
Adxl377 Analog triple axis, +/-200g accelerometer
Apds9960 I2C 9-Axis absolute orientation sensor
Working Badge Bno055 I2C 9-Axis absolute orientation sensor
Working Badge Hcsens0040 I2C 9-Axis absolute orientation sensor
Hmc5883 I2C 9-Axis absolute orientation sensor
Working Badge Mpu6050 I2C 6-Axis absolute orientation sensor
Mag3110 I2C three axis magnetometer
ParallaxPir Parallax PIR Rev B digital motion detector

Power Sensors

Status Driver Description
Ina260 Power sensor

Temperature Sensors

Status Driver Description Notes
Working Badge Lm75 I2C temperature sensor  
Working Badge Tmp102 I2C temperature sensor  

Servos

Status Driver Description
Servo Generic servo library

Transceivers

Status Driver Description
Working Badge Sx127x Tranceiver

 


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!