I need some advice on a project.

I want to wirelessly transmit packets of data from a Raspberry Pi to several microcontrollers (Arduino or other). The frequency must be at least 15 packets/s per slave device. I am not really sure about using wifi, as it is usually not very cheap and requires setting SSIDs and passwords manually. Another thing is range. I need around 30m reach.

So far, from my research I have come to only these 2 solutions:

  1. If its the only solution, then wifi

  2. 433/ 2.4NRF - RF modules seems to be a nice solution, but I feel there is going to be huge technical problems and limitations

To be honest, I am quite desperate. I can’t find any wireless solution for long, sustainable, reliable, fast transmision of data between master and slaves, simplex. The communication I want to establish is more of a radio transmision than transmitting commands to the slaves.

If you have any recommendation, or can point me to a particular technology that solves this problem, I will be grateful.

One packet contain array of 60 int8 plus short string. Slaves up to 10.

  • 6
    \$\begingroup\$ You have not yet stated a meaningful data rate requirement - you need to specify total data per unit time, and how reliable that must be, ie, will you spend time replacing lost data, or will you just consider newer, fresher data to be more useful? \$\endgroup\$ – Chris Stratton Sep 10 '18 at 21:40
  • 1
    \$\begingroup\$ What country/region are you in? For some technologies, the rules vary from one country/region to another. \$\endgroup\$ – jcaron Sep 10 '18 at 22:21
  • 2
    \$\begingroup\$ Also, you state 15 packets/s per slave device, but don't tell us how many slave devices there are. Does each slave device need to get different data, or is broadcast of the same data to all devices OK? Are your 30 meters indoors or outdoors? Do you have any power consumption requirements (e.g. battery-powered devices)? \$\endgroup\$ – jcaron Sep 10 '18 at 22:23
  • \$\begingroup\$ What do you mean by a communication which is "more of a radio transmission"? I would recommend looking into wireless UART modules, but I'm not sure if that's what you want. \$\endgroup\$ – Dmitry Grigoryev Sep 11 '18 at 6:37
  • \$\begingroup\$ You said: "RF modules seems to be a nice solution, but I feel there is going to be huge technical problems and limitations" Okay, well what are they? \$\endgroup\$ – Bort Sep 11 '18 at 14:13

You can go for LORA but that's normally more expensive.

2.4NRF ... not sure if it can reach 30 meters (depending on obstacles/walls). Maybe with an external antenna.

433/800/900 MHz RF is mostly having a longer range, but a little more pricy (less than LORA).

I only did tests with Arduino and nRF with quite high speed (I think 2.5 mbps) and got a reasonably accuracy with about 6 meters and a wall in between. If you need less speed, you can go (much) further than 6 meters.

60 bytes * 8 bits/byte * 15 packets * 10 slaves = 72 kbps. This is a reasonably low speed (even for RF). So you can use expect to get higher distances, but you have to do tests to be able to reach 30 meters (with obstacles?) with nrf24. I didn't know about the 1% restriction. Btw, wireless microphones use sub 1 GHz transmitters/receivers and that bandwidth is much higher.

  • 1
    \$\begingroup\$ LoRa does not seem like a good option to me. In the EU region, you have a 1% duty cycle restriction on most sub-bands. That means that even at SF7, you can only send one (very short) LoRaWAN frame every 5 seconds or so, quite far from 15 frames per second per slave. The figure will be slightly better for raw LoRa, but we're still far from the target. \$\endgroup\$ – jcaron Sep 10 '18 at 22:27
  • 1
    \$\begingroup\$ I think OP is expecting an answer like "Just take two wires, 15 cm long each, bend them apart to form a T, get this transistor and that thing and you have your transmitter and blah blah blah and you have your receiver". \$\endgroup\$ – Harry Svensson Sep 10 '18 at 23:17
  • \$\begingroup\$ @jcaron technically that is a restriction of the frequency allocation, not the modulation technique. But yes, it is an issue. However it would apply with essentially any modulation on those frequencies, not just LoRa. \$\endgroup\$ – Chris Stratton Sep 11 '18 at 2:18
  • \$\begingroup\$ @Michel Keijzeirs you forgot the 15 packets per second per slave in your update. \$\endgroup\$ – jcaron Sep 11 '18 at 13:56
  • 1
    \$\begingroup\$ I would definitely be trying NRF24 with a bit of care and attention: hackaday.com/2016/05/31/… \$\endgroup\$ – pjc50 Sep 11 '18 at 14:29

Not the answer you're looking for? Browse other questions tagged or ask your own question.