ESP-IDF Components library
Components for Espressif ESP32 ESP-IDF framework.
Some of them ported from esp-open-rtos.
Project home:
How to use
ESP32 ESP-IDF
Clone respository:
cd ~/my/work/path
git clone git@github.com:UncleRus/esp-idf-lib.git
or
cd ~/my/work/path
git clone git@gitlab.com:UncleRus/esp-idf-lib.git
Add path to components in your project CMakeLists.txt:
cmake_minimum_required(VERSION 3.5)
set(EXTRA_COMPONENT_DIRS $ENV{HOME}/my/work/path/esp-idf-lib/components)
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(my-esp-project)
ESP8266 RTOS SDK
Clone respository:
cd ~/my/work/path
git clone git@github.com:UncleRus/esp-idf-lib.git
or
cd ~/my/work/path
git clone git@gitlab.com:UncleRus/esp-idf-lib.git
Add path to components in your project makefile, e.g:
PROJECT_NAME := my-esp-project
EXTRA_COMPONENT_DIRS := $(HOME)/my/work/path/esp-idf-lib/components
EXCLUDE_COMPONENTS := max7219 mcp23x17 led_strip max31865 ls7366r max31855
include $(IDF_PATH)/make/project.mk
Available components
Common libraries
- i2cdev - I2C master thread-safe functions for communication with I2C slave
- onewire - Bit-banging one wire driver
- lib8tion - Math functions specifically designed for LED programming
- color - Library for RGB and HSV colors
- noise - Simplex noise function
- framebuffer - RGB framebuffer component
- calibration - Multi-point calibration library
Real-time clocks
Humidity & temperature sensors
- dht - Driver for DHT11, AM2301 (DHT21, DHT22, AM2302, AM2321), Itead Si7021
- sht3x - Driver for Sensirion SHT3x digital temperature and humidity sensor
- sht4x - driver for Sensirion SHT40/SHT41 digital temperature and humidity sensors
- si7021 - Driver for Si7013/Si7020/Si7021/HTU2xD/SHT2x and compatible
- ds18x20 - Driver for DS18B20/DS18S20
- max31725 - Driver for MAX31725/MAX31726 temperature sensors
- lm75 - Driver for for LM75, a digital temperature sensor and thermal watchdog
- bme680 - Driver for BME680 digital environmental sensor
- mcp9808 - Driver for MCP9808 digital temperature sensor
- mcp960x - Driver for MCP9600/MCP9601, thermocouple EMF to temperature converter
- tsys01 - Driver for precision digital temperature sensor TSYS01
- aht - Driver for AHT10/AHT15/AHT20 temperature and humidity sensor
- hts221 - Driver for HTS221 temperature and humidity sensor
- max31865 - Driver for MAX31865 resistance converter for platinum RTDs
- bh1900nux - Driver for BH1900NUX temperature sensor
- hdc1000 - Driver for HDC1000 temperature and humidity sensor
- max31855 - Driver for MAX31855 cold-junction compensated thermocouple-to-digital converter
- sts21 - Driver for Driver for STS21 temperature sensor
- sts3x - Driver for Sensirion STS3x digital temperature sensor
- am2320 - Driver for AM2320 temperature and humidity sensor (I2C)
Pressure sensors
- bmp180 - Driver for BMP180 digital pressure sensor
- bmp280 - Driver for BMP280/BME280 digital pressure sensor
- bme680 - Driver for BME680 digital environmental sensor
- dps310 - Driver for for DPS310, barometric pressure sensor
- ms5611 - Driver for barometic pressure sensor MS5611-01BA03
- qmp6988 - Driver for QMP6988 digital temperature and pressure sensor
Air quality/Gas sensors
- sgp40 - Driver for SGP40 Indoor Air Quality Sensor for VOC Measurements
- ccs811 - Driver for AMS CCS811 digital gas sensor for monitoring indoor air quality
- mhz19b - Driver for MH-Z19B NDIR CO₂ sensor connected to UART
- scd4x - Driver for SCD40/SCD41 miniature CO₂ sensor
- scd30 - Driver for SCD30 CO₂ sensor
- sfa3x - Driver for SFA30 formaldehyde detection module (I2C)
ADC/DAC
- ads111x - Driver for ADS1113/ADS1114/ADS1115 and ADS1013/ADS1014/ADS1015 I2C ADC
- hx711 - Driver for HX711 24-bit ADC for weigh scales
- pcf8591 - Driver for 8-bit ADC and an 8-bit DAC PCF8591
- mcp4725 - Driver for 12-bit DAC MCP4725
- mcp342x - Driver for 18-Bit, delta-sigma ADC MCP3426/MCP3427/MCP3428
- ads130e08 - Driver for ADS130E08 SPI ADC
- sgm58031 - Driver for SGM58031 16-bit ADC
Power/Current monitors
Magnetic sensors
Light sensors
GPIO expanders
- pcf8574 - Driver for PCF8574 8-bit I/O expander for I2C-bus
- pcf8575 - Driver for PCF8575 16-bit I/O expander for I2C-bus
- tca95x5 - Driver for TCA9535/TCA9555 remote 16-bit I/O expanders for I2C-bus
- mcp23008 - Driver for 8-bit I2C GPIO expander MCP23008
- mcp23x17 - Driver for I2C/SPI 16 bit GPIO expanders MCP23017/MCP23S17
- pca9557 - Driver for PCA9537/PCA9557/TCA9534 remote 4/8-bit I/O expanders for I2C-bus
- tca6424a - Driver for TCA6424A low-voltage 24-bit I2C I/O expander
LED drivers
Input controls
Inertial measurement units
Battery controllers
Other
- hd44780 - Universal driver for HD44780 LCD display
- pca9685 - Driver for 16-channel, 12-bit PWM PCA9685
- ultrasonic - Driver for ultrasonic range meters HC-SR04, HY-SRF05
- tda74xx - Driver for TDA7439/TDA7439DS/TDA7440D audioprocessors
- rda5807m - Driver for single-chip broadcast FM radio tuner RDA5807M
- tca9548 - Driver for TCA9548A/PCA9548A low-voltage 8-channel I2C switch
- ds3502 - Driver for nonvolatile digital potentiometer DS3502
- wiegand - Weigand protocol receiver for ESP-IDF
imp_sensor_t
imp_sensor_init()
imp_sensor_deinit()
imp_sensor_get_value()
imp_sensor_config_t