I want to build a mesh network using esp32 in order to create a smart-home. Do you recommend using the official espressif solution (ESP-MDF)? Or should I use the PainlessMesh library that is compatible with Arduino Framework?
Reading the documentation of espressif it states you can connect up to 1000 nodes:
Large network capacity: ESP-MESH takes the form of a tree topology, so one single device can connect to 10 devices at maximum, and an entire network can have over 1,000 nodes.
Videos:
ESP-MDF: https://www.youtube.com/watch?v=MWgp4BbkPcY
PainlessMesh library: https://www.youtube.com/watch?v=gf39MLqPGkQ&t=42s
Limitations:
PainlessMesh library: https://github.com/gmag11/painlessMesh/blob/master/README.md#limitations-and-caveats
ESP-MDF: one single device can connect to 10 devices at maximum. (I am assuming this limitation also exist for PainlessMesh library.
Questions:
From reading the documentation and videos it is a lot simpler to use the PainlessMesh library. Is that library making use of ESP-MDF?
If I connect the root node to my router that has internet will I be able to extend my WiFi signal so that there is internet on parts of the house that currently does not have WiFi coverage? Is this possible using both ESP-MDF and PainlessMesh?
What approach do you recommend? If I go with the harder approach (ESP-MDF) will this open new doors in the future in case I decide to add more smart devices? Currently I have only 7 smart home devices so the PainlessMesh library will probably work great for now. But if I decide to add more devices in the future is it worth learning ESP-MDF?