I'm not sure if this is the right sub or not, so please forgive me if this is in the wrong place, but I need some help picking out the right board for my project. Moderators: If this is in the wrong place, please let me know and I will either take it down and relocate to the correct place or if you have the power to, please relocate it and let me know that you have. Thanks.
Now onto the topic: I cannot go into too many details right now as it's a brand new project that I haven't seen done anywhere else before. It will involve multiple separate pieces each having potentially hundreds of sensors and each piece must be able to communicate with the Master unit (hereby referred to as receiver) over WiFi or Bluetooth. I was looking at the Mega, but it doesn't seem to have a WiFi module, so what I'm looking at now, is more than likely having multiple boards per piece interacting with each other over a direct/wired connection in a sort of sub-master/slave setup to accommodate the large number of sensors with the sub-master sending the sensor info from each of the slaves to the receiver over WiFi.
So this leads to my question: is the master-slave per unit setup even possible? If so what boards would one recommend? I was thinking of using a few Megas for each unit slaved to a MKR WiFi 1010 or possibly the Uno WiFi Rev 2. Or would it be better to use just the Megas with a USB WiFi dongle attached to one of them as the per unit master?
I know I mentioned Bluetooth earlier, but after a little more consideration, I realized that it may not be the best choice. As a point-to-point network Bluetooth would be great, but it's bandwidth is rather small and I will need near-instantaneous response time from multiple units communicating with the receiver simultaneously, which is why I decided that it must be a WiFi connection.
Thanks in advanced!
I cannot go into too many details right now (snip)
Well that is seriously going to limit the amount of help you can get. without details of exactly what you're trying to do people are only going to be able to give you general advice at best.
What I can say is that it is certainly possible to send data from one Arduino (or compatible) board over Wifi to another. As for how many sensors you can connect to a particular board- that will depend on what sensors you are using.
I suppose I can go into more detail about the sensors themselves. I'm not trying to use any kind of fancy sensors like thermals or momentum, just simple on/off electrical circuits that will register in the software when the circuit is completed.
Basically each sensor is going to be two small copper plates separated by some velostat fabric. When enough pressure is applied to complete the circuit through the fabric, the board will send a signal to the master unit with identification info to make sure that the data output on the master unit matches the input from the sensor.
So you basically just need to read a bunch of switches? That's nothing too exotic. You could either use a smaller Arduino and a bunch of port expanders (like this (https://www.best-microcontroller-projects.com/mcp23017.html)) to give you the inputs you need. Or you could use a Mega (or even better one of these (https://robotdyn.com/mcu-pro-mega-2560-atmega2560-16au-usb-ch340c-with-pinheaders-2-lines-pinheaders-pitch-0-1.html) that uses the same chip but gives you even more GPIO pins).
For the Wifi side of things you could easily connect up an ESP8266 or ESP32 to each slave. Depending on your requirements for the master you might be able to just use an ESP32 without an Arduino.
I was looking at the Mega, but it doesn't seem to have a WiFi module,
Adafruit sells a WiFi shield (Airlift) based on an ESP32. The ESP32 is dedicated to being a WiFi coprocessor over SPI. The Airlift library is nearly identical to the WiFiNINA library used on the MKR WiFi 1010 and Nano 33 IOT.
@BJ: Awesome! I didnt know port expanders were a thing, time to broaden my horizons a bit! Thanks for the info!
@GBA: That may work for me in the prototype phases, but in the long run I'll need something a little more advanced, but that's a topic for a different discussion, right now I'm only focused on prototyping, so I'll definitely look into them as a placeholder for now.