FutureProofHomes / Satellite1-Hardware

A Private and Open Source AI-Powered Voice Assistant & Multisensor for Home Assistant
https://FutureProofHomes.net
CERN Open Hardware Licence Version 2 - Strongly Reciprocal
49 stars 1 forks source link

[REQUEST] Add an ESP32-C6 as a "coprocessor" and radio module (making PCB have both a ESP32-S3 and a ESP32-C6) so that second SoC can be used as Thread Border Router #5

Open Hedda opened 1 week ago

Hedda commented 1 week ago

@FutureProofHomes @that1guy @alextrical please consider also adding an ESP32-C6 (or ESP32-H2) as a "coprocessor" module as well to the same FutureProofHomes Satellite1 Development Board, i.e. add a second radio SoC so PCB will have both a ESP32-S3 as well as a ESP32-C6/ESP32-H2.

The main real-world use case reason to add an ESP32-C6 (or an ESP32-H2) module other than just using it as a generic-coprocessor MCU SoC that could be used to offload stuff that ESP32-C6 (and ESP32-H2) has an IEEE 802.15.4 radio which means it can be used as a "Thread Border Router" (with OpenThread Border Router firmware), for a Thread network used by Matter standard fabric:

If you add this and get that working then you should be able to add Thread's Border Router icon for marketing too:

image

Adding an extra ESP32 (ESP32-C6 or ESP32-H2) does take some space on PCB however should not add that much larger BOM cost, but the additional possibilities such an extra ESP32 SoC could add should hopefully more than make up for that slightly higher cost!

You can possibly in the future alternativly also use ESP32-C6 (or ESP32-H2) on a single of them as a remote Zigbee Coordinator (also known as a Serial-over-IP Zigbee controller adapter) for Home Assistant's built-in ZHA integration (native Zigbee Gateway), see/follow this work-in-progress but note that the ESP Zigbee radio for zigpy is is still very experimental and not yet fully working with ZHA:

Another option would be to also use the ESP32-C6 as a "coprocessor" module a a dedicated Bluetooth Proxy chip with ESPHome:

Note that the reason main you want to combine ESP32-S3 and ESP32-C6 is not only to off-load those processes but more importantly so you separate Wi-Fi signals from Thread/Zigbee signals, and that is due to WiFi tendacy to overwhelm and interfer with Thread/Zigbee communication because how they both work.

Same goes by the way for WiFi and Bluetooth Low Entergy but it usually is not a great impact on user experience as for Thread/Zigbee:

Anyway, what I think what would make a product like FutureProofHomes Satellite1 perfect as a "Thread Border Router" is that a user can add multiple Thread Border Routers (TBR/OTBR) to their Thread/Matter network for redundacy (using fail-over) and a voice assistant is something that many Home Assistant users are likely to have many of and placed all over their home, so having many Thread Border Routers is one of the keys to getting a more robust Thread network.

image

As proof-of-concept of a ESP32-S3 + ESP32-H2 combination board made for this purpose check out see the "ESP Thread Border Router" board which is Espressif official SDK reference hardware for this purpose (can use used as either Thread Border Router or Zigbee Coordinator):

Development is primarily being done with Espressif's ESP Thread Border Router SDK hardware (based on ESP32-H2-MINI-1 module):

image

image

OpenThread Border Router Example as in a similar two-SoC setup combining both a ESP32-S3 and ESP32-H2 in the same solution:

image

Hedda commented 1 week ago

Maybe this should be moved to idea under discussions instead? Or? https://github.com/orgs/FutureProofHomes/discussions

that1guy commented 1 week ago

This is a very interesting FR and something we have discussed @Hedda.

As of this moment, in order to get to beta launch quickly, we will not implement this (yet) --however I want to leave this ticket open as we may be willing to implement this in future revisions of the Sat1.

Hedda commented 1 week ago

As of this moment, in order to get to beta launch quickly, we will not implement this (yet) --however I want to leave this ticket open as we may be willing to implement this in future revisions of the Sat1.

I suspect Home Assistant's first-revision devkit won't not have it either, but could read into schematics about things to come 😜

image

Image taken from the Thread Smart Home Fact Sheet by the Thread Group. It illustrates the landscape of Matter, Thread, and Border routers. Instead of Matter, you could also see another protocol here, such as HomeKit.

Unlike other IoT protocols, Thread can use multiple border routers in a single network. This increases wireless coverage and reduces the risk of a single point of failure. Ideal for home automation, with a potentially large number of devices spread over a large area.

Slightly different image here on the threadgroup.org when they describe a Thread based Matter fabric using the same text but also mentioning that Thread Border Router can be built int many devices such as access points, smart speakers, etc.:

image

PS: Also check out this blog which better describe what a Thread Border Router actually is and why it is very good to have many:

image

Hedda commented 1 week ago

@that1guy Oh, and in the mean-time it might be a good idea for you to order Espressif's ESP Thread Border Router / Zigbee GW:

Suposedly you can get it working with Home Assistant: