/core

The core repository of esp-idf-lib

Primary LanguageRuby

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 master

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