esp-idf-lib/core documentation
The core repository of esp-idf-lib
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.
Supported versions of frameworks and devices
Chip |
Framework |
Versions |
|---|---|---|
ESP32-xx |
ESP-IDF |
All officially supported versions (see Support Period Policy) and |
Purpose
The purpose of esp-idf-lib/core is:
Documenting common policies and rules
Discussions about our components
Linking all the components and their status
Reporting issues in our component
When the issue is bug in the component, please open an Issue in the component repository.
Questions or discussions
For questions or discussions, use discussions in this repository.
Documentation
Requesting new driver
TBW
Components
Components for Espressif ESP32 ESP-IDF framework and ESP8266 RTOS SDK.
Part of them ported from esp-open-rtos.
ADC/DAC libraries
Name |
Description |
|---|---|
Driver for ADS1113/ADS1114/ADS1115 and ADS1013/ADS1014/ADS1015 I2C ADC (Documentation) |
|
Driver for ADS130E08 ADC (Documentation) |
|
Driver for HX711 24-bit ADC for weigh scales (Documentation) |
|
Driver for 18-Bit, delta-sigma ADC MCP3426/MCP3427/MCP3428 (Documentation) |
|
Driver for 12-bit DAC MCP4725 (Documentation) |
|
Driver for 8-bit ADC and an 8-bit DAC PCF8591 (Documentation) |
|
Driver for SGM58031 16-bit I2C ADC (Documentation) |
Common libraries
Name |
Description |
|---|---|
A template for esp-idf-lib component (Documentation) |
|
Multi-point calibration library (Documentation) |
|
Common library for RGB and HSV colors (Documentation) |
|
Common support library for esp-idf-lib (Documentation) |
|
RGB framebuffer component (Documentation) |
|
ESP-IDF I2C master thread-safe utilities (Documentation) |
|
Math functions specifically designed for LED programming (Documentation) |
|
Noise generation functions (Documentation) |
|
Bit-banging 1-Wire driver (Documentation) |
Real-time clocks
Name |
Description |
|---|---|
Driver for DS1302 RTC module (Documentation) |
|
Driver for DS1307 RTC module (Documentation) |
|
Driver for DS1337 RTC and DS3231 high precision RTC module (Documentation) |
|
Driver for PCF8563 (BM8563) real-time clock/calendar (Documentation) |
Humidity sensors
Name |
Description |
|---|---|
Driver for AHT10/AHT15/AHT20 temperature and humidity sensor (Documentation) |
|
Driver for AM2320 temperature and humidity sensor (I2C) (Documentation) |
|
Driver for BME680 digital environmental sensor (Documentation) |
|
Driver for DHT11, AM2301 (DHT21, DHT22, AM2302, AM2321), Itead Si7021 (Documentation) |
|
Driver for HDC1000 temperature and humidity sensor (Documentation) |
|
Driver for HTS221 temperature and humidity sensor (Documentation) |
|
Driver for SFA30 formaldehyde detection module (I2C) (Documentation) |
|
Driver for Sensirion SHT30/SHT31/SHT35 digital temperature and humidity sensor (Documentation) |
|
Driver for Sensirion SHT40/SHT41/SHT45 digital temperature and humidity sensor (Documentation) |
|
Driver for Si7013/Si7020/Si7021/HTU2xD/SHT2x and compatible temperature and humidity sensors (Documentation) |
Temperature sensors
Name |
Description |
|---|---|
Driver for AHT10/AHT15/AHT20 temperature and humidity sensor (Documentation) |
|
Driver for AM2320 temperature and humidity sensor (I2C) (Documentation) |
|
Driver for BH1900NUX temperature sensor (Documentation) |
|
Driver for BME680 digital environmental sensor (Documentation) |
|
Driver for BMP180 digital pressure sensor (Documentation) |
|
Driver for BMP280/BME280 digital pressure sensor (Documentation) |
|
Driver for DHT11, AM2301 (DHT21, DHT22, AM2302, AM2321), Itead Si7021 (Documentation) |
|
Driver for DPS310 barometric pressure sensor (Documentation) |
|
Driver for DS18B20/DS18S20 families of 1-Wire temperature sensor ICs (Documentation) |
|
Driver for HDC1000 temperature and humidity sensor (Documentation) |
|
Driver for HTS221 temperature and humidity sensor (Documentation) |
|
Driver for LM75, a digital temperature sensor and thermal watchdog (Documentation) |
|
Driver for MAX31725/MAX31726 temperature sensors (Documentation) |
|
Driver for MAX31855 cold-junction compensated thermocouple-to-digital converter (Documentation) |
|
Driver for MAX31865 resistance converter for platinum RTDs (Documentation) |
|
Driver for MCP9600/MCP9601, thermocouple EMF to temperature converter (Documentation) |
|
Driver for MCP9808 digital temperature sensor (Documentation) |
|
Driver for barometic pressure sensor MS5611-01BA03 (Documentation) |
|
Driver for QMP6988 digital temperature and pressure sensor (Documentation) |
|
Driver for SFA30 formaldehyde detection module (I2C) (Documentation) |
|
Driver for Sensirion SHT30/SHT31/SHT35 digital temperature and humidity sensor (Documentation) |
|
Driver for Sensirion SHT40/SHT41/SHT45 digital temperature and humidity sensor (Documentation) |
|
Driver for Si7013/Si7020/Si7021/HTU2xD/SHT2x and compatible temperature and humidity sensors (Documentation) |
|
Driver for STS21 temperature sensor (Documentation) |
|
Driver for Sensirion STS30/STS31/STS35 digital temperature sensor (Documentation) |
|
Driver for precision digital temperature sensor TSYS01 (Documentation) |
Pressure sensors
Name |
Description |
|---|---|
Driver for BME680 digital environmental sensor (Documentation) |
|
Driver for BMP180 digital pressure sensor (Documentation) |
|
Driver for BMP280/BME280 digital pressure sensor (Documentation) |
|
Driver for DPS310 barometric pressure sensor (Documentation) |
|
Driver for barometic pressure sensor MS5611-01BA03 (Documentation) |
|
Driver for QMP6988 digital temperature and pressure sensor (Documentation) |
Air quality sensors
Name |
Description |
|---|---|
Driver for AMS CCS811 digital gas sensor (Documentation) |
|
Driver for MH-Z19B NDIR CO₂ sensor (Documentation) |
|
Driver for SCD30 CO₂ sensor (Documentation) |
|
Driver for SCD40/SCD41 miniature CO₂ sensor (Documentation) |
|
Driver for SFA30 formaldehyde detection module (I2C) (Documentation) |
|
Driver for SGP40 Indoor Air Quality Sensor for VOC Measurements (Documentation) |
Gas sensors
Name |
Description |
|---|---|
Driver for AMS CCS811 digital gas sensor (Documentation) |
|
Driver for MH-Z19B NDIR CO₂ sensor (Documentation) |
|
Driver for SCD30 CO₂ sensor (Documentation) |
|
Driver for SCD40/SCD41 miniature CO₂ sensor (Documentation) |
|
Driver for SFA30 formaldehyde detection module (I2C) (Documentation) |
Current and power sensors
Name |
Description |
|---|---|
Driver for INA219/INA220 bidirectional current/power monitor (Documentation) |
|
Driver for INA260 precision digital current and power monitor (Documentation) |
|
Driver for INA3221 shunt and bus voltage monitor (Documentation) |
Magnetic sensors
Name |
Description |
|---|---|
Driver for 3-axis digital compass HMC5883L and HMC5983L (Documentation) |
|
Driver for LSM303 3-axis accelerometer and magnetometer sensor (Documentation) |
|
Driver for QMC5883L 3-axis magnetic sensor (Documentation) |
|
Driver for QMI8658C 6-axis IMU sensor (Documentation) |
Light sensors
Name |
Description |
|---|---|
Driver for BH1750 light sensor (Documentation) |
|
Driver for light-to-digital converter TSL2561 (Documentation) |
|
Driver for light-to-digital converter TSL2591 (Documentation) |
|
Driver for digital ambient light sensor TSL4531 (Documentation) |
|
Driver for VEML7700 ambient light sensor (Documentation) |
GPIO expanders
Name |
Description |
|---|---|
Driver for 8-bit I2C GPIO expander MCP23008 (Documentation) |
|
Driver for I2C/SPI 16 bit GPIO expanders MCP23017/MCP23S17 (Documentation) |
|
Driver for PCA9536/PCA9537/PCA9557/TCA9534 remote 4/8-bit I/O expanders for I2C-bus (Documentation) |
|
Driver for PCF8574 remote 8-bit I/O expander for I2C-bus (Documentation) |
|
Driver for PCF8575 remote 16-bit I/O expander for I2C-bus (Documentation) |
|
Driver for TCA6424A low-voltage 24-bit I2C I/O expander (Documentation) |
|
Driver for TCA9535/TCA9555 remote 16-bit I/O expanders for I2C-bus (Documentation) |
LED drivers
Name |
Description |
|---|---|
HT16K33 LED controller driver (Documentation) |
|
RMT-based driver for WS2812B/SK6812/APA106/SM16703 LED strips (Documentation) |
|
SPI-based driver for SK9822/APA102 LED strips (Documentation) |
|
Driver for 8-Digit LED display drivers, MAX7219/MAX7221 (Documentation) |
|
Driver for PCA9632 4-channel PWM chip (Documentation) |
Input device drivers
Name |
Description |
|---|---|
HW timer-based driver for GPIO buttons (Documentation) |
|
HW timer-based driver for incremental rotary encoders (Documentation) |
|
Driver for LS7366R Quadrature Encoder Counter (Documentation) |
Other misc libraries
Name |
Description |
|---|---|
Driver for nonvolatile digital potentiometer DS3502 (Documentation) |
|
An example component (Documentation) |
|
Driver for HD44780 compatible LCD text displays (Documentation) |
|
Driver for impulse output sensors (Documentation) |
|
Driver for 16-channel, 12-bit PWM PCA9685 (Documentation) |
|
Driver for single-chip broadcast FM radio tuner RDA5807M (Documentation) |
|
Driver for TCA9548A/PCA9548A low-voltage 8-channel I2C switch (Documentation) |
|
Driver for TDA7439/TDA7439DS/TDA7440D audioprocessors (Documentation) |
|
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) |
|
Driver for ultrasonic range meters, e.g. HC-SR04, HY-SRF05 (Documentation) |
|
Wiegand protocol receiver (Documentation) |
Inertial measurement units
Name |
Description |
|---|---|
Driver for TDK ICM-42670-P 6-Axis IMU (Documentation) |
|
Driver for L3Gx(L3GD20/L3G4200D) 3-axis gyroscope sensors (Documentation) |
|
Driver for LSM303 3-axis accelerometer and magnetometer sensor (Documentation) |
|
Driver for MPU6000/MPU6050 6-axis MotionTracking device (Documentation) |
Battery controllers
Name |
Description |
|---|---|
Driver for LC709203F battery fuel gauge (Documentation) |
|
Driver for MAX17043/MAX17044/MAX17048/MAX17049 battery fuel gauge (Documentation) |
|
Driver for MP2660 5V USB, 500mA, I2C-Controlled Linear Charger with Power Path Management for Single-Cell Li-Ion Battery (Documentation) |
Contributors
Alex Stewart
ds18x20Alexander Bodenseher
hts221Andrej Krutak
bh1750Angelo Elias Dalzotto
mpu6050BernhardG
ms5611BhuvanchandraD
ds3231Brian Schwind
tsl2561tsl4531Cedric von Gunten
qmp6988Christian Skjerning
sts3xDavid Douard
mhz19bErriez
mhz19bFastLED project
colorlib8tionnoiseFrank Bargstedt
bmp180Gabriel Boni Vicari
mpu6050GrzegorzH
ds18x20Gunar Schorcht
bme680ccs811sht3xsts3xJakub Turek
impulse_sensorl3gxlsm303pca9632Jan Veeh
icm42670Jeff Rowberg
mpu6050Jose Manuel Perez
lc709203fsgm58031Joshua Butler
max1704xJoshua Kallus
ls7366rJulian Doerner
tsl2591Lucio Tarantino
ads111xManuel Markwort
mp2660tps63101xMarc Luehr
veml7700Nate Usher
scd30Pavel Merzlyakov
ds1302Raghav Jha
mpu6050RichardA
ds3231Ruslan V. Uss
ads111xahtam2320bh1750bh1900nuxbme680bmp180bmp280buttoncalibrationccs811dhtds1302ds1307ds18x20ds3231ds3502encoderframebufferhd44780hdc1000hmc5883lhx711i2cdevina219ina260ina3221led_stripled_strip_spimax31725max31855max31865max7219mcp23008mcp23x17mcp342xmcp4725mcp960xmcp9808mpu6050ms5611onewirepca9557pca9685pcf8563pcf8574pcf8575pcf8591qmc5883lqmp6988rda5807mscd30scd4xsfa3xsgp40sht3xsht4xsi7021sts21sts3xtca6424atca9548tca95x5tda74xxtsl2561tsl4531tsys01ultrasonicwiegandSensirion AG
scd30scd4xsfa3xThanh Pham
pcf8591Timofei Korostelev
ht16k33Tomoyuki Sakurai
bmi160dps310esp_idf_lib_helpersexampleled_strip_spilm75Weslley Duarte
ads130e08Zaltora
ina3221jsuiker
dhtlukbieli
bmi160quinkq
i2cdevsheinz
bmp280xyzroe
qmi8658czeroday
onewire
Contributing
Component status