Page 1 of 1

Best strategy for communicating with over 1000 ESP32S3 boards?

Posted: Thu Jul 11, 2024 3:43 pm
by falling_in2_infinity
Hi all,

I’m currently working on a project where we plan to use over 1000 ESP32S3-based sensor boards (possibly Seeed Xiao, or a custom PCB) for a research project. The boards will be configured in a cube-like matrix, of approximately 10m^3, with each vertical ‘column’ suspended by their power supply cabling.

I’d like to be able to communicate with all the boards, to send them basic parameters from a PC - in order to configure the installation. These parameters are still being clarified, but my initial estimate is a packet containing around 25 bytes of parameter data.

I’d like there to be some basic handshaking involved each time a communication is made, and ideally some kind of unique address for each board. Many of the parameters will be global, but I’d like to maintain flexibility to allow certain units to be configured individually, or in sub-blocks.

From my current perspective, latency is not a significant issue, as the data will probably only be sent at the start of each session (several hours). Reliability of communication is more significant, and I need to ensure that every board has been configured. It might be worth noting that the whole installation will be configured in different physical spaces, and the total number of boards might be adjusted for each space. I think it would be useful to be able to ‘ping’ the whole matrix, and get a report on the number of boards that are live. A magic touch would be if the boards could figure out and report where they are in physical space.


I’d like to start by getting a feel for the best communications protocols to achieve this, including the possible benefits and drawbacks of using wired and wireless approaches. I hope someone here might be able to offer some advice and guidance in that regard?

My experience in this is quite limited. I’m very new to ESP32, having developed a few very basic things for it using the Arduino IDE, including using ESP-NOW for comms between boards. I have wider experience of Arduino, MBED, and STM32. I have experience of connecting a handful of Arduino’s together in close proximity, using I2S and RS485 wired comms. Never on this kind of scale, though.

I’d appreciate any feedback. Also apologies if this is in the wrong forum area - please do advise.

Re: Best strategy for communicating with over 1000 ESP32S3 boards?

Posted: Fri Jul 12, 2024 4:07 pm
by aliarifat794
If the boards are within 220 meters apart from each other, you can use ESP-NOW protocol.
https://www.theengineeringprojects.com/ ... p8266.html

Re: Best strategy for communicating with over 1000 ESP32S3 boards?

Posted: Tue Jul 16, 2024 1:56 pm
by falling_in2_infinity
aliarifat794 wrote:
Fri Jul 12, 2024 4:07 pm
If the boards are within 220 meters apart from each other, you can use ESP-NOW protocol.
https://www.theengineeringprojects.com/ ... p8266.html
Thanks for that suggestion. I’ve recently used ESP-NOW, but was under the impression that it was quite limited in the number of connected devices.

…Joe.

Re: Best strategy for communicating with over 1000 ESP32S3 boards?

Posted: Tue Jul 16, 2024 1:59 pm
by falling_in2_infinity
Thanks for the suggestion about ESP-NOW. I actually used it for a small project recently, but I was under the impression it was very limited in terms of connected device numbers?

Re: Best strategy for communicating with over 1000 ESP32S3 boards?

Posted: Wed Jul 17, 2024 7:00 am
by ESP_Sprite
It depends. The direct/encrypted connections you can have are fairly limited, but as soon as you e.g. broadcast messages (=send to a MAC address of FF:FF:FF:FF:FF:FF), all ESPs in range will receive it, independent of how many that are.