-
Notifications
You must be signed in to change notification settings - Fork 7.6k
Support of Arduino Matter library #7432
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Why does this need to be part of the core? It can be handled in a 3rd party library. |
Hello @Humancell, thanks for opening this feature Request. I'm adding this to next major milestone 3.0.0 and we will evaluate it. |
Hello, Thank you for considering this! @lbernstone I can understand your question, but I see this no differently from all of the other libraries that are already a part of core. We already have Bluetooth, HTTP, DNS, Webserver, NetBIOS, RainMaker and many more. Just as many of these are built on the esp-protocols, this - it seems - would be built on https://github.com/espressif/esp-matter . It is a protocol layer provided by Espressif in the IDF, and besides the technical reasons I believe by exposing it to Arduino developers it could assist the ESP32 in becoming an even more powerful platform for the development of Matter controllers and devices. |
You can try library I have created few days ago https://github.com/jakubdybczak/esp32-arduino-matter |
Hello,
I did see this library, but from my understanding you have not made this 100% open source, which is a problem for us. We can not use any closed source code in our projects. If I am incorrect, and this really is 100% open source then we could take a look. |
@Humancell |
We will consider this request for next releases in 2023... please be patient. |
I have done an initial effort to build Matter and Arduino as Component. |
Hi all Is there any progress for supporting Matter to the Arduino core? |
@HamzaHajeir - We are currently working to release OpenThread as an Arduino Library. This shall be done later this month. |
About Matter Library implementation for Arduino Core 3.0.x:
|
Glad to hear that's coming support of Matter in the Arduino core. I have just some questions and comments:
With thanks, |
@HamzaHajeir - Thanks for the comments.
Not as part of the tools that ESP32 Arduino would provide.
Commissioning will always be done on-network. Therefore, On-Network Commissioning method will be included.
Yes, correct.
We may consider it for future feature. At first, we'll focus on the Matter 1.0 device types as described above. |
@SuGlider Nice, that explains all, I was mixing between commissioning discovery and commissioning process, seems two different operations. However, it seems that all Factory Data Providers would be 'custom' in Arduino, correct? |
Arduino will set the Matter Device as a Testing unit using a VIDs allocated by the CSA for testing purposes. Commissioning will happen as defined in the description from https://developers.home.google.com/matter/primer/commissioning Discovery may be done using BLE and/or WiFi AP, as described here: https://developers.home.google.com/matter/primer/commissionable-and-operational-discovery |
As @me-no-dev said, the setup code for commissioning (34970112332) can be used for all the devices you may need in the same Matter network. Just commission one by one and each will have its own ID in the Matter environment. Each device will be added to the Matter Controller with an Unique IPv6 address and each Matter RGBWW will be controlled individually by the APP (smartphone) or by an Automation. Scenes and Groups can also be created for each Matter RGBWW light. |
Unfortunately this does not work with my google nest hub. As soon I try to add another device compiled with the same code, It will remove the old one, and the new one also isn't connected. |
In general this approach is possible. In project Tasmota we use the development key for all devices which are setup as Matter device. It is no problem to set up more devices. So it is not an issue in general. Cant speak for this Matter implementation since the one in Tasmota is completely written from scratch (based on the espressif IDF Matter implementation) but Tasmota is written with actual Arduino Core. |
I can't find a way to connect more than 1 device to my google home nest hub. |
It sounds like Google has updated their APP and their device Matter firmware in 2025. I'd suggest trying to update the firmware of your Google Nest Hub. |
The google Nest Hub is always up to date. II created a support ticket for that to google. Maybe they can solve that. |
I have an Alexa 5th gen here. It works fine. I have already added up to 8 endpoints using the same commissioning code, VID and PID.
We will consider that, for sure. |
Good day. Please tell me, is it possible to create your own endpoint of a new device in Arduino? As I understand, everything is already compiled and it is possible to use only the endpoints of existing devices? If so, please add the DoorLock endpoint. Matter consumes a lot of RAM, is this a consequence of the Bluetooth library being enabled by default? Is it possible on esp32 not to use Bluetooth with Matter, but only Wi-Fi? |
yes, the already compiled part is just ESP-Matter and CHIP code. We will add more endpoints along this year. DoorLock is in the list. |
Thank you! During my tests I encountered a problem when esp32 with Matter example Matter.isWiFiConnected() true and Matter.isDeviceConnected() true , the hub returns the disconnect status. How can I accurately determine that the device is working normally and the connection with the hub is established? Sometimes I have to completely reset the device and reconnect it for normal operation. |
Right now, We plan to release a package of improvements for Matter along this 1st Half of 2025. |
A gentle request: I would like to request to be able to change the number of endpoints rather than fixed 15 endpoints on all types of esp32 in the Arduino Matter library. I understand the issue of RAM on some devices like esp32C3, but we have PSRAM on esp32S3 that can support even 100 endpoints. In esp-matter it is easy to change it |
Good day! If it's not a secret, tell me how to use PSRAM with Matter? |
For ESP32 Arduino, it is transparent. If the Sketch or the Matter Library "mallocs" more than 4KB, it will use PSRAM as well.
|
Hello! Thanks for the answer! |
A bit hard to see what could be the issue here based on the report. It sounds like the Arduino Libraries used in this project may be allocating memory in a different way. It would require you to read its code and understand how it works. This may not be easy for a beginner. Note that some IDF components may be using HEAP directly. It is possible for IDF to manage which memory sapce to use when allocating memory. I think that it will be better to change your project to use Arduino as IDF Component and then you will be able to tune IDF Components to use the memory the best way for your application. IDF has Good luck! |
Thank you!!! class MatterColorLight does not contain onChangeBrightness call, when using the device, the brightness control scale is there but does not work. Thank you for your efforts!!! |
Yes, mostly, your observations are correct.
My suggestion would be moving the project to Arduino as IDF Component in order to change When the application reaches the MCU peripherals limits, it may require better tools, tunning the configuration, planning the resources and even changing the development framework. |
With the community Platformio fork |
Once again, thank you very much!!! I have been writing my projects for a long time, in my free winter time, this is more of a hobby, that's why Arduino. I have already started preparing the ground for the transition, but before the transition I got stuck on optimizing the memory in the project. I want to bring everything to perfection, while I remember everything well. If I started with IDF it would be better, because I consider it a habit. In any case, my transition will not happen before next winter, when there will be enough time. In Arduino, you also can't allocate memory in psram for a task, allocating memory leads to a reboot). So Arduino and psram are quite incompatible concepts, it is configured very strangely Thank you!!! |
@ValdayMl - Please describe it. I'd like to better understand this problem. |
Good day! Yes, of course. ` xStack_loop_15s=(uint8_t*)malloc(4124); SPIRAM Memory Info: Compile Date/Time : Apr 14 2025 07:13:20 Decoding stack results ` 7:33:43.785 -> 93860 psram used bytes Decoding stack results |
Core 3.2.0 |
Psram sometimes uses ESPAsyncWebServer.
If you allocate memory before starting psramInit() PSRaMEsp32TrueLoad=psramInit();` Memory is allocated, but the same error occurs when used. |
Related area
Arduino Library
Hardware specification
All Boards
Is your feature request related to a problem?
The Matter specification has been released, and there has been IDF support for quite some time. At one level is would be good to see examples of using these APIs from the Arduino environment. At another level it would be great if there was a higher level Arduino library created that leveraged these APIs and provided examples for both implementing and controlling a Matter device.
Describe the solution you'd like
It would be great if there was a higher level Arduino library created that leveraged the IDF Matter APIs and provided examples for both implementing and controlling a Matter device.
Describe alternatives you've considered
There are some other people outside of this project starting to experiment with this, but they are not fully open source nor sponsored by Espressif.
Additional context
For the Espressif platform to dominate in the market for Matter devices it could be engaging the Arduino developers better.
I have checked existing list of Feature requests and the Contribution Guide
The text was updated successfully, but these errors were encountered: