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.14. This is crucial, because this library contains pre-compiled files.
- 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 compatible with 2.0.14
arduino-esp32
core version (you can determine it by looking at changelog here). Other versions might work, but there is no guarantee - this library contains precompiled libraries and binaries might or might not be compatible. Set that version by adding:platform = espressif32@x.x.x
inplatformio.ini
. - Turn on C++17 support, by setting
build_unflags=-std=gnu++11
andbuild_flags=-std=gnu++17
inplatformio.ini
. - Copy the latest release zip file URL into the
lib_deps
section ofplatformio.ini
, (:warning: you cannot use this repository URL inplatformio.ini
because this repository does not contain binaries due to their large size). - Choose larger partition scheme, for example
board_build.partitions=min_spiffs.csv
inplatformio.ini
.min_spiffs.csv
is one of build-in partition schemas and does need to be created. - Run example sketch.
In examples
folder there are some sketches that demonstrates usage of Matter. Light
example is tested every release. Example sketches are in release created from esp32-arduino-matter-builder repository.
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 v4.4.6 and will work with Arduino IDE on ESP32 board at version 2.0.14
- Library only works on ESP32 (ESP32-C3 and ESP32-S3 might work as well, but aren't tested).
- 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 repository does not contain source code of this library, because binaries were too big and exceeded Github limits. Please look at Github releases to download whole package. All library files without binaries are stored here.
This project is currently build based on these projects:
Project | Tag / Commit hash |
---|---|
esp32-arduino-matter-builder | v1.0.0-beta7 |
Matter | v1.1.0.2 |
esp-matter | dd4f34e |
esp-idf | v4.4.6 |
arduino-esp32 | 2.0.14 |
-
Find
platform.txt
for ESP32 board. Location of this file is platform depended.MacOS:
~/Library/Arduino15/packages/esp32/hardware/esp32/2.0.14/platform.txt
Windows:
C:\Users\<USER>\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14\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.