Best cheap and simple 433MHz modules with good range

Hi, I am a little disappointed by the quality of 433MHz communication I have.
I bought these little cheap TX/RX modules:
http://www.ebay.it/itm/2-moduli-RF-433-Mhz-trasmettitore-ricevitore-arduino-pic-shield-/261233706163?pt=Componenti_elettronici_attivi&hash=item3cd2be04b3

They are called:
Transmitter: MX-FS-03V (FS1000A)
Receiver: MX-05V

TX is connected to an Arduino Due with a temperature sensor.
RX is connected to a RaspberryPi.

Although they are working fine, I am very disappointed by range.
Without the antenna the range is just a couple (2-3) of centimetres.
I then attached a 16-17 cm wire antenna to both TX & RX but now the range is 2-3 meters MAX and if I touch the sensor, maybe to move it in another position, and the TX antenna does not exactly stay in the same position (up right) as the RX, I cannot receive anymore.

Now, I was wondering how my wireless car key or my gate key (which both work at 433MHz) can have so much improved range (100-200 meters) also with ceilings in between... and being so small! :shock:

Am I using the wrong or too cheap modules?
Can someone advice some cheap but more powerful modules working at 433MHz?
Is there a way to use an antenna which is more compact and less sensitive to relative antenna position?

My plan was then to move from the Arduino Due to a Arduino Micro battery powered sensor, but with this communication it is not worth of it - and I was wondering if I need to go on with some other technology (like BLE or WiFi).

Thank you for Your time.
Bets regards,
Camillo

I use modules that look very similar to those and with a vertical, 17 cm straight wire antenna on the transmitter and receiver, get more than 300 meters of range when outdoors.

Maybe you have a module that is improperly tuned.

jremington:
I use modules that look very similar to those and with a vertical, 17 cm straight wire antenna on the transmitter and receiver, get more than 300 meters of range when outdoors.

Maybe you have a module that is improperly tuned.

Hi!
Do You have maybe these?

I found on the internet that someone suggest to use these instead of what I am currently using.
Camillo

I also had issues with a 433.92Mhz receiver but the range improved a lot after adding this antenna: http://www.ebay.com/itm/330915811011?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649

The quality of 433Mhz depends greatly on the algorithms used to send the and receive the data. Manchester encoding is popular as at about 0.5Ms modulation excellent reliability can be achieved. So probably a description of the modulation/protocol strategy will also be necessary. I have heard of people using Serial commands and structuring it to send information, but it does not handle the zero offset signal problem. Serial Asynchronous signal level on OOK drifts with longer sequences of one bit or the other (this is primarily what Manchester encoding solves).

Cheers, Rob

robwlakes:
The quality of 433Mhz depends greatly on the algorithms used to send the and receive the data. Manchester encoding is popular as at about 0.5Ms modulation excellent reliability can be achieved. So probably a description of the modulation/protocol strategy will also be necessary. I have heard of people using Serial commands and structuring it to send information, but it does not handle the zero offset signal problem. Serial Asynchronous signal level on OOK drifts with longer sequences of one bit or the other (this is primarily what Manchester encoding solves).

Cheers, Rob

Hi, thank you!
I am using this library:

which uses the RcSwitch library:

I guess the coding is Manchester, but I do not know really...

Riva:
As your using the transmitter on a Due is it being powered with 3.3V? The transmitter will work up to 12V according to eBay page and greater voltage will improve range.
I use a similar transmitter connected to 4.5V (3x AA batteries) and get a good 5 meters without antenna and it's mounted in a plastic enclosure.

Hi thank you!
I am powering with the 5V pin of the Arduino Due.
5 meters without antenna?
Can You give me the exact model You are using?
And maybe the link to the store where can I find it?
Without antenna I was getting 2-3 centimetres range!!!
Camillo

Riva:
Bought from here about a year ago but it's basically a pair of these

Uh... These seems exactly identical, the same as I have...
Do You guys see any difference between these 2 set of 433 modules:

Are You sure is not this one maybe?

433TX.jpg

If you are only getting 2-3cm "range" then it maybe you have not wired the receiver correctly and the transmitter is simply "blasting" a modulated signal into the local wiring of the receiver, sufficient to trigger off some responses.

I was experimenting with a 443 transmitting circuit to build an extra sensor for my Uno weather station base station, so I had a second identical 433 receiver set up on another Uno for the purpose of tracking what the experimental Tx was doing. I took the aerial of the experimental Tx so it would not interfered with my Uno weather station receiver. The weather base station Uno was still getting the signal through a floor and wall about 6metres away. I put the whole thing in an aluminium pot with the lid on as a shield and still the Tx was reaching the Uno base station and interfering with good strength "valid" signals. I gave up after that and found the solution was to take the Tx and Rx off the experimental Uno system and just directly connect the two Uno boards pin to pin! This worked fine and allowed me to get on with the uno-uno experiments.

I was amazed at the power of the Tx and sensitivity of the Rx, and this was all on 5V.

That RC-Switch library looks very impressive, some nice work has gone into that.

Cheers, Rob

PS for a high quality 433 have a look at this brand http://www.wiltronics.com.au/catalogue/200791/picaxe-rf-dorji-robots-kits/rf--dorji/dorji-ask-modules/dorji-fsk-rx-modules/dorji-433mhz-107dbm-ask-receiver--dip-package?productid=200957#200957 The Rx/TX that i used looked like Riva's

robwlakes:
If you are only getting 2-3cm "range" then it maybe you have not wired the receiver correctly and the transmitter is simply "blasting" a modulated signal into the local wiring of the receiver, sufficient to trigger off some responses.

Hi thank you,
it seems strange to me that they are not wired correctly, because when I connect an antenna I can get 2-3 meters of distance. It is not so easy to make it wrong, they are only 3 cables...
Do You think it can be a tuning problem?
Or can set somewhere the speed/bitrate?
Thank you!
Camillo

That is true Camillo, I knew the transmitter's were usually only 3 legs+antenna, but the 433RX I used has 8 connections and easily confused if not careful. So I reckon you should be OK.
I am scraping the bottom of the barrel here but maybe you are in a particularly noisy rf environment for 433mHz? My next guess is maybe the devices are out of tune. Did you buy them together form the same supplier? Maybe the tuning of one is at the bottom of the range and by chance the other unit is at the top?
Have you seen this Decoding and sending 433MHz RF codes with Arduino and rc-switch?

Cheers, Rob

Have a look at the RFM69HW (or RFM12B and RFM69) transceiver http://lowpowerlab.com/shop/RFM69HW Lib: http://lowpowerlab.com/blog/2013/06/20/rfm69-library/

There are also tiny sweet Arduino-Boards with soldered RF modules available called "Moteino" http://lowpowerlab.com/moteino/

I just wanted to give a +1 to the RFM69HW and RFM22B modules from HopeRF!!

In my opinion, they are some of the most fully featured low cost transceiver modules on the market today. I started off using the RFM22B modules with my Arduino projects and then once the RFM69HW was released I've moved my more recent projects across to that - to take advantage of the new features such as AES encryption.

As Clemens mentioned there are some really good software libraries out there that can get you started straight away. I too can high recommend the one's he linked.

Using these libraries and a couple of boards I've got I can close links using both the RFM22B's and RFM69HW's over 1km+ without too much trouble (you'll need to lower the data rate though).

Hardware wise I just hook my Arduino boards up to a couple of RFM69HW breakout boards I purchased and that's it. The breakout boards come with SMA antenna connectors which will, depending on our antenna, allow you to get much better range than a simple wire antenna. They are also easier to use (and not break).

The one's I'm using can be found here:
RFM22B Breakout Board: http://modtronicsaustralia.com/shop/rfm22b-s2-rf-transceiver-breakout-board-v2/
RFM69HW Breakout Board: http://modtronicsaustralia.com/shop/rfm69hw-breakout-board-with-module/

I have the same issue of very short range and from the pictures, it looks like I have the same receiver (as the OP). I'm using 7" wire (22 swg solid core) as the antenna.

On the receiver, is the small coil (an induction coil) supposed to touch the hole where you connect the antenna? In my receiver, it looks like the traces touch. I can't find a schematic for this card to verify. I'd like to get some feedback on this before I try separating the two.

I am using a 433Mhz door/window sensor to transmit the signal. In close proximity it works fine, but I need the signal to travel some 35 feet through one wall. My ninja block receives the signal with no issue

Oguime:
I also had issues with a 433.92Mhz receiver but the range improved a lot after adding this antenna: http://www.ebay.com/itm/330915811011?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649

Can you give us an idea of the range you could get with a 16-17 cm single core wire and with this antenna?
Di you install one on each module?

Hi!

I use a lot of cheap 433Mhz modules with 17cm wire antenna.
No problem to send 50m and through a wall.

I have noticed that they do not work well when powered from low voltage (3,3V). The high voltage (up to 12V) the better on the transmitter.
Also the reciver works best with 5V.

I have tested a lot to increase the range and noticed that if I put capacitors on VCC and GND I get a bit better stability.
One big bulk capacitor and a small 0.1uF.
The capacitors are optional and you will get a good result without them.

Which protocol do you use?

Have you measured the effect of voltage on the range?

I use virtual wire.

My weather station (50m away from my house) sends real time and historical data to my indoor modules.
First I tried to power my indoor Arduino (8Mhz) with 3.3V and lost a lot of transmissions. Then I tried to power it from a 5V USB/Serial adapter and it worked a lot better.
I also added the capacitors to get a more stable voltage (big cap) and to filter out interferences (small cap).

One Arduino recives weater data and stores it in a database (serial -> python -> database).
I have also a second Arduino which display the real time data on a LCD. First I powered it with 3.3V because the LCD was a 3.3V model, missed a lot of transmissions. Changed to 5V and it worked much better.

I also have more transmitters, two (weather station, homemade energy meter) use 12V and three use 5V (sensors). 12V is better but 5V works good to.
Try 5V first, if you miss a lot of transmissions try a higher voltage on the transmitter.

Your weather station is home made with one of these modules or store bought?

(I'm trying to find out what range you can get from the cheap transmitter to the cheap receiver using only 5V on both ends)

It is homemade.

I use the following sensors:
Wind direction & Speed: Sparkfuns Weather Meters
Rain: Sparkfuns Weather Meters
Pressure sensor: BMP085
Humidity & Temperature: DHT22

Arduino MCU:Atmega1284 with RTC & LCD.
The RF-modules are the cheap ones from ebay.

Database/Web server run on a Cubieboard.