All Projects → UncleRus → Esp Idf Lib

UncleRus / Esp Idf Lib

Component library for ESP32, ESP32-S2 and ESP8266

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Esp Idf Lib

Ssd1306
Driver for SSD1306, SSD1331, SSD1351, IL9163, ILI9341, ST7735, PCD8544, Nokia 5110 displays running on Arduino/ESP32/Linux (Rasperry) platforms
Stars: ✭ 303 (-11.92%)
Mutual labels:  esp32, esp8266
Espui
A simple web user interface library for ESP32 and ESP8266
Stars: ✭ 330 (-4.07%)
Mutual labels:  esp32, esp8266
RFLink
RFLink for ESP, with MQTT client
Stars: ✭ 52 (-84.88%)
Mutual labels:  esp8266, esp32
Esphelper
A library to make using WiFi & MQTT on the ESP8266 easy.
Stars: ✭ 310 (-9.88%)
Mutual labels:  esp32, esp8266
Deviot
Sublime Text plugin for IoT development based in PlatformIO ecosystem (Arduino IDE)
Stars: ✭ 281 (-18.31%)
Mutual labels:  esp32, esp8266
Farm-Data-Relay-System
A system that uses ESP-NOW, LoRa, and other protocols to transport sensor data in remote areas without relying on WiFi.
Stars: ✭ 97 (-71.8%)
Mutual labels:  esp8266, esp32
houseflow
Home automation platform for microcontrollers(including ESP8266/ESP32), Raspberry Pi, and others. Made with Rust and C++.
Stars: ✭ 88 (-74.42%)
Mutual labels:  esp8266, esp32
st7789 mpy
Fast pure-C driver for MicroPython that can handle display modules on ST7789 chip
Stars: ✭ 113 (-67.15%)
Mutual labels:  esp8266, esp32
Arduinopcap
A library for creating and sending .pcap files for Wireshark and other programms.
Stars: ✭ 278 (-19.19%)
Mutual labels:  esp32, esp8266
SinricPro Generic
Simple way to control your IOT development boards like ESP8226, ESP32, Arduino SAMD21, Adafruit SAMD21, SAMD51, nRF52, STM32, Teensy, SAM DUE with Amazon Alexa or Google Home
Stars: ✭ 18 (-94.77%)
Mutual labels:  esp8266, esp32
cordova-plugin-smartconfig
A cordova plugin for Smart Configure ESP8266 & ESP32 with Espressif Esptouch protocol.
Stars: ✭ 17 (-95.06%)
Mutual labels:  esp8266, esp32
Intellij Micropython
Plugin for MicroPython devices in PyCharm and IntelliJ
Stars: ✭ 312 (-9.3%)
Mutual labels:  esp32, esp8266
interp
Interpreter experiment. Testing dispatch methods: Switching, Direct/Indirect Threaded Code, Tail-Calls and Inlining
Stars: ✭ 32 (-90.7%)
Mutual labels:  esp8266, esp32
Esphome
ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
Stars: ✭ 4,324 (+1156.98%)
Mutual labels:  esp32, esp8266
IoTManager
Это модульная система автоматизации на базе ESP32/ESP8266 микроконтроллеров и приложения IoT Manager.
Stars: ✭ 41 (-88.08%)
Mutual labels:  esp8266, esp32
ESP-Mail-Client
⚡️Arduino Mail Client Library to send, read and get incoming mail notification for ESP32, ESP8266 and SAMD21 devices. The library also supported other Arduino devices using Clients interfaces e.g. WiFiClient, EthernetClient, and GSMClient.
Stars: ✭ 78 (-77.33%)
Mutual labels:  esp8266, esp32
SnorkTracker
GPS IoT tracker board for scanning gps and environment information and sending this to a MQTT server via GPRS.
Stars: ✭ 38 (-88.95%)
Mutual labels:  esp8266, esp32
home
Monorepo for all home automation related development, including integrated firmware, PCBs, configuration, and bridges
Stars: ✭ 104 (-69.77%)
Mutual labels:  esp8266, esp32
esp-logger
An Arduino library providing a minimal interface to log data on flash memory and SD cards with ESP8266 and ESP32
Stars: ✭ 40 (-88.37%)
Mutual labels:  esp8266, esp32
Blynk Library
Blynk library for embedded hardware. Works with Arduino, ESP8266, Raspberry Pi, Intel Edison/Galileo, LinkIt ONE, Particle Core/Photon, Energia, ARM mbed, etc.
Stars: ✭ 3,305 (+860.76%)
Mutual labels:  esp32, esp8266

ESP-IDF Components library

Build Status Build the documentation Docs Status

Components for Espressif ESP32 ESP-IDF framework and ESP8266 RTOS SDK.

Part of them ported from esp-open-rtos.

Supported versions

ESP-IDF

  • master
  • 4.x
  • 3.2.2

ESP32 Chip Support

  • ESP32
  • ESP32S2

Use "idf.py set-target esp32s2" before "idf.py menuconfig" to change the chip type.

ESP8266 RTOS SDK

  • master
  • 3.3
  • 3.2

Due to incompatibilities in ESP8266 RTOS SDK's SPI driver and hardware, the following libraries are not supported on ESP8266.

  • max7219
  • mcp23x17
  • led_strip

How to use

ESP32

Clone this repository somewhere, e.g.:

cd ~/myprojects/esp
git clone https://github.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/user/myprojects/esp/esp-idf-lib/components
include $(IDF_PATH)/make/project.mk

or in CMakeLists.txt:

cmake_minimum_required(VERSION 3.5)
set(EXTRA_COMPONENT_DIRS /home/user/myprojects/esp/esp-idf-lib/components)
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(my-esp-project)

or with CMake FetchContent

cmake_minimum_required(VERSION 3.11)
include(FetchContent)
FetchContent_Declare(
  espidflib
  GIT_REPOSITORY https://github.com/UncleRus/esp-idf-lib.git
)
FetchContent_MakeAvailable(espidflib)
set(EXTRA_COMPONENT_DIRS ${espidflib_SOURCE_DIR}/components)
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(my-esp-project)

ESP8266 RTOS SDK

Clone this repository somewhere, e.g.:

cd ~/myprojects/esp
git clone https://github.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/user/myprojects/esp/esp-idf-lib/components
EXCLUDE_COMPONENTS := max7219 mcp23x17 led_strip
include $(IDF_PATH)/make/project.mk

See GitHub examples or GitLab examples.

Documentation

Components

Common drivers

Component Description License Thread safety
i2cdev I2C utilites MIT Yes
onewire Bit-banging one wire driver MIT * No

Real-time clocks

Component Description License Thread safety
ds1302 Driver for DS1302 RTC module BSD No
ds1307 Driver for DS1307 RTC module BSD Yes
ds3231 Driver for DS1337 RTC and DS3231 high precision RTC module MIT Yes
pcf8563 Driver for PCF8563 real-time clock/calendar BSD Yes

Humidity & temperature sensors

Component Description License Thread safety
dht Driver for DHT11, AM2301 (DHT21, DHT22, AM2302, AM2321), Itead Si7021 BSD No
sht3x Driver for Sensirion SHT3x digital temperature and humidity sensor BSD Yes
sht4x Driver for Sensirion SHT4x digital temperature and humidity sensor BSD Yes
si7021 Driver for Si7013/Si7020/Si7021/HTU21D/SHT2x and compatible BSD Yes
ds18x20 Driver for DS18B20/DS18S20 families of one-wire temperature sensor ICs BSD No
max31725 Driver for MAX31725/MAX31726 temperature sensors BSD Yes
lm75 Driver for LM75, a digital temperature sensor and thermal watchdog ISC Yes
mcp9808 Driver for MCP9808, precision digital temperature sensor BSD Yes
mcp960x Driver for MCP9600/MCP9601, thermocouple EMF to temperature converter BSD Yes
tsys01 Driver for precision digital temperature sensor TSYS01 BSD Yes

Pressure sensors

Component Description License Thread safety
bmp180 Driver for BMP180 digital pressure sensor MIT Yes
bmp280 Driver for BMP280/BME280 digital pressure sensor MIT Yes
bme680 Driver for BME680 digital environmental sensor BSD Yes
ms5611 Driver for barometic pressure sensor MS5611-01BA03 BSD Yes

Air quality/Gas sensors

Component Description License Thread safety
sgp40 SGP40 Indoor Air Quality Sensor for VOC Measurements BSD Yes
ccs811 Driver for AMS CCS811 digital gas sensor BSD Yes

ADC/DAC

Component Description License Thread safety
ads111x Driver for ADS1113/ADS1114/ADS1115 and ADS1013/ADS1014/ADS1015 I2C ADC BSD Yes
hx711 Driver for HX711 24-bit ADC for weigh scales BSD Yes
mcp4725 Driver for 12-bit DAC MCP4725 BSD Yes
pcf8591 Driver for 8-bit ADC and an 8-bit DAC PCF8591 BSD Yes
mcp342x Driver for 18-Bit, delta-sigma ADC MCP3426/MCP3427/MCP3428 BSD Yes

Power/Current monitors

Component Description License Thread safety
ina3221 Driver for INA3221 shunt and bus voltage monitor MIT Yes
ina219 Driver for INA219/INA220 bidirectional current/power monitor BSD Yes
ina260 Driver for INA260 precision digital current and power monitor BSD Yes

Magnetic sensors

Component Description License Thread safety
hmc5883l Driver for HMC5883L 3-axis digital compass BSD Yes
qmc5883l Driver for QMC5883L 3-axis magnetic sensor BSD Yes

Light sensors

Component Description License Thread safety
bh1750 Driver for BH1750 light sensor BSD Yes
tsl2561 Driver for light-to-digital converter TSL2561 BSD Yes
tsl4531 Driver for digital ambient light sensor TSL4531 BSD Yes
tsl2591 Driver for light-to-digital converter TSL2591 MIT Yes

GPIO expanders

Component Description License Thread safety
pcf8574 Driver for PCF8574 remote 8-bit I/O expander for I2C-bus MIT Yes
pcf8575 Driver for PCF8575 remote 16-bit I/O expander for I2C-bus MIT Yes
tca95x5 Driver for TCA9535/TCA9555 remote 16-bit I/O expanders for I2C-bus BSD Yes
mcp23008 Driver for 8-bit I2C GPIO expander MCP23008 BSD Yes
mcp23x17 Driver for I2C/SPI 16 bit GPIO expanders MCP23017/MCP23S17 BSD Yes

Addressable LEDs

Component Description License Thread safety
led_strip RMT-based driver for WS2812B/SK6812/APA106 LED strips MIT Yes
led_strip_spi SPI-based driver for SK9822/APA102 LED strips MIT Yes

Other

Component Description License Thread safety
ultrasonic Driver for ultrasonic range meters, e.g. HC-SR04, HY-SRF05 BSD No
hd44780 Universal driver for HD44780 LCD display BSD No
pca9685 Driver for 16-channel, 12-bit PWM PCA9685 BSD Yes
max7219 Driver for 8-Digit LED display drivers, MAX7219/MAX7221 BSD Yes
tda74xx Driver for TDA7439/TDA7439DS/TDA7440D audioprocessors MIT Yes
encoder HW timer-based driver for incremental rotary encoders BSD Yes
tca9548 Driver for TCA9548A/PCA9548A low-voltage 8-channel I2C switch BSD Yes
rda5807m Driver for single-chip broadcast FM radio tuner RDA5807M BSD Yes
ds3502 Driver for nonvolatile digital potentiometer DS3502 MIT Yes

Credits

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].