RF Advice

Hi All,

I need some advice. I am in need of a radio that can be easily interfaced with an arduino. I am not worried about range, as this will not be greater than 10M Line of sight.

These radios will be operating as a single pair most of the time, however they will occasionally come into contact with another pair. It is very important that they do not interfere, and cannot interfere.

Has anyone got any recomendations? (FHSS?)

Cheers,
Sam

My favorite little radio is the RFMR22B. It’s 433 MHz (better range than higher frequencies) about half the size of a postage stamp, cost about $4 on EBay, and has the best documented library I’ve ever seen. (Radiohead) And it hass max. Tx power of 100 mw.

As for interference, that comes in two flavors. If two units transmit at the same time, there will be RF interference. However, the library provides a reliable packet service mode, where eacn radio expects an ACk for each packet it sends, and if it doesn’t get it, it retransmits. This tends to be very robust, and would especially be so in your case with only four radios.

The second type of “interference” would be if a radio accepted a packet meant for a different radio. But the software setup of these radios permits assigning distinct node numbers, so node 2, say, will not respond to a packet meant for node 1.

These little chips have pads on a 2 mm. spacing, but that is only slightly less then the 0.1 in. spacing we all know and love. It’s very easy to incorporate them onto a breakout board so through-hole soldering can be used.

gecko242:
I need some advice. I am in need of a radio that can be easily interfaced with an arduino. I am not worried about range, as this will not be greater than 10M Line of sight.

How about bluetooth? The interface can hardly be easier, they are dirt cheap, 10m line of site is fine, and they are expressly designed to resist interference in a crowd. This latter to the point where they can be configured to auto connect to their predetermined partner, and to the exclusion of all others.

With the criteria you state, I don't understand why you would use anything else.

There is a criterion which you may have forgotten - power consumption. If this is a consideration, the answer is the same but just ensure you use BLE modules like the Tinysine HM-10 instead. They offer about three times the range for a tiny fraction of the power.

RFM69, like the fact they have built in AES hardware encryption. Can use the Radiohead library as well.

To reduce interference, if the second pair doesn't need to talk with the first pair, just shift the frequency a bit.

I use the nRF24L01+ 2.4GHz modules. They are cheap and effective.

This Simple nRF24L01+ Tutorial should help get you started.

No matter what wireless system you use you cannot guarantee there will no interference - you can just work around it. I have built 4 pairs of nRF24 units that work in the same room on the same channel with almost no interference. The programs are designed to ignore occasional missed messages and to shut down if there is about 1 second without any message. They have never, so far, needed to shut down, except when I deliberately switched off the Tx. All 4 Rx devices have been given different addresses.

...R

Cheers for the messages guys. After looking around a little more, I will probably end up going with bluetooth. Can anyone explain the difference between these two units?

And would I be able to connect a pair of them together, rather than connecting them to a phone or tablet?

Cheers,
Sam

The main differences are the price and the ability of the Adafruit device to operate on the SPI bus. I have yet to see a persuasive reason for putting bluetooth on SPI, let alone paying extra to do so.

Two HM-10s can talk to each other independently of phones etc., and indeed be programmed to auto-connect. Check the datasheets and the Martyn Currey website. He's the guru but, while he doesn't address BLE specifically, the configuration as much the same as the HC-05 and his notes should suffice. Note that HM-10 is set for AT mode same as HC-06 i.e. it is in AT mode if power is on and it is not communicating with another BT device. The commands are the same as HC-05. Also, I understand they all use a six-digit password.

Okay, that all makes sense. Would it be feaseable to implement a "bind" button on each unit, to make connecting easier?

And once they are connected, would it operate like a simple serial interface?

Cheers,
Sam

gecko242:
Okay, that all makes sense. Would it be feaseable to implement a "bind" button on each unit, to make connecting easier?

I'm afraid I don't know, but things can't get much easier than the routine auto-connect. This is done by power-on or proximity.

And once they are connected, would it operate like a simple serial interface?

Yes. Bluetooth is "serial without wires" Arduino doesn't know it's connected via Bluetooth, it just talks to the relevant pins.

Okay cheers, thanks for all the advice!

One last question, what is the latency like with these radios? Between them receiving a serial command and spitting it out at the other end?

The latency depends on your serial Baud rate(s). The full message has to be transmitted twice, once to the transmitter and once from the receiver. Add another millisecond or so for the radio.