How do I extend the range of the 315MHz RF Transmitter and Receiver?

Im trying to experiment on wireless data transmission in the Arduino Yun using a pair of 315MHz RF Transmitter and Receiver. But since I’m a beginner, I tried first to test the RF transmitter and receiver to control two motors.

I did a very simple set-up. At the transmitter side:
two dpdt switches → encoder (HT12E) → transmitter

At the receiver side:
receiver → decoder (HT12D) → motor driver (L293D)

I got the set-up to work successfully. However, I’m limited to about 6 to 12 inches of range only. Beyond this distance, there is no more response or sometimes erratic response from the receiver. I tried to install an antenna on the transmitter but it just did not work. I don’t know if i got the antenna connection correct.

On the receiver, there is no label for antenna connection and i could not find documentation on the receiver that could indicate proper connection.

Can anyone please help. I have attached the pictures of the actual setup and transmitter and receiver.

Receiver Back.jpg

Receiver Front.jpg

Was able to find a seller in eBay with my needed information, antenna location and length of wire. Although it was for a transmitter-receiver with 433Mhz, the chip resembles that of the 315Mhz that I have.

here is the link:

I used a #22 solid wire, 32cm in length. I formed a coil and soldered each to the transmitter and receiver. With these, the range was increased to 5 meters. At distances greater than 5m I get erratic results. I guess i need to add capacitors to my switches to reduce noise and improve transmission/reception.

First, you are likely to get better results with a straight antenna. For 315 mhz, the length you want is 23.8 cm, but its not critical, and 23-24 is good. There are tuning issues with a coiled antenna. I would recommend using a straight, 1/4 wavelenth piece of solid wire soldered to the antenna pad like you have done with the coiled antenna.

The antenna connection point on the receiver is the solder blob at the lower left corner of your picture. Next to the copper coil. Place the same 1/4 wavelength antenna here, as well as on the transmitter

Second, the specs on the TX unit you linked indicate that it can operate from 3.5-12v. You will get significantly greater range at the higher voltage. You can use a 9 or 12v dc source on Vcc of the transmitter to get improved range. The data line will still run from the Arduino at its lower voltage. I have mounted a small stepup regulator on my breadboards like this one

Those TX/RX units are shit. You will not get very good performance out of them. They’ll probably work within the room (though I’ve had problems even with that with 433mhz ones - but the 315’s seem much better), and you might be able to get into the next room. That’s about the best you can expect. I’m not saying don’t use them - I use them myself - but set your expectations appropriately; these things are like $1 per pair :wink:

What format are you sending the data in? You need to repeat each message a buncha times to have a good chance of receiving it (I do 5 reps - many consumer devices just loop through it as long as you hold the button) - because the devices continuously adjust their gain, you’ve got to expect it will miss the first couple of reps. I preface my messages with 50% duty cycle training burst, and that seems to help a little with receive success rates.

There are slightly better versions available, but they’re not going to do all that much better, and there are various packet radio devices, some of which have very long ranges (LoRa et al) that could be used (at higher cost and complexity).

I use 433 MHz units that look like that with VirtualWire. With straight wire vertical antennas 17 cm long on both the transmitter and receiver, I usually get at least 300 meters range in the unobstructed open (radio quiet country location).

thank you so much for your responses.

I will try to make adjustments based on your recommendations, straight wire for the antenna and 12V supply for the transmitter. At present, the transmitter is supplied at 9VDC and the receiver is at 5VDC.

@ DrAzzy, the various states of the switches (two dpdts) are encoded by the HT12E and sent to the data pin of my transmitter. I do not perform any data formatting. I guess its a straightforward parallel to serial conversion by the encoder.

Again, thank you so much.

I don't know if you have two Arduino's, but as j remmington states you can get pretty good performance out of these low end units with Virtual Wire library. It would be nice to see a range test comparing the HT12 encoders to the Arduinos with VW.

Hi cattledog. I only have one arduino yun for now. My plan is to get information from sensors (humidity, temperature, relays, etc) wirelessly. But I thought of testing first the wireless transmitter-receiver without the need for programming.

In the future I might do the test comparing the HT12 and the Arduinos with VirtualWire.

I'm amazed at those range claims - that is much, much better than I have been able to do with them. Of course, I'm in a tech-savvy city, so there is probably more radio noise here.

There are 2 types of receivers sold for 315 / 433 ASK . One is a superhet receiver and the other a superregen. You can tell the differance , as the superhet has a crystal on the board but the superregen doesnt. The superhet receiver is the far superior of the 2.

Using a ground plane at the base of a 1/4 wave whip antenna will extend the range even further, as it effectively creates a full dipole antenna.

A ground plane can be a sheet of metal (like the roof of an automobile) or 4 stiff wires drooping radially and each about 1/4 wavelength long. The ground plane must be connected to the transmitter or receiver circuit ground. Here is an example for 426 MHz:

Thanks everyone for your inputs. I have finally extended the range and got better transmission results.

Special mention to the suggestion of cattledog, straight antenna with 23.8cm length.

Just adding a quick suggestion on Antennas, I have found this set up (see photo) to be particularly good with 433Rx’s.
A piece of TV antenna coax with at 17cm of the core exposed for 433MHz and a 17cm piece of hookup wire (green) soldered to the coax and taped folded away from the coax core (or 23.8cm for 315Hz as per cattledog). I have a pair of header pins soldered at the other end of the coax for bread boarding purposes. It has pulled in signals when a single wire has failed.

Hello Newbie or any other user here is the transmitter front picture with the antena and where it goes the length for the antenna a t 315 MHZ is 22.5 centimeters