Insights
This contains our observations on the network.
Mesh network
- When the root was restarted at the same time a node was sending data, root can miss some of the packets.
- First half of the packet sequence is missing.
- Second half is received
This is handled by discarding partially received data
Root node memory capability
ESP32 and ESP32S3 have 512 KB of total memory where as ESP32S2 has 320KB of internal memory

Also they mention that there is a limitation in the usbale memory capacity to 160KB (which slightly vary) (more details)
The memory used by ESP32, ESP32S3 and ESP32S2 are compared by looking at the binary sizes. Acceleration sample size is taken as 1024 and the
node information arraysize is varied to find the max possible number. Use ofstaticvariables, using the flagDMA_ATTRand changing the optimization flags in the menuconfig was tried out and didn't seem to make a change in the binary sizes.
- ESP32

- ESP32S3

- ESP32S2

- ESP32
Errors related to memory
Stack overflow errors due to insufficient stack size
- We found some tasks throw this error and fail in both main function and in user created tasks (threads) via
xTaskCreate. If the error was happening due to insufficient allocated stack size, that can be fixed by increasing the allocation in following manners.- If the function causing the error is placed in the main function or called by the main function the stack size can be increased by adding an entry for the
ESP_MAIN_TASK_STACK_SIZEparameter insdkconfig.defaultsor changing the same variable from themenuconfig. - If the function causing the error is placed in a separate task, increase the value (which is in bytes) for
usStackDepthinxTaskCreatefunction.
- If the function causing the error is placed in the main function or called by the main function the stack size can be increased by adding an entry for the
WiFi Router
- Mesh did not work with one of the APs in Edgewood office.
- With the dedicated router 'GQC Guest', it is working fine.