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.
- Make sure that ESP32 board version is 2.0.6
- Turn on C++17 support for Arduino
- Download and import library into Arduino IDE
- Choose larger partition scheme, for example
Minimal SPIFFS
- To prevent some issues related to old data, enable
Erase Flash Before Sketch Upload
option - Run example sketch
- Use espressif32 platform at version 5.3.0
- Turn on C++17 support, by setting
build_unflags=-std=gnu++11
andbuild_flags=-std=gnu++17
. - Add this library:
lib_deps=https://github.com/jakubdybczak/esp32-arduino-matter.git
- Choose larger partition scheme, for example
board_build.partitions=min_spiffs.csv
- Run example sketch
Please look at examples.
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:
- Arduino IDE with ESP32 board at version 2.0.6
- PlatformIO with PlatformIO espressif32 platform at version 5.3.0
- 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.
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 |
-
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
-
Inside
platform.txt
findESP32 Support Start
section and it'scompiler.cpp.flags.esp32
key. Change-std=gnu++11
to-std=gnu++17
. Do the same thing forESP32S3
andESP32C3
Support Start
section if you are using ESP32-S3/ESP32-C3. -
Restart Arduino IDE.
Please look here.