Thread Spinel RPC firmware for Texas Instruments CC2652/CC1352 to use OpenThread Border Router (OTBR) Add-on for use with Thread based devices like some future Matter/CHIP products?

Anyone here in Home Assistant’s community (or Zigbee2MQTT/ZHA communities) who is willing to build + release Thread Spinel RPC firmware for Texas Instruments CC2652/CC1352 based adapters?

The reason is Home Assistant developer agners (Nabu Casa employee Stefan Agner) is developing an “OpenThread Border Router Add-on” that shuld be compatible with all OTBR firmware in “RPC” mode.

https://github.com/home-assistant/addons-development/tree/master/openthread_border_router

See this discussion about using CC2652 based adapters with his OpenThread Border Router Add-on:

https://github.com/home-assistant/addons-development/issues/38

OTBR (OpenThread Border Router) Spinal “RPC” firmware for TI CC2652/CC1352 will allow us to re-flash and re-use many of the most popular existing adapters commonly sold as “Zigbee Coordinator” adapters (many of which today come pre-flashed with TI Z-Stack Zigbee NCP firmware instead).

https://www.zigbee2mqtt.io/guide/adapters/#based-on-texas-instruments-cc2652-cc1352-chip

So far agners has however only worked with Silicon Labs based adapter with OpenThread “RPC” firmware for Matter over Thread (as well as ESP32-C3 based devkit for Matter over WiFi) but I believe that is only because Nabu Casa choose to use a Silabs EFR32MG21 chip based adapter that will ship on the board as part on the official Home Assistant Yellow (formerly Home Assistant Amber) hardware:

https://github.com/zigpy/zigpy/discussions/894

https://www.crowdsupply.com/nabu-casa/home-assistant-yellow

Note that the addon by agners requires that OTBR firmware is in “RPC” mode (instead of “NCP” mode) as it currently has support for OpenThread Spinel RPC + HDLC + UART protocol/interface combination.

https://openthread.io/platforms/co-processor

https://github.com/openthread/ot-br-posix/

https://groups.google.com/g/openthread-users/

OTBR on Texas Instruments CC2652/CC1352 based chips should be a “Thread Certified Component”:

https://github.com/openthread/ot-cc13x2-cc26x2/blob/ee5d50c0d0a5d0e8624a78bc6cbc9ff9eae3a20a/src/cc2652/README.md

https://github.com/openthread/ot-cc13x2-cc26x2

https://github.com/openthread/openthread/tree/main/examples/platforms

https://dev.ti.com/tirex/explore/node?node=APzU0zOtgnQIe0sFnHCfxg__BSEc4rl__LATEST

https://openthread.io/vendors/texas-instruments

https://www.threadgroup.org/What-is-Thread/Thread-Benefits#certifiedproducts

https://training.ti.com/thread-cc2652-cc1352

Such adapter will as such in the future be compatible with upcoming Thread based “Matter” (Project CHIP / Connected Home over IP) devices if used in Home Assistant with their other add-ons for the that is also in development.

https://github.com/home-assistant/addons-development/tree/master/chip_tool

https://github.com/home-assistant/addons-development/tree/master/chip_controller_repl

https://github.com/project-chip/connectedhomeip

https://buildwithmatter.com/

https://csa-iot.org/all-solutions/matter/

Btw, also having optional OpenThread “NCP” border router firmware images as well would allow users to alternatively use other existing OpenThread applications that use “NCP” mode instead of the newer “RPC” mode which require additional component running on the host. See example wpantund daemon:

https://github.com/openthread/wpantund

PS: For reference check out Koenkk’s “Z-Stack-firmware” repository on GitHub as a very good example of sharing (Zigbee NCP) firmware patch and images for the same type of CC2652/CC1352 adapters:

https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator/Z-Stack_3.x.0/bin

https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator/Z-Stack_3.x.0

FYI, while not required nor a priority for proof-of-concept if have a dedicated physical radio adapter/dongle for each protocol, but you should also know and keep in mind for the future that Texas Instruments (just like Silicon Labs) does also have support for running concurrent multiprotocol via a Dynamic Multiprotocol Manager (DMM) driver which I believe should, in theory, allow you to build one single firmware image for the larger variants of CC2652/CC1352 that could support running both OpenThread Spinal RPC and Z-Stack Zigbee NCP Coordinator at the same time(?).

https://www.ti.com/wireless-connectivity/multi-protocol/overview.html

https://www.ti.com/lit/an/swra641a/swra641a.pdf?ts=1643381007232&ref_url=https%253A%252F%252Fwww.ti.com%252Fwireless-connectivity%252Fmulti-protocol%252Foverview.html

https://www.ti.com/lit/wp/swra687/swra687.pdf?ts=1643381009101&ref_url=https%253A%252F%252Fwww.ti.com%252Fwireless-connectivity%252Fmulti-protocol%252Foverview.html

https://training.ti.com/connect-zigbee-bluetooth-5-concurrency-demo?cu=1136411

2 Likes

Is this what you are looking for?
https://slae.sh/projects/cc2652/#openthread-border-router

Yeah, but needs to be updated more often, and believe will require different firmware images for different adapters since not all use the same pins, see for example how many different firmware images needed for different CC2652 based Zigbee adapters here → https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator/Z-Stack_3.x.0/bin