{"id":14963252,"url":"https://github.com/unclerus/esp-idf-lib","last_synced_at":"2025-04-10T23:26:02.373Z","repository":{"id":37280276,"uuid":"126475029","full_name":"UncleRus/esp-idf-lib","owner":"UncleRus","description":"Component library for ESP32-xx and ESP8266","archived":false,"fork":false,"pushed_at":"2025-03-19T01:48:37.000Z","size":4962,"stargazers_count":1498,"open_issues_count":50,"forks_count":461,"subscribers_count":48,"default_branch":"master","last_synced_at":"2025-04-03T14:57:30.030Z","etag":null,"topics":["adc","co2-sensor","dac","esp-idf","esp32","esp32-s2","esp8266","gas-sensor","gpio-extender","humidity-sensor","i2c-device","led-controller","light-sensor","magnetometer","power-monitor","pressure-sensor","pwm","rotary-encoder","temperature-sensor","wiegand"],"latest_commit_sha":null,"homepage":"https://esp-idf-lib.readthedocs.io/en/latest/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/UncleRus.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-03-23T11:17:22.000Z","updated_at":"2025-04-03T05:54:51.000Z","dependencies_parsed_at":"2023-02-18T02:45:21.389Z","dependency_job_id":"4638f55b-0f8f-4df4-925a-fa1f27a77717","html_url":"https://github.com/UncleRus/esp-idf-lib","commit_stats":{"total_commits":1174,"total_committers":75,"mean_commits":"15.653333333333334","dds":0.5621805792163543,"last_synced_commit":"1abe2e5194b1a45c8878229ad893a058816cdd18"},"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UncleRus%2Fesp-idf-lib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UncleRus%2Fesp-idf-lib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UncleRus%2Fesp-idf-lib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UncleRus%2Fesp-idf-lib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/UncleRus","download_url":"https://codeload.github.com/UncleRus/esp-idf-lib/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248313805,"owners_count":21082916,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["adc","co2-sensor","dac","esp-idf","esp32","esp32-s2","esp8266","gas-sensor","gpio-extender","humidity-sensor","i2c-device","led-controller","light-sensor","magnetometer","power-monitor","pressure-sensor","pwm","rotary-encoder","temperature-sensor","wiegand"],"created_at":"2024-09-24T13:31:14.836Z","updated_at":"2025-04-10T23:26:02.348Z","avatar_url":"https://github.com/UncleRus.png","language":"C","readme":"# ESP-IDF Components library\n\n[![Main CI process](https://github.com/UncleRus/esp-idf-lib/actions/workflows/ci.yml/badge.svg)](https://github.com/UncleRus/esp-idf-lib/actions/workflows/ci.yml)\n[![Docs Status](https://readthedocs.org/projects/esp-idf-lib/badge/?version=latest\u0026style=flat)](https://esp-idf-lib.readthedocs.io/en/latest/)\n\nComponents for Espressif ESP32 [ESP-IDF framework](https://github.com/espressif/esp-idf)\nand [ESP8266 RTOS SDK](https://github.com/espressif/ESP8266_RTOS_SDK).\n\nPart of them ported from [esp-open-rtos](https://github.com/SuperHouse/esp-open-rtos).\n\n## Supported versions of frameworks and devices\n\n| Chip     | Framework        | Versions                                                                                                                                         |\n| -------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |\n| ESP32-xx | ESP-IDF          | All officially supported versions (see [Support Period Policy](https://github.com/espressif/esp-idf/blob/master/SUPPORT_POLICY.md)) and `master` |\n| ESP8266  | ESP8266 RTOS SDK | `master`, v3.4                                                                                                                                   |\n\n_See \"Supported on\" column for each of the components._\n\n## How to use\n\n### ESP32-xx\n\nClone this repository somewhere, e.g.:\n\n```Shell\ncd ~/myprojects/esp\ngit clone https://github.com/UncleRus/esp-idf-lib.git\n```\n\nAdd path to components in your [CMakeLists.txt](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/build-system.html):\ne.g:\n\n```CMake\ncmake_minimum_required(VERSION 3.5)\nset(EXTRA_COMPONENT_DIRS /home/user/myprojects/esp/esp-idf-lib/components)\ninclude($ENV{IDF_PATH}/tools/cmake/project.cmake)\nproject(my-esp-project)\n```\n\nor with CMake [FetchContent](https://cmake.org/cmake/help/latest/module/FetchContent.html)\n\n```CMake\ncmake_minimum_required(VERSION 3.11)\ninclude(FetchContent)\nFetchContent_Declare(\n  espidflib\n  GIT_REPOSITORY https://github.com/UncleRus/esp-idf-lib.git\n)\nFetchContent_MakeAvailable(espidflib)\nset(EXTRA_COMPONENT_DIRS ${espidflib_SOURCE_DIR}/components)\ninclude($ENV{IDF_PATH}/tools/cmake/project.cmake)\nproject(my-esp-project)\n```\n\n### ESP8266 RTOS SDK\n\nClone this repository somewhere, e.g.:\n\n```Shell\ncd ~/myprojects/esp\ngit clone https://github.com/UncleRus/esp-idf-lib.git\n```\n\nAdd path to components in your [project makefile](https://docs.espressif.com/projects/esp8266-rtos-sdk/en/latest/api-guides/build-system.html),\ne.g:\n\n```Makefile\nPROJECT_NAME := my-esp-project\nEXTRA_COMPONENT_DIRS := /home/user/myprojects/esp/esp-idf-lib/components\nEXCLUDE_COMPONENTS := ads130e08 max7219 mcp23x17 led_strip max31865 ls7366r max31855\ninclude $(IDF_PATH)/make/project.mk\n```\n\nAs some `Kconfig.projbuild` files use `rsource`, which the `Kconfig` parser of\nESP8266 RTOS SDK does not understand, run `devtools/rewrite_kconfig.rb` to\nrewrite it before building the examples.\n\n```console\nruby devtools/rewrite_kconfig.rb path/to/Kconfig.projbuild\n```\nSee [GitHub examples](https://github.com/UncleRus/esp-idf-lib/tree/master/examples)\nor [GitLab examples](https://gitlab.com/UncleRus/esp-idf-lib/tree/master/examples).\n\n## Documentation\n\n- [Documentation](https://esp-idf-lib.readthedocs.io/en/latest/)\n- [Frequently asked questions](FAQ.md)\n\n## Components\n\n\n\n### ADC/DAC libraries\n\n| Component | Description | License | Supported on | Thread safety |\n| --------- | ----------- | ------- | ------------ | ------------- |\n| **ads111x**              | Driver for ADS1113/ADS1114/ADS1115 and ADS1013/ADS1014/ADS1015 I2C ADC           | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **ads130e08**            | Driver for ADS130E08 ADC                                                         | MIT     | esp32, esp32s3, esp32s2, esp32c3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **hx711**                | Driver for HX711 24-bit ADC for weigh scales                                     | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | no            |\n| **mcp342x**              | Driver for 18-Bit, delta-sigma ADC MCP3426/MCP3427/MCP3428                       | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **mcp4725**              | Driver for 12-bit DAC MCP4725                                                    | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **pcf8591**              | Driver for 8-bit ADC and an 8-bit DAC PCF8591                                    | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **sgm58031**             | Driver for SGM58031 16-bit I2C ADC                                               | ISC     | esp32, esp8266, esp32s2, esp32s3, esp32c3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n\n\n\n### Air quality sensors\n\n| Component | Description | License | Supported on | Thread safety |\n| --------- | ----------- | ------- | ------------ | ------------- |\n| **ccs811**               | Driver for AMS CCS811 digital gas sensor                                         | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **mhz19b**               | Driver for MH-Z19B NDIR CO₂ sensor                                               | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | no            |\n| **scd30**                | Driver for SCD30 CO₂ sensor                                                      | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **scd4x**                | Driver for SCD40/SCD41 miniature CO₂ sensor                                      | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **sfa3x**                | Driver for SFA30 formaldehyde detection module (I2C)                             | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **sgp40**                | Driver for SGP40 Indoor Air Quality Sensor for VOC Measurements                  | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n\n\n\n### Battery controllers\n\n| Component | Description | License | Supported on | Thread safety |\n| --------- | ----------- | ------- | ------------ | ------------- |\n| **lc709203f**            | Driver for LC709203F battery fuel gauge                                          | ISC     | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **max1704x**             | Driver for MAX17043/MAX17044/MAX17048/MAX17049 battery fuel gauge                | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **mp2660**               | Driver for MP2660 5V USB, 500mA, I2C-Controlled Linear Charger with Power Path Management for Single-Cell Li-Ion Battery | BSD-3-Clause | esp32, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n\n\n\n### Common libraries\n\n| Component | Description | License | Supported on | Thread safety |\n| --------- | ----------- | ------- | ------------ | ------------- |\n| **calibration**          | Multi-point calibration library                                                  | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | n/a           |\n| **color**                | Common library for RGB and HSV colors                                            | MIT     | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c6, esp32h2, esp32p4, esp32c5 | n/a           |\n| **esp_idf_lib_helpers**  | Common support library for esp-idf-lib                                           | ISC     | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | n/a           |\n| **framebuffer**          | RGB framebuffer component                                                        | MIT     | esp32, esp32s2, esp32c3, esp32s3, esp32c6, esp32h2, esp32p4, esp32c5 | n/a           |\n| **i2cdev**               | ESP-IDF I2C master thread-safe utilities                                         | MIT     | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **lib8tion**             | Math functions specifically designed for LED programming                         | MIT     | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c6, esp32h2, esp32p4, esp32c5 | n/a           |\n| **noise**                | Noise generation functions                                                       | MIT     | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | n/a           |\n| **onewire**              | Bit-banging 1-Wire driver                                                        | MIT     | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | no            |\n\n\n\n### Current and power sensors\n\n| Component | Description | License | Supported on | Thread safety |\n| --------- | ----------- | ------- | ------------ | ------------- |\n| **ina219**               | Driver for INA219/INA220 bidirectional current/power monitor                     | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **ina260**               | Driver for INA260 precision digital current and power monitor                    | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **ina3221**              | Driver for INA3221 shunt and bus voltage monitor                                 | MIT     | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n\n\n\n### Gas sensors\n\n| Component | Description | License | Supported on | Thread safety |\n| --------- | ----------- | ------- | ------------ | ------------- |\n| **ccs811**               | Driver for AMS CCS811 digital gas sensor                                         | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **mhz19b**               | Driver for MH-Z19B NDIR CO₂ sensor                                               | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | no            |\n| **scd30**                | Driver for SCD30 CO₂ sensor                                                      | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **scd4x**                | Driver for SCD40/SCD41 miniature CO₂ sensor                                      | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **sfa3x**                | Driver for SFA30 formaldehyde detection module (I2C)                             | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n\n\n\n### GPIO expanders\n\n| Component | Description | License | Supported on | Thread safety |\n| --------- | ----------- | ------- | ------------ | ------------- |\n| **mcp23008**             | Driver for 8-bit I2C GPIO expander MCP23008                                      | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **mcp23x17**             | Driver for I2C/SPI 16 bit GPIO expanders MCP23017/MCP23S17                       | BSD-3-Clause | esp32, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **pca9557**              | Driver for PCA9536/PCA9537/PCA9557/TCA9534 remote 4/8-bit I/O expanders for I2C-bus | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **pcf8574**              | Driver for PCF8574 remote 8-bit I/O expander for I2C-bus                         | MIT     | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **pcf8575**              | Driver for PCF8575 remote 16-bit I/O expander for I2C-bus                        | MIT     | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **tca6424a**             | Driver for TCA6424A low-voltage 24-bit I2C I/O expander                          | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **tca95x5**              | Driver for TCA9535/TCA9555 remote 16-bit I/O expanders for I2C-bus               | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n\n\n\n### Humidity sensors\n\n| Component | Description | License | Supported on | Thread safety |\n| --------- | ----------- | ------- | ------------ | ------------- |\n| **aht**                  | Driver for AHT10/AHT15/AHT20 temperature and humidity sensor                     | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **am2320**               | Driver for AM2320 temperature and humidity sensor (I2C)                          | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **bme680**               | Driver for BME680 digital environmental sensor                                   | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **dht**                  | Driver for DHT11, AM2301 (DHT21, DHT22, AM2302, AM2321), Itead Si7021            | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | no            |\n| **hdc1000**              | Driver for HDC1000 temperature and humidity sensor                               | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **hts221**               | Driver for HTS221 temperature and humidity sensor                                | ISC     | esp32, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **sfa3x**                | Driver for SFA30 formaldehyde detection module (I2C)                             | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **sht3x**                | Driver for Sensirion SHT30/SHT31/SHT35 digital temperature and humidity sensor   | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **sht4x**                | Driver for Sensirion SHT40/SHT41/SHT45 digital temperature and humidity sensor   | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **si7021**               | Driver for Si7013/Si7020/Si7021/HTU2xD/SHT2x and compatible temperature and humidity sensors | BSD-3-Clause | esp32, esp32c3, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n\n\n\n### Inertial measurement units\n\n| Component | Description | License | Supported on | Thread safety |\n| --------- | ----------- | ------- | ------------ | ------------- |\n| **icm42670**             | Driver for TDK ICM-42670-P 6-Axis IMU                                            | ISC     | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **l3gx**                 | Driver for L3Gx(L3GD20/L3G4200D) 3-axis gyroscope sensors                        | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **lsm303**               | Driver for LSM303 3-axis accelerometer and magnetometer sensor                   | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **mpu6050**              | Driver for MPU6000/MPU6050 6-axis MotionTracking device                          | MIT     | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n\n\n\n### Input device drivers\n\n| Component | Description | License | Supported on | Thread safety |\n| --------- | ----------- | ------- | ------------ | ------------- |\n| **button**               | HW timer-based driver for GPIO buttons                                           | MIT     | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **encoder**              | HW timer-based driver for incremental rotary encoders                            | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **ls7366r**              | Driver for LS7366R Quadrature Encoder Counter                                    | MIT     | esp32, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n\n\n\n### LED drivers\n\n| Component | Description | License | Supported on | Thread safety |\n| --------- | ----------- | ------- | ------------ | ------------- |\n| **ht16k33**              | HT16K33 LED controller driver                                                    | MIT     | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **led_strip**            | RMT-based driver for WS2812B/SK6812/APA106/SM16703 LED strips                    | MIT     | esp32, esp32s2, esp32c3, esp32s3, esp32c6, esp32h2, esp32p4, esp32c5 | yes           |\n| **led_strip_spi**        | SPI-based driver for SK9822/APA102 LED strips                                    | MIT     | esp32, esp32c3, esp8266, esp32s2, esp32c3, esp32s3, esp32c6, esp32h2, esp32p4, esp32c5 | yes           |\n| **max7219**              | Driver for 8-Digit LED display drivers, MAX7219/MAX7221                          | BSD-3-Clause | esp32, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **pca9632**              | Driver for PCA9632 4-channel PWM chip                                            | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n\n\n\n### Light sensors\n\n| Component | Description | License | Supported on | Thread safety |\n| --------- | ----------- | ------- | ------------ | ------------- |\n| **bh1750**               | Driver for BH1750 light sensor                                                   | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **tsl2561**              | Driver for light-to-digital converter TSL2561                                    | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **tsl2591**              | Driver for light-to-digital converter TSL2591                                    | MIT     | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **tsl4531**              | Driver for digital ambient light sensor TSL4531                                  | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **veml7700**             | Driver for VEML7700 ambient light sensor                                         | ISC     | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n\n\n\n### Magnetic sensors\n\n| Component | Description | License | Supported on | Thread safety |\n| --------- | ----------- | ------- | ------------ | ------------- |\n| **hmc5883l**             | Driver for 3-axis digital compass HMC5883L and HMC5983L                          | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **lsm303**               | Driver for LSM303 3-axis accelerometer and magnetometer sensor                   | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **qmc5883l**             | Driver for QMC5883L 3-axis magnetic sensor                                       | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n\n\n\n### Other misc libraries\n\n| Component | Description | License | Supported on | Thread safety |\n| --------- | ----------- | ------- | ------------ | ------------- |\n| **ds3502**               | Driver for nonvolatile digital potentiometer DS3502                              | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **example**              | An example component                                                             | ISC     | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | n/a           |\n| **hd44780**              | Driver for HD44780 compatible LCD text displays                                  | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | no            |\n| **impulse_sensor**       | Driver for impulse output sensors                                                | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | no            |\n| **pca9685**              | Driver for 16-channel, 12-bit PWM PCA9685                                        | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **rda5807m**             | Driver for single-chip broadcast FM radio tuner RDA5807M                         | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **tca9548**              | Driver for TCA9548A/PCA9548A low-voltage 8-channel I2C switch                    | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **tda74xx**              | Driver for TDA7439/TDA7439DS/TDA7440D audioprocessors                            | MIT     | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **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 | BSD-3-Clause | esp32, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **ultrasonic**           | Driver for ultrasonic range meters, e.g. HC-SR04, HY-SRF05                       | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | no            |\n| **wiegand**              | Wiegand protocol receiver                                                        | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | no            |\n\n\n\n### Pressure sensors\n\n| Component | Description | License | Supported on | Thread safety |\n| --------- | ----------- | ------- | ------------ | ------------- |\n| **bme680**               | Driver for BME680 digital environmental sensor                                   | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **bmp180**               | Driver for BMP180 digital pressure sensor                                        | MIT     | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **bmp280**               | Driver for BMP280/BME280 digital pressure sensor                                 | MIT     | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **dps310**               | Driver for DPS310 barometric pressure sensor                                     | ISC     | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **ms5611**               | Driver for barometic pressure sensor MS5611-01BA03                               | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **qmp6988**              | Driver for QMP6988 digital temperature and pressure sensor                       | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n\n\n\n### Real-time clocks\n\n| Component | Description | License | Supported on | Thread safety |\n| --------- | ----------- | ------- | ------------ | ------------- |\n| **ds1302**               | Driver for DS1302 RTC module                                                     | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | no            |\n| **ds1307**               | Driver for DS1307 RTC module                                                     | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **ds3231**               | Driver for DS1337 RTC and DS3231 high precision RTC module                       | MIT     | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **pcf8563**              | Driver for PCF8563 (BM8563) real-time clock/calendar                             | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n\n\n\n### Temperature sensors\n\n| Component | Description | License | Supported on | Thread safety |\n| --------- | ----------- | ------- | ------------ | ------------- |\n| **aht**                  | Driver for AHT10/AHT15/AHT20 temperature and humidity sensor                     | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **am2320**               | Driver for AM2320 temperature and humidity sensor (I2C)                          | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **bh1900nux**            | Driver for BH1900NUX temperature sensor                                          | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **bme680**               | Driver for BME680 digital environmental sensor                                   | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **bmp180**               | Driver for BMP180 digital pressure sensor                                        | MIT     | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **bmp280**               | Driver for BMP280/BME280 digital pressure sensor                                 | MIT     | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **dht**                  | Driver for DHT11, AM2301 (DHT21, DHT22, AM2302, AM2321), Itead Si7021            | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | no            |\n| **dps310**               | Driver for DPS310 barometric pressure sensor                                     | ISC     | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **ds18x20**              | Driver for DS18B20/DS18S20 families of 1-Wire temperature sensor ICs             | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | no            |\n| **hdc1000**              | Driver for HDC1000 temperature and humidity sensor                               | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **hts221**               | Driver for HTS221 temperature and humidity sensor                                | ISC     | esp32, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **lm75**                 | Driver for LM75, a digital temperature sensor and thermal watchdog               | ISC     | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **max31725**             | Driver for MAX31725/MAX31726 temperature sensors                                 | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **max31855**             | Driver for MAX31855 cold-junction compensated thermocouple-to-digital converter  | BSD-3-Clause | esp32, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **max31865**             | Driver for MAX31865 resistance converter for platinum RTDs                       | BSD-3-Clause | esp32, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **mcp960x**              | Driver for MCP9600/MCP9601, thermocouple EMF to temperature converter            | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **mcp9808**              | Driver for MCP9808 digital temperature sensor                                    | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **ms5611**               | Driver for barometic pressure sensor MS5611-01BA03                               | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **qmp6988**              | Driver for QMP6988 digital temperature and pressure sensor                       | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **sfa3x**                | Driver for SFA30 formaldehyde detection module (I2C)                             | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **sht3x**                | Driver for Sensirion SHT30/SHT31/SHT35 digital temperature and humidity sensor   | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **sht4x**                | Driver for Sensirion SHT40/SHT41/SHT45 digital temperature and humidity sensor   | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **si7021**               | Driver for Si7013/Si7020/Si7021/HTU2xD/SHT2x and compatible temperature and humidity sensors | BSD-3-Clause | esp32, esp32c3, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **sts21**                | Driver for STS21 temperature sensor                                              | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **sts3x**                | Driver for Sensirion STS30/STS31/STS35 digital temperature sensor                | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n| **tsys01**               | Driver for precision digital temperature sensor TSYS01                           | BSD-3-Clause | esp32, esp8266, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61 | yes           |\n\n## Library maintainers\n\n- [Ruslan V. Uss](https://github.com/UncleRus)\n- [Tomoyuki Sakurai](https://github.com/trombik)\n\n## Credits\n\n\n\n- [Alex Stewart](https://github.com/astewart-consensus): `ds18x20` \n\n- [Alexander Bodenseher](https://github.com/saasaa): `hts221` \n\n- [Andrej Krutak](https://github.com/andree182): `bh1750` \n\n- Angelo Elias Dalzotto: `mpu6050` \n\n- [BernhardG](https://gitlab.com/mrnice): `ms5611` \n\n- [BhuvanchandraD](https://github.com/bhuvanchandra): `ds3231` \n\n- [Brian Schwind](https://github.com/bschwind): `tsl2561` `tsl4531` \n\n- [Cedric von Gunten](https://github.com/vonguced): `qmp6988` \n\n- [Christian Skjerning](https://github.com/slimcdk): `sts3x` \n\n- [David Douard](https://github.com/douardda): `mhz19b` \n\n- [Erriez](https://github.com/Erriez): `mhz19b` \n\n- [FastLED project](https://github.com/FastLED): `color` `lib8tion` `noise` \n\n- Frank Bargstedt: `bmp180` \n\n- Gabriel Boni Vicari: `mpu6050` \n\n- [Grupo de Pesquisa em Cultura Digital](http://gepid.upf.br/): `mpu6050` \n\n- GrzegorzH: `ds18x20` \n\n- [Gunar Schorcht](https://github.com/gschorcht): `bme680` `ccs811` `sht3x` `sts3x` \n\n- [Jakub Turek](https://github.com/QB4-dev): `impulse_sensor` `l3gx` `lsm303` `pca9632` \n\n- [Jan Veeh](https://github.com/janveeh): `icm42670` \n\n- [Jeff Rowberg](https://www.i2cdevlib.com/): `mpu6050` \n\n- [Jose Manuel Perez](https://github.com/jmpmscorp): `lc709203f` `sgm58031` \n\n- [Joshua Butler](https://github.com/shuki25): `max1704x` \n\n- [Joshua Kallus](https://github.com/Jkallus): `ls7366r` \n\n- [jsuiker](https://github.com/jsuiker): `dht` \n\n- [Julian Doerner](https://github.com/juliandoerner): `tsl2591` \n\n- [Lucio Tarantino](https://github.com/dianlight): `ads111x` \n\n- [Manuel Markwort](https://github.com/mmarkwort): `mp2660` `tps63101x` \n\n- [Marc Luehr](https://github.com/th3link): `veml7700` \n\n- [Nate Usher](https://github.com/nated0g): `scd30` \n\n- Pavel Merzlyakov: `ds1302` \n\n- [Raghav Jha](https://github.com/horsemann07): `mpu6050` \n\n- RichardA: `ds3231` \n\n- [Ruslan V. Uss](https://github.com/UncleRus): `ads111x` `aht` `am2320` `bh1750` `bh1900nux` `bme680` `bmp180` `bmp280` `button` `calibration` `ccs811` `dht` `ds1302` `ds1307` `ds18x20` `ds3231` `ds3502` `encoder` `framebuffer` `hd44780` `hdc1000` `hmc5883l` `hx711` `i2cdev` `ina219` `ina260` `ina3221` `led_strip` `led_strip_spi` `max31725` `max31855` `max31865` `max7219` `mcp23008` `mcp23x17` `mcp342x` `mcp4725` `mcp960x` `mcp9808` `mpu6050` `ms5611` `onewire` `pca9557` `pca9685` `pcf8563` `pcf8574` `pcf8575` `pcf8591` `qmc5883l` `qmp6988` `rda5807m` `scd30` `scd4x` `sfa3x` `sgp40` `sht3x` `sht4x` `si7021` `sts21` `sts3x` `tca6424a` `tca9548` `tca95x5` `tda74xx` `tsl2561` `tsl4531` `tsys01` `ultrasonic` `wiegand` \n\n- [Sensirion AG](https://github.com/Sensirion): `scd30` `scd4x` `sfa3x` \n\n- [sheinz](https://github.com/sheinz): `bmp280` \n\n- [Thanh Pham](https://github.com/panoti): `pcf8591` \n\n- [Timofei Korostelev](https://github.com/chudsaviet): `ht16k33` \n\n- [Tomoyuki Sakurai](https://github.com/trombik): `dps310` `esp_idf_lib_helpers` `example` `led_strip_spi` `lm75` \n\n- [Weslley Duarte](https://github.com/weslleymfd): `ads130e08` \n\n- [Zaltora](https://github.com/Zaltora): `ina3221` \n\n- zeroday: `onewire` ","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funclerus%2Fesp-idf-lib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funclerus%2Fesp-idf-lib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funclerus%2Fesp-idf-lib/lists"}