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.

Supported versions of frameworks and devices

Chip

Framework

Versions

ESP32-xx

ESP-IDF

All officially supported versions (see Support Period Policy) and master

Purpose

The purpose of esp-idf-lib/coreis:

  • 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

ads111x
Component Registry

Driver for ADS1113/ADS1114/ADS1115 and ADS1013/ADS1014/ADS1015 I2C ADC (Documentation)

ads130e08
Component Registry

Driver for ADS130E08 ADC (Documentation)

hx711
Component Registry

Driver for HX711 24-bit ADC for weigh scales (Documentation)

mcp342x
Component Registry

Driver for 18-Bit, delta-sigma ADC MCP3426/MCP3427/MCP3428 (Documentation)

mcp4725
Component Registry

Driver for 12-bit DAC MCP4725 (Documentation)

pcf8591
Component Registry

Driver for 8-bit ADC and an 8-bit DAC PCF8591 (Documentation)

sgm58031
Component Registry

Driver for SGM58031 16-bit I2C ADC (Documentation)

Common libraries

Name

Description

bmi160
Component Registry

A template for esp-idf-lib component (Documentation)

calibration
Component Registry

Multi-point calibration library (Documentation)

color
Component Registry

Common library for RGB and HSV colors (Documentation)

esp_idf_lib_helpers
Component Registry

Common support library for esp-idf-lib (Documentation)

framebuffer
Component Registry

RGB framebuffer component (Documentation)

i2cdev
Component Registry

ESP-IDF I2C master thread-safe utilities (Documentation)

lib8tion
Component Registry

Math functions specifically designed for LED programming (Documentation)

noise
Component Registry

Noise generation functions (Documentation)

onewire
Component Registry

Bit-banging 1-Wire driver (Documentation)

Real-time clocks

Name

Description

ds1302
Component Registry

Driver for DS1302 RTC module (Documentation)

ds1307
Component Registry

Driver for DS1307 RTC module (Documentation)

ds3231
Component Registry

Driver for DS1337 RTC and DS3231 high precision RTC module (Documentation)

pcf8563
Component Registry

Driver for PCF8563 (BM8563) real-time clock/calendar (Documentation)

Humidity sensors

Name

Description

aht
Component Registry

Driver for AHT10/AHT15/AHT20 temperature and humidity sensor (Documentation)

am2320
Component Registry

Driver for AM2320 temperature and humidity sensor (I2C) (Documentation)

bme680
Component Registry

Driver for BME680 digital environmental sensor (Documentation)

dht
Component Registry

Driver for DHT11, AM2301 (DHT21, DHT22, AM2302, AM2321), Itead Si7021 (Documentation)

hdc1000
Component Registry

Driver for HDC1000 temperature and humidity sensor (Documentation)

hts221
Component Registry

Driver for HTS221 temperature and humidity sensor (Documentation)

sfa3x
Component Registry

Driver for SFA30 formaldehyde detection module (I2C) (Documentation)

sht3x
Component Registry

Driver for Sensirion SHT30/SHT31/SHT35 digital temperature and humidity sensor (Documentation)

sht4x
Component Registry

Driver for Sensirion SHT40/SHT41/SHT45 digital temperature and humidity sensor (Documentation)

si7021
Component Registry

Driver for Si7013/Si7020/Si7021/HTU2xD/SHT2x and compatible temperature and humidity sensors (Documentation)

Temperature sensors

Name

Description

aht
Component Registry

Driver for AHT10/AHT15/AHT20 temperature and humidity sensor (Documentation)

am2320
Component Registry

Driver for AM2320 temperature and humidity sensor (I2C) (Documentation)

bh1900nux
Component Registry

Driver for BH1900NUX temperature sensor (Documentation)

bme680
Component Registry

Driver for BME680 digital environmental sensor (Documentation)

bmp180
Component Registry

Driver for BMP180 digital pressure sensor (Documentation)

bmp280
Component Registry

Driver for BMP280/BME280 digital pressure sensor (Documentation)

dht
Component Registry

Driver for DHT11, AM2301 (DHT21, DHT22, AM2302, AM2321), Itead Si7021 (Documentation)

dps310
Component Registry

Driver for DPS310 barometric pressure sensor (Documentation)

ds18x20
Component Registry

Driver for DS18B20/DS18S20 families of 1-Wire temperature sensor ICs (Documentation)

hdc1000
Component Registry

Driver for HDC1000 temperature and humidity sensor (Documentation)

hts221
Component Registry

Driver for HTS221 temperature and humidity sensor (Documentation)

lm75
Component Registry

Driver for LM75, a digital temperature sensor and thermal watchdog (Documentation)

max31725
Component Registry

Driver for MAX31725/MAX31726 temperature sensors (Documentation)

max31855
Component Registry

Driver for MAX31855 cold-junction compensated thermocouple-to-digital converter (Documentation)

max31865
Component Registry

Driver for MAX31865 resistance converter for platinum RTDs (Documentation)

mcp960x
Component Registry

Driver for MCP9600/MCP9601, thermocouple EMF to temperature converter (Documentation)

mcp9808
Component Registry

Driver for MCP9808 digital temperature sensor (Documentation)

ms5611
Component Registry

Driver for barometic pressure sensor MS5611-01BA03 (Documentation)

qmp6988
Component Registry

Driver for QMP6988 digital temperature and pressure sensor (Documentation)

sfa3x
Component Registry

Driver for SFA30 formaldehyde detection module (I2C) (Documentation)

sht3x
Component Registry

Driver for Sensirion SHT30/SHT31/SHT35 digital temperature and humidity sensor (Documentation)

sht4x
Component Registry

Driver for Sensirion SHT40/SHT41/SHT45 digital temperature and humidity sensor (Documentation)

si7021
Component Registry

Driver for Si7013/Si7020/Si7021/HTU2xD/SHT2x and compatible temperature and humidity sensors (Documentation)

sts21
Component Registry

Driver for STS21 temperature sensor (Documentation)

sts3x
Component Registry

Driver for Sensirion STS30/STS31/STS35 digital temperature sensor (Documentation)

tsys01
Component Registry

Driver for precision digital temperature sensor TSYS01 (Documentation)

Pressure sensors

Name

Description

bme680
Component Registry

Driver for BME680 digital environmental sensor (Documentation)

bmp180
Component Registry

Driver for BMP180 digital pressure sensor (Documentation)

bmp280
Component Registry

Driver for BMP280/BME280 digital pressure sensor (Documentation)

dps310
Component Registry

Driver for DPS310 barometric pressure sensor (Documentation)

ms5611
Component Registry

Driver for barometic pressure sensor MS5611-01BA03 (Documentation)

qmp6988
Component Registry

Driver for QMP6988 digital temperature and pressure sensor (Documentation)

Air quality sensors

Name

Description

ccs811
Component Registry

Driver for AMS CCS811 digital gas sensor (Documentation)

mhz19b
Component Registry

Driver for MH-Z19B NDIR CO₂ sensor (Documentation)

scd30
Component Registry

Driver for SCD30 CO₂ sensor (Documentation)

scd4x
Component Registry

Driver for SCD40/SCD41 miniature CO₂ sensor (Documentation)

sfa3x
Component Registry

Driver for SFA30 formaldehyde detection module (I2C) (Documentation)

sgp40
Component Registry

Driver for SGP40 Indoor Air Quality Sensor for VOC Measurements (Documentation)

Gas sensors

Name

Description

ccs811
Component Registry

Driver for AMS CCS811 digital gas sensor (Documentation)

mhz19b
Component Registry

Driver for MH-Z19B NDIR CO₂ sensor (Documentation)

scd30
Component Registry

Driver for SCD30 CO₂ sensor (Documentation)

scd4x
Component Registry

Driver for SCD40/SCD41 miniature CO₂ sensor (Documentation)

sfa3x
Component Registry

Driver for SFA30 formaldehyde detection module (I2C) (Documentation)

Current and power sensors

Name

Description

ina219
Component Registry

Driver for INA219/INA220 bidirectional current/power monitor (Documentation)

ina260
Component Registry

Driver for INA260 precision digital current and power monitor (Documentation)

ina3221
Component Registry

Driver for INA3221 shunt and bus voltage monitor (Documentation)

Magnetic sensors

Name

Description

hmc5883l
Component Registry

Driver for 3-axis digital compass HMC5883L and HMC5983L (Documentation)

lsm303
Component Registry

Driver for LSM303 3-axis accelerometer and magnetometer sensor (Documentation)

qmc5883l
Component Registry

Driver for QMC5883L 3-axis magnetic sensor (Documentation)

qmi8658c
Component Registry

Driver for QMI8658C 6-axis IMU sensor (Documentation)

Light sensors

Name

Description

bh1750
Component Registry

Driver for BH1750 light sensor (Documentation)

tsl2561
Component Registry

Driver for light-to-digital converter TSL2561 (Documentation)

tsl2591
Component Registry

Driver for light-to-digital converter TSL2591 (Documentation)

tsl4531
Component Registry

Driver for digital ambient light sensor TSL4531 (Documentation)

veml7700
Component Registry

Driver for VEML7700 ambient light sensor (Documentation)

GPIO expanders

Name

Description

mcp23008
Component Registry

Driver for 8-bit I2C GPIO expander MCP23008 (Documentation)

mcp23x17
Component Registry

Driver for I2C/SPI 16 bit GPIO expanders MCP23017/MCP23S17 (Documentation)

pca9557
Component Registry

Driver for PCA9536/PCA9537/PCA9557/TCA9534 remote 4/8-bit I/O expanders for I2C-bus (Documentation)

pcf8574
Component Registry

Driver for PCF8574 remote 8-bit I/O expander for I2C-bus (Documentation)

pcf8575
Component Registry

Driver for PCF8575 remote 16-bit I/O expander for I2C-bus (Documentation)

tca6424a
Component Registry

Driver for TCA6424A low-voltage 24-bit I2C I/O expander (Documentation)

tca95x5
Component Registry

Driver for TCA9535/TCA9555 remote 16-bit I/O expanders for I2C-bus (Documentation)

LED drivers

Name

Description

ht16k33
Component Registry

HT16K33 LED controller driver (Documentation)

led_strip
Component Registry

RMT-based driver for WS2812B/SK6812/APA106/SM16703 LED strips (Documentation)

led_strip_spi
Component Registry

SPI-based driver for SK9822/APA102 LED strips (Documentation)

max7219
Component Registry

Driver for 8-Digit LED display drivers, MAX7219/MAX7221 (Documentation)

pca9632
Component Registry

Driver for PCA9632 4-channel PWM chip (Documentation)

Input device drivers

Name

Description

button
Component Registry

HW timer-based driver for GPIO buttons (Documentation)

encoder
Component Registry

HW timer-based driver for incremental rotary encoders (Documentation)

ls7366r
Component Registry

Driver for LS7366R Quadrature Encoder Counter (Documentation)

Other misc libraries

Name

Description

ds3502
Component Registry

Driver for nonvolatile digital potentiometer DS3502 (Documentation)

example
Component Registry

An example component (Documentation)

hd44780
Component Registry

Driver for HD44780 compatible LCD text displays (Documentation)

impulse_sensor
Component Registry

Driver for impulse output sensors (Documentation)

pca9685
Component Registry

Driver for 16-channel, 12-bit PWM PCA9685 (Documentation)

rda5807m
Component Registry

Driver for single-chip broadcast FM radio tuner RDA5807M (Documentation)

tca9548
Component Registry

Driver for TCA9548A/PCA9548A low-voltage 8-channel I2C switch (Documentation)

tda74xx
Component Registry

Driver for TDA7439/TDA7439DS/TDA7440D audioprocessors (Documentation)

tps63101x
Component Registry

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
Component Registry

Driver for ultrasonic range meters, e.g. HC-SR04, HY-SRF05 (Documentation)

wiegand
Component Registry

Wiegand protocol receiver (Documentation)

Inertial measurement units

Name

Description

icm42670
Component Registry

Driver for TDK ICM-42670-P 6-Axis IMU (Documentation)

l3gx
Component Registry

Driver for L3Gx(L3GD20/L3G4200D) 3-axis gyroscope sensors (Documentation)

lsm303
Component Registry

Driver for LSM303 3-axis accelerometer and magnetometer sensor (Documentation)

mpu6050
Component Registry

Driver for MPU6000/MPU6050 6-axis MotionTracking device (Documentation)

Battery controllers

Name

Description

lc709203f
Component Registry

Driver for LC709203F battery fuel gauge (Documentation)

max1704x
Component Registry

Driver for MAX17043/MAX17044/MAX17048/MAX17049 battery fuel gauge (Documentation)

mp2660
Component Registry

Driver for MP2660 5V USB, 500mA, I2C-Controlled Linear Charger with Power Path Management for Single-Cell Li-Ion Battery (Documentation)

Contributors

Component status