This is the core repository of esp-idf-lib. The organization is the successor of UncleRus/esp-idf-lib.
Note
When migrating from UncleRus/esp-idf-lib do not add this repository as a dependency.
Instead, add individual components as ESP-IDF components in your idf_component.yml.
You can find all components on the ESP Component Registry.
| Chip | Framework | Versions |
|---|---|---|
| ESP32-xx | ESP-IDF | All officially supported versions (see Support Period Policy) and master |
The purpose of esp-idf-lib/core is:
- Documenting common policies and rules
- Discussions about our components
- Linking all the components and their status
When the issue is bug in the component, please open an Issue in the component repository.
For questions or discussions, use discussions in this repository.
TBW
Components for Espressif ESP32 ESP-IDF framework and ESP8266 RTOS SDK.
Part of them ported from esp-open-rtos.
| Name | Description |
|---|---|
| ads111x |
Driver for ADS1113/ADS1114/ADS1115 and ADS1013/ADS1014/ADS1015 I2C ADC (Documentation) |
| ads130e08 |
Driver for ADS130E08 ADC (Documentation) |
| hx711 |
Driver for HX711 24-bit ADC for weigh scales (Documentation) |
| mcp342x |
Driver for 18-Bit, delta-sigma ADC MCP3426/MCP3427/MCP3428 (Documentation) |
| mcp4725 |
Driver for 12-bit DAC MCP4725 (Documentation) |
| pcf8591 |
Driver for 8-bit ADC and an 8-bit DAC PCF8591 (Documentation) |
| sgm58031 |
Driver for SGM58031 16-bit I2C ADC (Documentation) |
| Name | Description |
|---|---|
| bmi160 |
A template for esp-idf-lib component (Documentation) |
| calibration |
Multi-point calibration library (Documentation) |
| color |
Common library for RGB and HSV colors (Documentation) |
| esp_idf_lib_helpers |
Common support library for esp-idf-lib (Documentation) |
| framebuffer |
RGB framebuffer component (Documentation) |
| i2cdev |
ESP-IDF I2C master thread-safe utilities (Documentation) |
| lib8tion |
Math functions specifically designed for LED programming (Documentation) |
| noise |
Noise generation functions (Documentation) |
| onewire |
Bit-banging 1-Wire driver (Documentation) |
| Name | Description |
|---|---|
| ds1302 |
Driver for DS1302 RTC module (Documentation) |
| ds1307 |
Driver for DS1307 RTC module (Documentation) |
| ds3231 |
Driver for DS1337 RTC and DS3231 high precision RTC module (Documentation) |
| pcf8563 |
Driver for PCF8563 (BM8563) real-time clock/calendar (Documentation) |
| Name | Description |
|---|---|
| aht |
Driver for AHT10/AHT15/AHT20 temperature and humidity sensor (Documentation) |
| am2320 |
Driver for AM2320 temperature and humidity sensor (I2C) (Documentation) |
| bme680 |
Driver for BME680 digital environmental sensor (Documentation) |
| dht |
Driver for DHT11, AM2301 (DHT21, DHT22, AM2302, AM2321), Itead Si7021 (Documentation) |
| hdc1000 |
Driver for HDC1000 temperature and humidity sensor (Documentation) |
| hts221 |
Driver for HTS221 temperature and humidity sensor (Documentation) |
| sfa3x |
Driver for SFA30 formaldehyde detection module (I2C) (Documentation) |
| sht3x |
Driver for Sensirion SHT30/SHT31/SHT35 digital temperature and humidity sensor (Documentation) |
| sht4x |
Driver for Sensirion SHT40/SHT41/SHT45 digital temperature and humidity sensor (Documentation) |
| si7021 |
Driver for Si7013/Si7020/Si7021/HTU2xD/SHT2x and compatible temperature and humidity sensors (Documentation) |
| Name | Description |
|---|---|
| aht |
Driver for AHT10/AHT15/AHT20 temperature and humidity sensor (Documentation) |
| am2320 |
Driver for AM2320 temperature and humidity sensor (I2C) (Documentation) |
| bh1900nux |
Driver for BH1900NUX temperature sensor (Documentation) |
| bme680 |
Driver for BME680 digital environmental sensor (Documentation) |
| bmp180 |
Driver for BMP180 digital pressure sensor (Documentation) |
| bmp280 |
Driver for BMP280/BME280 digital pressure sensor (Documentation) |
| dht |
Driver for DHT11, AM2301 (DHT21, DHT22, AM2302, AM2321), Itead Si7021 (Documentation) |
| dps310 |
Driver for DPS310 barometric pressure sensor (Documentation) |
| ds18x20 |
Driver for DS18B20/DS18S20 families of 1-Wire temperature sensor ICs (Documentation) |
| hdc1000 |
Driver for HDC1000 temperature and humidity sensor (Documentation) |
| hts221 |
Driver for HTS221 temperature and humidity sensor (Documentation) |
| lm75 |
Driver for LM75, a digital temperature sensor and thermal watchdog (Documentation) |
| max31725 |
Driver for MAX31725/MAX31726 temperature sensors (Documentation) |
| max31855 |
Driver for MAX31855 cold-junction compensated thermocouple-to-digital converter (Documentation) |
| max31865 |
Driver for MAX31865 resistance converter for platinum RTDs (Documentation) |
| mcp960x |
Driver for MCP9600/MCP9601, thermocouple EMF to temperature converter (Documentation) |
| mcp9808 |
Driver for MCP9808 digital temperature sensor (Documentation) |
| ms5611 |
Driver for barometic pressure sensor MS5611-01BA03 (Documentation) |
| qmp6988 |
Driver for QMP6988 digital temperature and pressure sensor (Documentation) |
| sfa3x |
Driver for SFA30 formaldehyde detection module (I2C) (Documentation) |
| sht3x |
Driver for Sensirion SHT30/SHT31/SHT35 digital temperature and humidity sensor (Documentation) |
| sht4x |
Driver for Sensirion SHT40/SHT41/SHT45 digital temperature and humidity sensor (Documentation) |
| si7021 |
Driver for Si7013/Si7020/Si7021/HTU2xD/SHT2x and compatible temperature and humidity sensors (Documentation) |
| sts21 |
Driver for STS21 temperature sensor (Documentation) |
| sts3x |
Driver for Sensirion STS30/STS31/STS35 digital temperature sensor (Documentation) |
| tsys01 |
Driver for precision digital temperature sensor TSYS01 (Documentation) |
| Name | Description |
|---|---|
| bme680 |
Driver for BME680 digital environmental sensor (Documentation) |
| bmp180 |
Driver for BMP180 digital pressure sensor (Documentation) |
| bmp280 |
Driver for BMP280/BME280 digital pressure sensor (Documentation) |
| dps310 |
Driver for DPS310 barometric pressure sensor (Documentation) |
| ms5611 |
Driver for barometic pressure sensor MS5611-01BA03 (Documentation) |
| qmp6988 |
Driver for QMP6988 digital temperature and pressure sensor (Documentation) |
| Name | Description |
|---|---|
| ccs811 |
Driver for AMS CCS811 digital gas sensor (Documentation) |
| mhz19b |
Driver for MH-Z19B NDIR CO₂ sensor (Documentation) |
| scd30 |
Driver for SCD30 CO₂ sensor (Documentation) |
| scd4x |
Driver for SCD40/SCD41 miniature CO₂ sensor (Documentation) |
| sfa3x |
Driver for SFA30 formaldehyde detection module (I2C) (Documentation) |
| sgp40 |
Driver for SGP40 Indoor Air Quality Sensor for VOC Measurements (Documentation) |
| Name | Description |
|---|---|
| ccs811 |
Driver for AMS CCS811 digital gas sensor (Documentation) |
| mhz19b |
Driver for MH-Z19B NDIR CO₂ sensor (Documentation) |
| scd30 |
Driver for SCD30 CO₂ sensor (Documentation) |
| scd4x |
Driver for SCD40/SCD41 miniature CO₂ sensor (Documentation) |
| sfa3x |
Driver for SFA30 formaldehyde detection module (I2C) (Documentation) |
| Name | Description |
|---|---|
| ina219 |
Driver for INA219/INA220 bidirectional current/power monitor (Documentation) |
| ina260 |
Driver for INA260 precision digital current and power monitor (Documentation) |
| ina3221 |
Driver for INA3221 shunt and bus voltage monitor (Documentation) |
| Name | Description |
|---|---|
| hmc5883l |
Driver for 3-axis digital compass HMC5883L and HMC5983L (Documentation) |
| lsm303 |
Driver for LSM303 3-axis accelerometer and magnetometer sensor (Documentation) |
| qmc5883l |
Driver for QMC5883L 3-axis magnetic sensor (Documentation) |
| qmi8658c |
Driver for QMI8658C 6-axis IMU sensor (Documentation) |
| Name | Description |
|---|---|
| bh1750 |
Driver for BH1750 light sensor (Documentation) |
| tsl2561 |
Driver for light-to-digital converter TSL2561 (Documentation) |
| tsl2591 |
Driver for light-to-digital converter TSL2591 (Documentation) |
| tsl4531 |
Driver for digital ambient light sensor TSL4531 (Documentation) |
| veml7700 |
Driver for VEML7700 ambient light sensor (Documentation) |
| Name | Description |
|---|---|
| mcp23008 |
Driver for 8-bit I2C GPIO expander MCP23008 (Documentation) |
| mcp23x17 |
Driver for I2C/SPI 16 bit GPIO expanders MCP23017/MCP23S17 (Documentation) |
| pca9557 |
Driver for PCA9536/PCA9537/PCA9557/TCA9534 remote 4/8-bit I/O expanders for I2C-bus (Documentation) |
| pcf8574 |
Driver for PCF8574 remote 8-bit I/O expander for I2C-bus (Documentation) |
| pcf8575 |
Driver for PCF8575 remote 16-bit I/O expander for I2C-bus (Documentation) |
| tca6424a |
Driver for TCA6424A low-voltage 24-bit I2C I/O expander (Documentation) |
| tca95x5 |
Driver for TCA9535/TCA9555 remote 16-bit I/O expanders for I2C-bus (Documentation) |
| Name | Description |
|---|---|
| ht16k33 |
HT16K33 LED controller driver (Documentation) |
| led_strip |
RMT-based driver for WS2812B/SK6812/APA106/SM16703 LED strips (Documentation) |
| led_strip_spi |
SPI-based driver for SK9822/APA102 LED strips (Documentation) |
| max7219 |
Driver for 8-Digit LED display drivers, MAX7219/MAX7221 (Documentation) |
| pca9632 |
Driver for PCA9632 4-channel PWM chip (Documentation) |
| Name | Description |
|---|---|
| button |
HW timer-based driver for GPIO buttons (Documentation) |
| encoder |
HW timer-based driver for incremental rotary encoders (Documentation) |
| ls7366r |
Driver for LS7366R Quadrature Encoder Counter (Documentation) |
| Name | Description |
|---|---|
| ds3502 |
Driver for nonvolatile digital potentiometer DS3502 (Documentation) |
| example |
An example component (Documentation) |
| hd44780 |
Driver for HD44780 compatible LCD text displays (Documentation) |
| impulse_sensor |
Driver for impulse output sensors (Documentation) |
| pca9685 |
Driver for 16-channel, 12-bit PWM PCA9685 (Documentation) |
| rda5807m |
Driver for single-chip broadcast FM radio tuner RDA5807M (Documentation) |
| tca9548 |
Driver for TCA9548A/PCA9548A low-voltage 8-channel I2C switch (Documentation) |
| tda74xx |
Driver for TDA7439/TDA7439DS/TDA7440D audioprocessors (Documentation) |
| tps63101x |
Driver for Texas Instruments TPS631012 and TPS631013 1.6-V to 5.5-V Input Voltage 1.5-A Buck-boost Converter with I2C (Documentation) |
| ultrasonic |
Driver for ultrasonic range meters, e.g. HC-SR04, HY-SRF05 (Documentation) |
| wiegand |
Wiegand protocol receiver (Documentation) |
| Name | Description |
|---|---|
| icm42670 |
Driver for TDK ICM-42670-P 6-Axis IMU (Documentation) |
| l3gx |
Driver for L3Gx(L3GD20/L3G4200D) 3-axis gyroscope sensors (Documentation) |
| lsm303 |
Driver for LSM303 3-axis accelerometer and magnetometer sensor (Documentation) |
| mpu6050 |
Driver for MPU6000/MPU6050 6-axis MotionTracking device (Documentation) |
| Name | Description |
|---|---|
| lc709203f |
Driver for LC709203F battery fuel gauge (Documentation) |
| max1704x |
Driver for MAX17043/MAX17044/MAX17048/MAX17049 battery fuel gauge (Documentation) |
| mp2660 |
Driver for MP2660 5V USB, 500mA, I2C-Controlled Linear Charger with Power Path Management for Single-Cell Li-Ion Battery (Documentation) |
- Alex Stewart
ds18x20 - Alexander Bodenseher
hts221 - Andrej Krutak
bh1750 - Angelo Elias Dalzotto
mpu6050 - BernhardG
ms5611 - BhuvanchandraD
ds3231 - Brian Schwind
tsl2561tsl4531 - Cedric von Gunten
qmp6988 - Christian Skjerning
sts3x - David Douard
mhz19b - Erriez
mhz19b - FastLED project
colorlib8tionnoise - Frank Bargstedt
bmp180 - Gabriel Boni Vicari
mpu6050 - Grupo de Pesquisa em Cultura Digital
mpu6050 - GrzegorzH
ds18x20 - Gunar Schorcht
bme680ccs811sht3xsts3x - Jakub Turek
impulse_sensorl3gxlsm303pca9632 - Jan Veeh
icm42670 - Jeff Rowberg
mpu6050 - Jose Manuel Perez
lc709203fsgm58031 - Joshua Butler
max1704x - Joshua Kallus
ls7366r - Julian Doerner
tsl2591 - Lucio Tarantino
ads111x - Manuel Markwort
mp2660tps63101x - Marc Luehr
veml7700 - Nate Usher
scd30 - Pavel Merzlyakov
ds1302 - Raghav Jha
mpu6050 - RichardA
ds3231 - Ruslan V. Uss
ads111xahtam2320bh1750bh1900nuxbme680bmp180bmp280buttoncalibrationccs811dhtds1302ds1307ds18x20ds3231ds3502encoderframebufferhd44780hdc1000hmc5883lhx711i2cdevina219ina260ina3221led_stripled_strip_spimax31725max31855max31865max7219mcp23008mcp23x17mcp342xmcp4725mcp960xmcp9808mpu6050ms5611onewirepca9557pca9685pcf8563pcf8574pcf8575pcf8591qmc5883lqmp6988rda5807mscd30scd4xsfa3xsgp40sht3xsht4xsi7021sts21sts3xtca6424atca9548tca95x5tda74xxtsl2561tsl4531tsys01ultrasonicwiegand - Sensirion AG
scd30scd4xsfa3x - Thanh Pham
pcf8591 - Timofei Korostelev
ht16k33 - Tomoyuki Sakurai
bmi160dps310esp_idf_lib_helpersexampleled_strip_spilm75 - Weslley Duarte
ads130e08 - Zaltora
ina3221 - jsuiker
dht - lukbieli
bmi160 - sheinz
bmp280 - xyzroe
qmi8658c - zeroday
onewire