Code Monkey home page Code Monkey logo

esp32-arduino-matter's Introduction

ESP32 Arduino Matter

This projects aims at possibility to easily launch Matter internet-of-things protocol on ESP32 with Arduino. Repository contains precompiled and ready to use components from two projects: Espressif's SDK for Matter and Matter.

Installing on Arduino IDE

  1. Make sure that ESP32 board version is 2.0.6
  2. Turn on C++17 support for Arduino
  3. Download and import library into Arduino IDE
  4. Choose larger partition scheme, for example Minimal SPIFFS
  5. To prevent some issues related to old data, enable Erase Flash Before Sketch Upload option
  6. Run example sketch

Installing on PlatformIO

  1. Use espressif32 platform at version 5.3.0
  2. Turn on C++17 support, by setting build_unflags=-std=gnu++11 and build_flags=-std=gnu++17.
  3. Add this library: lib_deps=https://github.com/jakubdybczak/esp32-arduino-matter.git
  4. Choose larger partition scheme, for example board_build.partitions=min_spiffs.csv
  5. Run example sketch

Example usage

Please look at examples.

Compatibility

This project contains precompiled libraries based on specific version of ESP32 SDK and this library does not guarantee support for other versions. Current build is based on esp-idf at version 4.4.3 and will work with:

Limitations

  • Library only works on ESP32, ESP32-S3 and ESP32-C3.
  • There is no possibility to change vendor/product ID as this value is pre-compiled.
  • There is no known possibility to change setup PIN.
  • This library comes with precompiled NimBLE, because default Bluedroid shipped with arduino-esp32 takes too much RAM memory.
  • Matter Controllers such as Apple Home, Google Home, SmartThings and others might not have full support of all device types.

Versions

This project is currently build based on these projects:

Project Tag / Commit hash
Matter V1.0.0.2
esp-matter 65e1ed1
esp-idf 4.4.3

Enabling C++17 on Arduino IDE

  1. Find platform.txt for ESP32 board. Location of this file is platform depended.

    MacOS: ~/Library/Arduino15/packages/esp32/hardware/esp32/2.0.6/platform.txt

    Windows: C:\Users\<USER>\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.6\platform.txt

  2. Inside platform.txt find ESP32 Support Start section and it's compiler.cpp.flags.esp32 key. Change -std=gnu++11 to -std=gnu++17. Do the same thing for ESP32S3 and ESP32C3 Support Start section if you are using ESP32-S3/ESP32-C3.

  3. Restart Arduino IDE.

Building custom version of this library

Please look here.

esp32-arduino-matter's People

Contributors

oleksiikutuzov avatar yacubane avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.