Connecting Multiple 'Student' Arduino Devices to one 'Teacher' Hub" - specifically looking into ESP32 vs nRF52840

Hi everyone,

I’m working on a project where I need a Teacher device (Central) to maintain simultaneous connections with multiple Student devices (Peripherals) via Bluetooth Low Energy (BLE).

The Goal:

  • Reliability: The connection must be stable for data exchange.
  • Scalability: I need at least 2 student devices connected to the teacher board at once
  • Platform: I’m using the Arduino IDE for programming.

Current Research: I’ve looked into the ESP32 and the nRF52840 (Adafruit). From what I’ve gathered these are good options but are they reliable and durable? do they drain the battery of the product (if i will be using batttery)?

My Questions:

  • Between the ESP32 and nRF52840, which is more reliable for handling multiple active connections?
  • Are there specific libraries (like NimBLE for ESP32) that you would recommend for this?
  • Are there other boards I should consider for the “Teacher” hub that handle multi-device pairing more easily?
  • What would you suggest using?
  • Is there another bluetooth connection that I should try instead of these?

Thanks

2 Likes

Hi Tara,

Welcome to the forum!!

Before jumping into communications, and recommendations:

  • Will these devices be battery-powered and/or portable?
  • How much data will be exchanged? (Could you give an example of a payload being sent?)

With any microcontroller project, reliability is down to the implementation (or libraries used).
Generally Nordic products (nRF) are generally better for power consumption, but might be harder to program with.

ESPNOW is a straight-forward way to handle communications and will happily allow for many modules to communicate.

Liam

1 Like

Hi Liam!

  1. My product will be portable, due to this it is most likely going to be battery-powered for ease of use but i am tossing between battery or power supplies.
  2. The data being exchanged would be relatively small (its essentially just the the exchange of notifying the teacher and having a timer, and the time displayed on both devices)
1 Like

Hi! Both the ESP32 and nRF52840 can handle multiple BLE connections, but if stability and battery life matter, the nRF52840 is usually the better option. It’s designed mainly for BLE and tends to be more reliable with multiple devices connected at once. ESP32 works too (especially with NimBLE), but it generally uses more power. For a central ‘teacher’ device, I’d probably go with the nRF52840 unless you also need Wi-Fi or extra features.

1 Like

Hey @Tara311945 ,

The nRF52840 will be a more power-efficient solution, although I would personally lean towards the ESP32. They have a ton more support and lots of examples and documentation floating around online, so it should be an easier platform to work with overall.

The extra power usage of the ESP32 compared to the nRF52840 should be easily accounted for when choosing a battery, as the difference between the two is not dramatic enough to outright say the ESP32 is not suitable.

You could realistically go either way and end up with a solid final product, but I would lean towards the ESP32 as it’s likely to be an easier platform to work with, even if the hardware is a little less efficient for this particular application.

I second Liam’s suggestion to look into ESPNOW. That alone may be a good reason to go with the ESP32 platform for communicating with multiple devices.

Hi all! thank you so much for the comments

@Samuel I will be using a power supply that plugs into the wall. does that change your opinion or should I just do the ESP32?

1 Like

Hey @Tara311945,

Just to throw my 2 cents into all of this, if you are plugging into a wall, I would definitely go with an ESP32. ESPNOW is just fantastic and one of the easiest way to get devices wirelessly talking with each other. I jump between different microcontroller boards depending on what the project is, but any time I want to send small bits of data between multiple devices in the same room, I almost always use an ESP32, it just rocks so much.

Cheers!

2 Likes