Supported Peripherals

February 21, 2026 ยท View on GitHub

:green_heart: Full support :yellow_heart: Partial support :heart: Planned. No support yet

Digital and Analog Input and Output

NameStatusInterfaceComponent ClassNotes
Button:green_heart:Digital InDigitalIO::Button
5-Way Button:heart:Digital InDigitalIO::Button5
ADKeyboard:green_heart:Analog InAnalogIO::ADKeyboard5 Buttons over 1 Analog In
Relay:green_heart:Digital OutDigitalIO::Relay
Rotary Encoder:green_heart:Digital InDigitalIO::RotaryEncoderListens every 1ms
Potentiometer:green_heart:Analog InAnalogIO::PotentiometerSmoothing on by default
Joystick:green_heart:Analog InAnalogIO::Joystick

LED

NameStatusInterfaceComponent ClassNotes
LED:green_heart:Digi/Ana OutLED::Base
RGB LED:green_heart:Digi/Ana OutLED::RGB
Seven Segment:green_heart:Digital OutLED::SevenSegmentBit 7 can be decimal point OR colon
Seven Segment SPI:green_heart:SPILED::SevenSegmentSPIMultiple SevenSegment thru 595 registers
MAX7219:heart:SPILED::MAX72198x 7-Segment w/DP
TM1637:green_heart:Digi Out Bit-BangLED::TM16374x 7-Seg+Colon OR 6x 7-Seg+DPs
TM1638:yellow_heart:SPI Bit-BangLED::TM16388x 7-Segment w/ DP + 8 LEDs. No inputs yet
TM1652:green_heart:UART HardwareLED::TM16524x 7-Segment, 3 w/DP, 1 with colon
WS2812 (Neopixel):green_heart:Adafruit LibraryLED::WS2812
APA102 (Dotstar):green_heart:SPILED::APA102

Display

NameStatusInterfaceComponent ClassNotes
HD44780 LCD:green_heart:Digital Out, Output RegisterDisplay::HD44780Char LCD. Also works through PCF8574
Canvas:yellow_heart:-Display::CanvasMono 2D graphics
SSD1306:green_heart:I2C or SPIDisplay::SSD1306Mono OLED: 128x64, 128x32, 72x40, 64x48, 64x32
CH1115:green_heart:I2CDisplay::CH1115Mono OLED: 88x48
SSD1312:green_heart:I2CDisplay::SSD1312Mono OLED: 128x64, ~1.2 pixel aspect ratio
SH1106:green_heart:I2C or SPIDisplay::SH1106Mono OLED: 128x64
SH1107:green_heart:I2C or SPIDisplay::SH1107Mono OLED: 128x128
PCD8544:green_heart:SPIDisplay::PCD854484x48 Mono LCD (aka Nokia 5110)
ST7565:green_heart:SPIDisplay::ST7565128x64 Mono LCD
ST7302:green_heart:SPIDisplay::ST7302250x122 Mono Reflective LCD
LS027B7DH01:heart:SPIDisplay::SharpLCD400x240 Mono Reflective LCD
SSD1680:green_heart:SPIDisplay::SSD1680296x128 Black/(Red)/White E-Paper (2.9")
SSD1681:green_heart:SPIDisplay::SSD1681200x200 Black/(Red)/White E-Paper (1.54")
IL0373:green_heart:SPIDisplay::IL0373212x104 Black/(Red)/White E-Paper (2.13")
ST7735S:heart:SPIDisplay::ST7735S160x128 RGB LCD
ST7789V:heart:SPIDisplay::ST7789V240x135 RGB LCD (TTGO)
ILI9341:heart:SPIDisplay::ILI9341240x320 RGB LCD
GC9107:heart:SPIDisplay::GC9107128x128 RGB LCD
GC9A01:heart:SPIDisplay::GCA9A01240x240 Round RGB LCD
MAX7219:heart:SPIDisplay::MAX72198x8 LED matrix (chainable)

Sound

NameStatusInterfaceComponent ClassNotes
Piezo Buzzer:green_heart:Tone OutPulseIO::BuzzerFrequency > 30Hz

Motors and Motor Drivers

NameStatusInterfaceComponent ClassNotes
Generic Hobby Servo:green_heart:Servo/ESC PWMMotor::ServoMax depends on PWM channel count
Generic ESC:yellow_heart:Servo/ESC PWMMotor::ServoWorks. Needs its own class.
PCA9685:heart:I2CPulseIO::PCA968516-ch, 12-bit PWM for servo or LED
L298N:green_heart:Digi + PWM OutMotor::L298H-Bridge DC motor driver
DRV8833:heart:Digi + PWM OutMotor::DRV8833H-Bridge DC motor driver
TB6612:heart:Digi + PWM OutMotor::TB6612H-Bridge DC motor driver
AT8236:heart:Digi + PWM OutMotor::AT8236H-Bridge DC motor driver
A3967:green_heart:Digital OutMotor::A39671-ch microstepper (EasyDriver)
A4988:yellow_heart:DigitalOutMotor::Stepper1-ch microstepper
TMC2209:heart:--1-ch silent stepper driver

I/O Expansion

NameStatusInterfaceComponent ClassNotes
Input Register:green_heart:SPISPI::InputRegisterTested on CD4021B
Output Register:green_heart:SPISPI::OutputRegisterTested on 74HC595
PCF8574 Expander:green_heart:I2CDigitalIO::PCF85748-ch digital I/O. Commonly found on HD44780
ADS1100 ADC:green_heart:I2CAnalogIO::ADS11001-ch, 16-bit ADC. No continuous mode.
ADS1115 ADC:green_heart:I2CAnalogIO::ADS11154-ch, 16-bit ADC. Comparator not implemented.
ADS1118 ADC:green_heart:SPIAnalogIO::ADS11184-ch, 16-bit ADC + temperature
ADS1232 ADC:heart:SPIAnalogIO::ADS12322-ch, 24-bit ADC + temperature
PCF8591 ADC/DAC:heart:I2CAnalogIO::PCF85914-ch, 8-bit ADC + 1-ch 8-bit DAC
MCP4725 DAC:heart:I2CAnalogIO::MCP42751-ch, 12-bit DAC
MCP4728 DAC:heart:I2CAnalogIO::MCP42754-ch, 12-bit DAC
PCA9548 I2C Mux:heart:I2CI2C::PCA95488-way I2C multiplexer
DS2413:heart:1-WireDigitalIO::DS24132x Digital Expander
CD74HC4067:heart:Digi/Ana`AnanlogIO::CD74HC406716x Analog Multiplexer

Environmental Sensors

NameStatusInterfaceComponent ClassTypeNotes
MAX31850:heart:OneWireSensor::MAX31850Thermocouple
MAX6675:heart:SPISensor::MAX6675Thermocouple
DS18B20:green_heart:OneWireSensor::DS18B20Temp
DHT11/21/22:green_heart:Digi In/OutSensor::DHTTemp / RH
SHT30/31/35:green_heart:I2CSensor::SHT3XTemp / RHM5Stack ENV III, one-shot only
SHT40/41:green_heart:I2CSensor::SHT4XTemp / RH
QMP6988:green_heart:I2CSensor::QMP6988Temp / PressM5Stack ENV III
BMP180:green_heart:I2CSensor::BMP180Temp / Press
BMP280:green_heart:I2CSensor::BMP280Temp / Press
BME280:green_heart:I2CSensor::BME280Temp / Press / RH
BME680:heart:I2CSensor::BME680Temp / Press / RH / TVOC
HDC1080:green_heart:I2CSensor::HDC1080Temp / RH
HTU21D:green_heart:I2CSensor::HTU21DTemp / RHNo user register read
HTU31D:green_heart:I2CSensor::HTU31DTemp / RHNo diagnostic read
AHT10/15:green_heart:I2CSensor::AHT1XTemp / RH
AHT20/21/25:green_heart:I2CSensor::AHT2XTemp / RH
AHT30:green_heart:I2CSensor::AHT3XTemp / RH
ENS160:heart:I2CSensor::ENS160eCO2 / TVOC / AQI
AGS02MA:heart:I2CSensor::AGS02MATVOC
SCD40:heart:I2CSensor::SDC40Temp / Press / CO2
CCS811:heart:I2CSensor::CCS811eCO2
MICS5524:heart:Analog InSensor::MICS5524CO/Alcohol/VOC
MCP9808:heart:I2CSensor::MCP9808Temp

Light Sensors

NameStatusInterfaceComponent ClassNotes
BH1750:heart:Digital InSensor::BH1750Light
TCS34725:heart:I2CSensor::TCS34725RGB
APDS9960:heart:I2CSensor::APDS9960Proximity, RGB, Gesture
ALS-PT19:green_heart:Analog InSensor::ALSPT19Light
TEMT6000:green_heart:Analog InSensor::TEMT6000Light
VEML6040:heart:I2CSensor::VEML6040RGBW
VEML7700:heart:I2CSensor::VEML7700Light
BH1745NUC:heart:I2CSensor::BH1745NUCRGB
TSL2561:green_heart:I2CSensor::TSL2561Light. No interrupt or custom integration time
TSL2591:heart:I2CSensor::TSL2591Light
ISL29125:heart:I2CSensor::ISL29125RGB

Presence / Motion Sensors

NameStatusInterfaceComponent ClassNotes
HC-SR501:green_heart:Digital InSensor::GenericPIRPIR
HC-SR505:yellow_heart:Digital InSensor::GenericPIRPIR
AS312:green_heart:Digital InSensor::GenericPIRPIR
AM312:yellow_heart:Digital InSensor::GenericPIRPIR
LD2410C:heart:UARTSensor::LD2410CmmWave Human Presence

Distance Sensors

NameStatusInterfaceComponent ClassNotes
HC-SR04:green_heart:Digi In/OutSensor::HCSR04Ultrasonic, 20-4000mm
RCWL-1601:green_heart:Digi In/OutSensor::HCSR04Essentially a 3.3V version of HC-SR04
RCWL-9620:green_heart:I2CSensor::RCWL9260Ultrasonic, 20-4500mm
JSN-SR04T:green_heart:UARTSensor::JSNSR04TMode 2 ONLY. Use HC-SR04 driver for mode 0 or 4.
VL53L0X:yellow_heart:I2CSensor::VL53L0XLaser, 20 - 2000mm. Continuous mode only. No configuration.
GP2Y0E03:heart:I2CSensor::GP2Y0E03Infrared, 40 - 500mm

Inertial Measurement Units

NameStatusInterfaceComponent ClassNotes
ADXL345:heart:I2CSensor::ADXL345Accelerometer
IT3205:heart:I2CSensor::IT3205Gyroscope
HMC5883L:heart:I2CSensor::HMC5883LCompass
MPU6050:heart:I2CSensor::MPU6050Gyro + Accelerometer
MPU6886:heart:I2CSensor::MPU6886Gyro + Accelerometer
BMI160:heart:I2CSensor::BMI160Gyro + Accelerometer
LSM6DS3:heart:I2CSensor::LSM6DS3Gyro + Accelerometer
LIS3DSH:heart:I2CSensor::LIS3DSHAccelerometer

Misc Sensors

NameStatusInterfaceComponent ClassNotes
INA219:heart:I2CSensor::INA219DC Current Sensor
AS5600:heart:I2CSensor::AS5600Magnetic Angle Sensor

Real Time Clocks

NameStatusInterfaceComponent ClassNotes
DS1302:heart:I2CRTC::DS1302
DS1307:heart:I2CRTC::DS1307
DS3231:green_heart:I2CRTC::DS3231Alarms not implemented
PCF8563:heart:I2CRTC::PCF8563

GPS

NameStatusInterfaceComponent ClassNotes
GT-U7:heart:UART-

Miscellaneous

NameStatusInterfaceComponent ClassNotes
Board EEPROM:green_heart:Built-InEEPROM::BoardArduino ARM boards have no EEPROM
AT24C:green_heart:I2CEEPROM::AT24CI2C EEPROM (32, 64, 128 or 256 kib)
MFRC522:heart:SPI/I2CDigitalIO::MFRC522RFID tag reader / writer