Help with Proof of Concept BT/Arduino Project

I'm looking for some information about Arduino and Bluetooth. I have an assessment project to do for Uni and to fulfil the assessment requirements I would like to build something similar to the crude diagram attached.

The project consists of several (2-3) separate devices each with a different sensor (Temp/Light/Motion/etc) communicating to a central hub over Bluetooth, I'm pretty sure I can achieve this using a Raspberry Pi as the Hub, but I would like to try to achieve it using an Arduino as the hub.

What I need most is advice on what modules I need for the Arduino hub to enable it to use multiple Bluetooth connections.

I've learned that almost any BT module (HC-05/HC-06/HM-10) will allow a single pairing but I need multiple pairings.

And please, I have already had very many "This should work" and "Probably will work" but I'm a student on a budget so I can't afford trial and error solutions, please only respond with solutions you know will work.

Also, any advice for controllers for the sensor devices would be welcome, currently I just plan to use Arduino Uno's (Which Uni has so I don't need to buy) with HC-05 modules, but if a solution requires different sensor controllers I might be able to afford that in my budget.

I think I can handle the Python coding for both the Hub and the sensors but if you have any examples handy they would also be appreciated.

Finally, the project is due by end of April 2023.

BTW, The diagram was made in Visio using a stencil I found here for the Arduino/DHT22 sensor shapes in case this is of use to anyone else.

Please read the way Bluetooth works. Simply a connection between TWO devices. Each alternating transmitting and receiving during equal time slices. There is NO capability for more than two devices. If you also look at BLE, Bluetooth Low energy, it may do what you want.

You have made some awkward choices on hardware and communication protocols. You may be able to salvage the project in 3 weeks, but you will need to work with known technology:

ESP-MESH with ESP32 and ESP8266: Getting Started | Random Nerd Tutorials

Another solution may be in the NRF25L01 radio modules. With those 1 base module can listen to many transmitters.

Simple RF24 tutorial to get started >> Simple nRF24L01+ 2.4GHz transceiver demo

RF24 network >> https://howtomechatronics.com/tutorials/arduino/how-to-build-an-arduino-wireless-network-with-multiple-nrf24l01-modules/

Learning about Bluetooth (and other wireless protocols) is actually what the course is about so I kind of understand it (-ish).

But the Bluetooth Standard IEEE 802.15.1 allows for a Point-to-Multipoint configuration (as well as the Point-to-Point) with a single master that can connect with up to seven active slaves. This is what is present in most Bluetooth devices (i.e. your mobile phone or laptop which can connect to several BT device simultaneously). I was hoping there was a similar BT Point-to-Multipoint module for Arduino. But it looks like there are only Point-to-Point modules.

BLE is what I'm researching now, but I still have not found an example of a working solution that suits. All I've found so far is the same Point-to-Point examples but using BLE instead of normal BT.

I realise the choice of hardware and communications protocols is awkward/unusual. That is kinda the point, I was hoping to build something that was different from what we have been taught to build in the labs.

Makes sense that what they teach us in the labs is the most common/sensible configurations, so anything different will be unusual/awkward. Looks like I may have to give up and comply though.

BTW, ESP-MESH was one of the first things I looked at, unfortunately it's built on WiFi (802.11) not BT (802.15.1).

if it is about bluetooth, still take 4 ESP32 - one as "hub", the other 3 as Sensor module. The ESP32 comes with Bluetooth. Pricewise it will be cheaper than 4 Arduinos + 4 Bluetooth modules.

This looks to be the most likely solution. NRF25L01 still not using BT (802.15.1) but what appears to be a proprietary protocol? (Still researching this....) so maybe?

The radios send packets of data (32 bytes, maximum, per packet) that are made up how ever you want. I usually prefer to put the data into a struct because it is easier to parse on the receive side.

is there any particular reason why you are planning on using Bluetooth?
in a senario where one has a number of distributed microcontrollers transmitting sensor data to a central server the limited transmission range of Bluetooth would be a major restriction
if you use low cost ESP32 microcontrollers you have a choice of WiFi, Bluetooth Classic and BLE
implement the system using WiFi either using TCP/IP client/server or the simple point-to-point ESP-NOW protocol
select sensors which use 3.3V logic - this simplifies connection to the ESP32

once you had the system working if you had time you could attempt to implement a Bluetooth version - this would enable you to compare the technologies in your final report

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.