Back to Tasmota

I2C devices

I2CDEVICES.md

15.4.015.9 KB
Original Source

I2C devices

Tasmota supports several I2C devices. To use them I2C and the device need to be enabled at compile time. I2C and some devices are supported also in the official releases. Devices can be de/-actived on runtime to solve possible address conflicts. (e.g. address 0x27 is used by multiple devices)

Using command I2cDriver individual drivers can be enabled or disabled at runtime allowing duplicate I2C addresses at compile time. Use the Index from the table below to control I2C drivers like I2cDriver10 0 for disabling BMP support.

Supported I2C devices

The following table lists the supported I2C devices

IndexDefineDriverDeviceAddress(es)Bus2Description
1USE_PCA9685xdrv_15PCA96850x40 - 0x47Yes16-channel 12-bit pwm driver
1USE_PCA9685_V2xdrv_15PCA96850x40 - 0x47Yes16-channel 12-bit pwm driver
2USE_PCF8574xdrv_28PCF85740x20 - 0x26Yes8-bit I/O expander (address range overridable)
2USE_PCF8574xdrv_28PCF8574A0x39 - 0x3FYes8-bit I/O expander (address range overridable)
3USE_DISPLAY_LCDxdsp_010x27, 0x3FYesLCD display
4REMOVEDUSE_DISPLAY_SSD1306 - REMOVED
5USE_DISPLAY_MATRIXxdsp_03HT16K330x70 - 0x778x8 led matrix
6REMOVEDSH11060x3C - 0x3DUSE_DISPLAY_SH1106 - REMOVED
7USE_ADE7953xnrg_07ADE79530x38Energy monitor
8USE_SHTxsns_07SHT1XAnyTemperature and Humidity sensor
9USE_HTUxsns_08HTU210x40YesTemperature and Humidity sensor
9USE_HTUxsns_08SI70130x40YesTemperature and Humidity sensor
9USE_HTUxsns_08SI70200x40YesTemperature and Humidity sensor
9USE_HTUxsns_08SI70210x40YesTemperature and Humidity sensor
10USE_BMPxsns_09BMP0850x76 - 0x77YesPressure and temperature sensor
10USE_BMPxsns_09BMP1800x76 - 0x77YesPressure and temperature sensor
10USE_BMPxsns_09BMP2800x76 - 0x77YesPressure and temperature sensor
10USE_BMPxsns_09BME2800x76 - 0x77YesPressure, temperature and humidity sensor
10USE_BMPxsns_09BME6800x76 - 0x77YesPressure, temperature, humidity and gas sensor
11USE_BH1750xsns_10BH17500x23, 0x5CYesAmbient light intensity sensor
12USE_VEML6070xsns_11VEML60700x38 - 0x39Ultra violet light intensity sensor
13USE_ADS1115xsns_12ADS11150x48 - 0x4BYes4-channel 16-bit A/D converter
14USE_INA219xsns_13INA2190x40, 0x41, 0x44, 0x45Low voltage current sensor
15USE_SHT3Xxsns_14SHT3X0x44 - 0x45YesTemperature and Humidity sensor
15USE_SHT3Xxsns_14SHT4X0x44 - 0x46YesTemperature and Humidity sensor
15USE_SHT3Xxsns_14SHTCX0x70YesTemperature and Humidity sensor
16USE_TSL2561xsns_16TSL25610x29, 0x39, 0x49Light intensity sensor
17USE_MGSxsns_19Grove0x04Multichannel gas sensor
18USE_SGP30xsns_21SGP300x58YesGas (TVOC) and air quality sensor
19USE_SI1145xsns_24SI11450x60YesUltra violet index and light sensor
19USE_SI1145xsns_24SI11460x60YesUltra violet index and light sensor
19USE_SI1145xsns_24SI11470x60YesUltra violet index and light sensor
20USE_LM75ADxsns_26LM75AD0x48 - 0x4FYesTemperature sensor
21USE_APDS9960xsns_27APDS99600x39Proximity ambient light RGB and gesture sensor
22USE_MCP230xxxsns_29MCP230080x20 - 0x26Yes8-bit I/O expander
22USE_MCP230xxxsns_29MCP230170x20 - 0x26Yes16-bit I/O expander
23USE_MPR121xsns_30MPR1210x5A - 0x5DProximity capacitive touch sensor
24USE_CCS811xsns_31CCS8110x5AYesGas (TVOC) and air quality sensor
24'USE_CCS811_V2xsns_31CCS8110x5A - 0x5BGas (TVOC) and air quality sensor
25USE_MPU6050xsns_32MPU60500x68 - 0x693-axis gyroscope and temperature sensor
26USE_DS3231xsns_33DS13070x68YesReal time clock
26USE_DS3231xsns_33DS32310x68YesReal time clock
27USE_MGC3130xsns_36MGC31300x42Electric field sensor
28USE_MAX44009xsns_41MAX440090x4A - 0x4BAmbient light intensity sensor
29USE_SCD30xsns_42SCD300x61YesCO2 sensor
30USE_SPS30xsns_44SPS300x69Particle sensor
31USE_VL53L0Xxsns_45VL53L0X0x29Time-of-flight (ToF) distance sensor
32USE_MLX90614xsns_46MLX906140x5AInfra red temperature sensor
33USE_CHIRPxsns_48CHIRP0x20Soil moisture sensor
34USE_PAJ7620xsns_50PAJ76200x73Gesture sensor
35USE_INA226xsns_54INA2260x40, 0x41, 0x44, 0x45Low voltage current sensor
36USE_HIH6xsns_55HIH61300x27Temperature and Humidity sensor
37USE_24C256xdrv_1024C2560x50Scripter EEPROM storage
38USE_DISPLAY_ILI9488xdsp_08FT62360x38Touch panel controller
39USE_DISPLAY_RA8876xdsp_10FT53160x38Touch panel controller
40USE_TSL2591xsns_57TSL25910x29Light intensity sensor
41USE_DHT12xsns_58DHT120x5CTemperature and humidity sensor
42USE_DS1624xsns_59DS16210x48 - 0x4FTemperature sensor
42USE_DS1624xsns_59DS16240x48 - 0x4FTemperature sensor
43USE_AHT1xxsns_63AHT10/150x38 - 0x39Temperature and humidity sensor
43USE_AHT2xxsns_63AHT200x38Temperature and humidity sensor
43USE_AHT2xxsns_63AM2301B0x38Temperature and humidity sensor
44USE_WEMOS_MOTOR_V1xdrv_340x2D - 0x30WEMOS motor shield v1.0.0 (6612FNG)
45USE_HDC1080xsns_65HDC10800x40Temperature and Humidity sensor
46USE_IAQxsns_66IAQ0x5aYesAir quality sensor
47USE_DISPLAY_SEVENSEGxdsp_11HT16K330x70 - 0x77Seven segment LED
48USE_AS3935xsns_67AS39350x03Franklin Lightning Sensor
49USE_VEML6075xsns_70VEML60750x10UVA/UVB/UVINDEX Sensor
50USE_VEML7700xsns_71VEML77000x10Ambient light intensity sensor
51USE_MCP9808xsns_72MCP98080x18 - 0x1FTemperature sensor
52USE_HP303Bxsns_73HP303B0x76 - 0x77Pressure and temperature sensor
53USE_MLX90640xdrv_43MLX906400x33IR array temperature sensor
54USE_VL53L1Xxsns_77VL53L1X0x29Time-of-flight (ToF) distance sensor
55USE_EZOPHxsns_78EZOPH0x61 - 0x70pH sensor
55USE_EZOORPxsns_78EZOORP0x61 - 0x70ORP sensor
55USE_EZORTDxsns_78EZORTD0x61 - 0x70Temperature sensor
55USE_EZOHUMxsns_78EZOHUM0x61 - 0x70Humidity sensor
55USE_EZOECxsns_78EZOEC0x61 - 0x70Electric conductivity sensor
55USE_EZOCO2xsns_78EZOCO20x61 - 0x70CO2 sensor
55USE_EZOO2xsns_78EZOO20x61 - 0x70O2 sensor
55USE_EZOPRSxsns_78EZOPRS0x61 - 0x70Pressure sensor
55USE_EZOFLOxsns_78EZOFLO0x61 - 0x70Flow meter sensor
55USE_EZODOxsns_78EZODO0x61 - 0x70Disolved Oxygen sensor
55USE_EZORGBxsns_78EZORGB0x61 - 0x70Color sensor
55USE_EZOPMPxsns_78EZOPMP0x61 - 0x70Peristaltic Pump
56USE_SEESAW_SOILxsns_81SEESOIL0x36 - 0x39Adafruit Seesaw soil moisture & temp sensor
56USE_SEESAW_ENCODERxsns_81SEEENC0x36 - 0x39Adafruit Seesaw rotary encoder
57USE_TOF10120xsns_84TOF101200x52Time-of-flight (ToF) distance sensor
58USE_MPU_ACCELxsns_85MPU_ACCEL0x68YesMPU6886/MPU9250 6-axis MotionTracking sensor from M5Stack
59USE_BM8563xdrv_56BM85630x51YesBM8563 RTC from M5Stack
60USE_AM2320xsns_88AM23200x5CTemperature and Humidity sensor
61USE_T67XXxsns_89T67XX0x15CO2 sensor
62USE_SCD40xsns_92SCD400x62YesCO2 sensor Sensirion SCD4x
63USE_HM330Xxsns_93HM330X0x40Particule sensor
64USE_HDC2010xsns_94HDC20100x40Temperature and Humidity sensor
65USE_ADE7880xnrg_23ADE78800x38Energy monitor
66USE_PCF85363xsns_99PCF853630x51YesReal time clock
67USE_DS3502xdrv_61DS35020x28 - 0x2BDigital potentiometer
68USE_HYTxsns_97HYTxxx0x28YesTemperature and Humidity sensor
69USE_SGP40xsns_98SGP400x59YesGas (TVOC) and air quality
70USE_LUXV30Bxsns_99LUXV30B0x4ADFRobot SEN0390 V30B lux sensor
71USE_QMC5883Lxsns_33QMC5883L0x0DMagnetic Field Sensor
72USE_INA3221xsns_100INA32210x40-0x433-channels Voltage and Current sensor
73USE_HMC5883Lxsns_101HMC5883L0x1E3-channels Magnetic Field Sensor
74USE_DISPLAY_TM1650xdsp_20TM16500x24 - 0x27, 0x34 - 0x37Four-digit seven-segment LED controller
75USE_PCA9632xdrv_64PCA96320x604-channel 4-bit pwm driver
76USE_SEN5Xxsns_103SEN5X0x69YesGas (VOC/NOx index) and air quality (PPM <1,<2.5,<4,<10)
77USE_MCP23XXX_DRVxdrv_67MCP23x170x20 - 0x26Yes16-bit I/O expander as virtual button/switch/relay
78USE_PMSA003Ixsns_104PMSA003I0x12PM2.5 Air Quality Sensor with I2C Interface
79USE_GDK101xsns_106GDK1010x18 - 0x1BYesGamma Radiation Sensor
80USE_TC74xsns_108TC740x48 - 0x4FTemperature sensor
81USE_PCA9557xdrv_69PCA95xx0x18 - 0x1F8-bit I/O expander as virtual button/switch/relay
81USE_TCA9554xdrv_69TCA95xx0x20 - 0x278-bit I/O expander as virtual button/switch/relay
82USE_SGP4Xxsns_109SGP4X0x59Gas (TVOC/NOx index)
83USE_MAX17043xsns_110MAX170430x36Fuel-gauge for 3.7 Volt Lipo battery
84USE_ENS16xxsns_111ENS16x0x52 - 0x53Gas (TVOC, eCO2) and air quality sensor
85USE_ENS210xsns_112ENS2100x43 - 0x44Temperature and humidity sensor
86USE_AMSX915xsns_114AMS69150x28Pressure (absolute/differential) and temperature sensor
87USE_SPL06_007xsns_25SPL06-0070x76Pressure and temperature sensor
88USE_QMP6988xsns_28QMP69880x56, 0x70YesPressure and temperature sensor
89USE_HX711_M5SCALESxsns_34M5SCALES0x26YesM5Unit (Mini)Scales(HX711 STM32) U177
90USE_RX8010xdrv_56RX80100x32YesRX8010 RTC from IOTTIMER
90USE_RX8030xdrv_56RX80300x32YesRX8030 RTC from #23855
91USE_MS5837xsns_116MS58370x76Pressure and temperature sensor
92USE_PCF85063xdrv_56PCF850630x51YesPCF85063 Real time clock
93USE_AS33772Sxdrv_119AS33772S0x52YesAS33772S USB PD Sink Controller
94USE_RV3028xdrv_56RV30280x52YesRV-3028-C7 RTC Controller
95USE_AGS02MAxsns_118AGS02MA0x1ATVOC Gas sensor
96USE_RX8025xdrv_56RX80250x32YesRX8025 RTC
97USE_SEN6Xxsns_119SEN6X0x6BYesGas (CO2/VOC/NOx index) and air quality (PPM <1,<2.5,<4,<10)
98USE_FM24CXXxdrv_93FM24CXX0x50 - 0x57YesFM24CXX - External FRAM with console / berry R/W operations
99USE_STCC4xsns_120STCC40x64, 0x65YesCO2 and optional temperature and humidity sensor

NOTE: Bus2 is supported on ESP8266, ESP32, ESP32-C6, ESP32-H2, ESP32-P4, ESP32-S2 and ESP32-S3