Matter protocol support #3229
Replies: 7 comments
-
Posted at 2022-10-14 by @gfwilliams Hi! What kind of communications are used for these devices? Is it over Wifi, or something else? I've got to say though - 650k may not seem big to you, but for a microcontroller it's huge. Even on devices with 1MB flash, Espruino takes up some of that space so it's unlikely to fit unminified, and even if it fits there's no guarantee it won't use up a bunch of RAM when it runs. It could be quite an uphill struggle. |
Beta Was this translation helpful? Give feedback.
-
Posted at 2022-10-14 by mfucci Matter protocol is mostly agnostic of the communication type. node-matter library only supports UDP communication right since this is what is natively supported by node. BLE support is in progress. Most of the SoC listed as supporting Matter are 1 MB Flash, 256 KB RAM. For a very simple Matter device, it should be possible to really dumb down the protocol using canned answers for all requests (instead of serializing an object) so support even lower specs. However the Crypto will still require a good chunk a code and cannot be dumbed down... |
Beta Was this translation helpful? Give feedback.
-
Posted at 2022-10-14 by @fanoush
Isn't it based on IP protocol? There is curently no support for IP over BLE in Espruino so it is basically just about wifi devices. To me it looks like only the unofficial ESP32 port is matching your ram/flash requirements. |
Beta Was this translation helpful? Give feedback.
-
Posted at 2022-10-14 by mfucci BLE / IP: Yes, it is based mostly based on IP except for the initial provisioning where point-to-point connection is done over BLE or WiFi direct. RAM/Flash requirements: I think Bangle.js 2 has the correct specs |
Beta Was this translation helpful? Give feedback.
-
Posted at 2022-10-14 by @fanoush
Then you are looking at <40kB RAM and 40-100kB Flash free on those.
Adding Thread running concurrently with BLE is even more overhead than adding just 6LoWPAN over BLE (and both should provide more or less the same thing?). And in both cases you also need some ipv6 stack (like lwIP) on top of that to send/receive UDP, all this takes some additional RAM and Flash. And of course a lot of developer time to get this working. I think you may be underestimating complexity of all this 'firmware thing' a bit :-) Espruino on ESP32 + wifi looks much easier for starting this now. Or for official boards start here https://www.espruino.com/Internet |
Beta Was this translation helpful? Give feedback.
-
Posted at 2022-10-14 by adminy Nordic SDK provides all of this in C and it can be compiled with espruino on their NRF52840 Dongle. Its got 1MB of flash and 256kb of ram which should be plenty for both the C libraries in combination with espruino. Nordic already has some matter examples so this is more about going from C to javascript on the matter app layer. |
Beta Was this translation helpful? Give feedback.
-
Posted at 2022-10-17 by @fanoush Yes with 52840 it looks doable, it just needs someone to do it :-) Espruino for 52840 currently uses nRF5 SDK15.3 so I guess the nRF5 SDK for Thread and Zigbee v3.2.0 could be the easiest start as it is based on 15.3 too. there is even guide how to add it to existing BLE application here https://infocenter.nordicsemi.com/topic/sdk_tz_v3.2.0/thread_multiprotocol_ble_howto.html?cp=8_7_2_2_10_3_1_6 |
Beta Was this translation helpful? Give feedback.
-
Posted at 2022-10-12 by mfucci
Hi Espruino hackers,
An effort has started to add support for Espruino in node-matter: mfucci/node-matter#67.
You are welcome to join the effort if you are interested in having your Espruino devices part of your Matter ecosystem!
More context:
Hardware requirements:
Let me know if you have any questions about Matter!
Thanks!
Disclaimer: I am the author of node-matter
Beta Was this translation helpful? Give feedback.
All reactions