best suited rf link kit for arduino

Hello,

I just managed to realize wireless communication between an arduino uno and nano with some different, cheap chinese rf link kits using manhatten library. Unfortunately the power of the rf kits isn't appropriate to communicate from basement of my house, where I want to install the nano with some sensors, to my appartment, where I want to make the data logging with the arduino. The house is very rigid with several layers of concrete.

What would be the best approach to communicate wireless. I didn't found suited link kits at acceptable costs. Maybe bluetooth would be an alternative?!

Is there anyone with some experiences?

i dont think anything short of an ac-powered transmitter could go through concrete

What is the manhatten Library ? can you give a link to it ?
Did you try to optimize the antenna length for both the receiver and the transmitter ?

Could you make something outside the basement/wall/window ? Perhaps a horizontal antanna.

Do you have ethernet or wifi in the basement ?

A few layers of concrete (with steel rods enforcement) could be a problem. Using 433MHz modules would be my first choice. You have to know that the data rate with those is very slow, perhaps a few hundred bytes per second.
Bluetooth is for shorter distances and has more trouble getting through concrete.

Unfortunately I have no wifi or ethernet in the basement.

If I had any idea, how to enhance the antenna of the sender and receiver, I would do so. Is there any description in the web?

I tried the 433MHz link kit by sending manually signals (impulses) and I managed to "communicate" from basement to the roof of the house. To communicate more "professional" I used manhatten library for wireless communication but now the distance is limited.

I would prefer to use an antenna but need a description how to do this.

P.S.: search for manhatten in the forum.

433 MHz, add 17cm wire antenna. I've used 30 guage wirewrap wire.
VirtualWire library works very well, 2000bits/sec data rate.

Is the diameter of the antenna wire important?

Why using 17 cm?

So I solder the wire to the antenna pin of my rf transmitter and receiver?

I meanwhile also found VirtualWire library. Possibly/Hopefully it's more stable than manhatten!

Thank you for your help :roll_eyes:

17cm is the frequency wavelength (or maybe 1/4 of a wavelength, has been a while since I did the math).

I don't believe wire diamater is critical.

Need 17cm wire at each device.

Have never seen manhatten library, do you have a link?

I could not find any manhatten library either.
But anyway, the VirtualWire library is the only good library for the cheap modules.
http://www.airspayce.com/mikem/arduino/
VirtualWire does not repeat messages, so if you want to sure that a message arrives, you might have to repeat it a few times.

sonnyyu:
In case you don't want the world I give, Here is the Plan B;-

sonnyyu:

Riva:
Could you use a couple of powerline network nodes http://www.amazon.co.uk/Netgear-200Mbps-Powerline-Ethernet-Adapter/dp/B007JD6LBS/ref=pd_sim_sbs_computers_3/278-4290633-8656936

Good move!
However 2 conditions have to meet;-

  1. The powerline networks won't work across power transformers, i.e. greenhouse and office have to be under same transformer.
  2. Since most of Powerline-Ethernet-Adapter use Qualcomm Atheros chipset, if not all. It has maximum distance 300 m between nodes.

The powerline networks will be extended 300 m/984 ft distance.

Hope distance between basement of house and apartment of house is not over.

:blush: XD OK, I'm slightly stupid. Forget about manhattan library and replace it by manchester library (both are cities XD).

The powerline approach might be a solution, but than I cannot use a cheaper and smaller arduino nano but have to implement two uno's together with an ethernet shield. This might be too expensive (together with the powerline modules).

Would it help to reduce the baud rate to the least possible value to get a more stable communication? As I implementend my own simple communication protocol by sending each 50 ms an impulse of 10 ms length I could pass through concrete. This means that I can transfer less than 20 bits per second. For a high speed communication the noise seems to be too high. So the optimum should lie inbetween.

The distance between Manchester and Manhattan is 278 km :roll_eyes:

It should not be hard to make an Arduino compatible communication devices that use the mains, perhaps with a serial interface. I don't know of something like that exists.

The VirtualWire library is very well optimized to get the best signal. It is not something you can achieve with your own sketch. You have to use it, to learn about the maximim distance (and I would transmit the data a few times).

Bitrate too high: the cheap modules perform worse with high bitrates.
Bitrate too low: Noise could appear in the 'gaps' during the moment the transmitter is off (it is modulated by switching it on and off).

Normally a lower bitrate is better. For what I know, lower than 1000 does not improve it a lot.

sonnyyu:
Xbee range problem - Networking, Protocols, and Devices - Arduino Forum

Wireless extender vs. router - Networking, Protocols, and Devices - Arduino Forum

  • Every 6 dBm receiver sensitivity gain will be double the distance.
  • Every 6 dBi antenna gain will be double the distance
  • Every 6 dBm Transmitter power gain will be double the distance.
  • Base on Friis Transmission Equation, for sub Ghz chipset, if we select 300 Mhz v.s 900 Mhz band, the distance will be 3 times more. same thing if we select 300 Mhz v.s. 2400 Mhz, the distance will be 8 times more.

In your case, either gain antenna or gain Transmitter power.

sonnyyu:
In your case, either gain antenna or gain Transmitter power.

I think those cheap transmitter modules can operate at 5V up to 12V. Using 12V increases the distance a lot.

Ok, now I finished pimping my RF kit :grin:

I changed from manchester library to virtual wire, decreased the baud rate to 1000 changed the max signal length in the library to be able to transmit texts of 32 byte length (since I want to send this message length) and finally added a 17 cm antenna to the transmitter and to the receiver of my 434 MHz kit. The transmitter was operating at 12 V the entire time, so no additional tuning was possible.

Finally I get my signal from the basement to my appartment :smiley:

Thank you very much for your assistance.

Well done.
I'm amazed myself that the VirtualWire is so good. I did a test this afternoon, and the distance was larger than I thought it would be.

Those very cheap modules from Ebay don't need to be inverted. The example files for receiver and transmitter contain both a line to invert the signal, but you better remove those lines.

On the receiver module it is possible to get the signal strength (a agc signal) from a capacitor or the chip. I have not tried that yet, but I plan to do that to be able to tune the length of the antannas.

I tried to remove the ptt_invert line, but than the LCD-shield I use with the arduino went black ?!?!

I really didn't get what is the meaning of this command, but if it detrimental influences my LCD-shield I let it in.

Look at the used pins in VirtualWire.cpp.

static uint8_t vw_ptt_pin = 10;

The ptt pin is almost never used, but it is set in the code.
That means, that you can not use pin 10 for something else.

I use this in the transmitter sketch:

void setup()
{
  Serial.begin(9600);	  // Debugging only
  Serial.println("setup");
  
  // Initialise the IO and ISR

  vw_set_tx_pin( 2);
  vw_setup(2000);	 // Bits per sec
}