I am using a FS1000a Transmitter and a MX-RM-5V Reciever for transmitting Sensor Data inside my flat to an Arduino Device. (13 Chars every 10 Seconds)

The same Transmitter type is also used for switching wireless power plugs from the Arduino Device.

I am using antennas that are wound with a diameter of approximately 0.4 cm and the length of the wire seems to be lambda/2.

While I can control the power plugs two rooms further with no problems, receiving the sensor data from there is not possible.

I already built some antenna-variants (copper wire with lamdba/4 and lamdba/2, normal wire), but nothing seems to work out.

At the moment I am using the wound-antennas and placed them all in a vertical position, the baud rate is set to 2000 (1000 made no difference)

Maybe someone can give me an advice how to extend the range of the system? Increasing the voltage of the transmitter is not possible.

  • $\begingroup$ Can you elaborate on what this "wound antenna" is? A picture or datasheet perhaps? $\endgroup$ – Phil Frost - W8II Mar 17 '16 at 20:48
  • $\begingroup$ @PhilFrost, I have to presume it is the coil antenna that you can see on the boards if you click on the link that is given in the beginning of the question. The dimension of 0.4mm must be the wire diameter and not the coil diameter. $\endgroup$ – Craig K Mar 17 '16 at 21:15
  • $\begingroup$ Sorry, I was lost in translation.The antenna type seems to be a helical antenna, I added a link $\endgroup$ – Triscus Mar 18 '16 at 0:13
  • $\begingroup$ @CraigK Is that a coil antenna? Or is it just an inductor? $\endgroup$ – Phil Frost - W8II Mar 21 '16 at 20:18
  • $\begingroup$ @PhilFrost I do not know which it is. $\endgroup$ – Craig K Mar 22 '16 at 15:16

I'll begin by saying I do not have any first-hand experience with these transmitter receiver pairs. But it seemed very interesting to me so I did a little bit of research to learn more about how they can be used.

My conclusion is that you probably will not see much improvement in the error-rate of data transmission by altering the existing antennas.

While I can control the power plugs two rooms further with no problems, receiving the sensor data from there is not possible.

The reason that you find success controlling the power plugs is that the message is very simple (on or off) and there is some error checking built into the data protocol. Also the on or off message is repeated many times with some unique data pattern that can be reliably distinguished from random data meaning that the receiver is smart at ignoring false messages due to random noise.

Similarly you could transmit data packets at a very slow rate, I'll guess at a rate of a few characters per second by using the same error-tolerant technique used for simple on/off messages. You'd implement this with some unique code to indicate begin of data and also you'll need to send some sort of error checking code like a CRC after the data character. The receiver software needs to throw away any characters that are not received with a valid CRC.

From what I found in my research you need to expect a very high error rate in data transmission of 90% error rate or even worse. Your only way to conquer such a poor error rate is to repeat the message (or each data character) many times and have the receiver have some logic to know how to ignore erroneously received characters.

There is a code library called RadioHead that has a good protocol already coded so you do not need to begin with nothing. One comment describing their protocol helps to understand how they solve the noisy data transmission error rate in their code:

Does not use the Arduino UART. Messages are sent with a training preamble, message length and checksum. Messages are sent with 4-to-6 bit encoding for good DC balance, and a CRC checksum for message integrity.

You may ask yourself how or why such product can be marketed that are so unreliable as an error rate of worse than 90%. The reason is they are using frequencies that are assigned to other licensed users. So the cheap devices you use need to be tolerant of interference and also not interfere with the licensed users. You need to write a software protocol to be tolerant of interference and already the modules you chose are not going to present much of a problem interfering with licensed users since the modules have a very low 25mW transmit power which is a very tiny level unlikely to bother your next door neighbor.

Alternatively you could adopt a more expensive transmitter and receiver technology like Bluetooth LE or XBEE where the modules already handle the error checking protocol for you so that you do not need to invent your own software error tolerant protocol. The modules you have begun to use are very nice for their extremely low price, but like all things in engineering you trade one thing for another. In this case the low cost brings more complexity in your application. Keeping the cost down makes sense in mass production but maybe not so much for a single project.

  • $\begingroup$ Would be interesting to see the results in your link with the use of external antennas.I will look a bit more into the library I am using (Radiohead), maybe it offers some functions for ASK transmissions to make it more reliable $\endgroup$ – Triscus Mar 18 '16 at 0:43
  • $\begingroup$ The library has a function that is doing what you suggested. After I implemented it, it's working properly. There are still some losses (about 20-30%) but it's acceptable for me. The detailed description of the library suggests not to use the Modules directly with UART, so maybe this could be one factor for the bad transmission rate in the link you provided. Detailed information about how the library ist doing it, can be found here after the function stuff: link $\endgroup$ – Triscus Mar 18 '16 at 23:07
  • $\begingroup$ Thanks for the good news. I made some edits to my answer so that it mentions the RadioHead code and how it works. $\endgroup$ – Craig K Mar 19 '16 at 15:14

Those antennas appear to be a normal mode helical antenna. When mounted on a portable radio and encased in plastic to improve durrability, they are known as a rubber ducky antenna.

They are essentially monopole antennas which have been made physically smaller by distributing a large degree of self-inductance throughout their length. This smaller size also means reduced efficiency.

You can get improved efficiency at the expense of larger size by using a quarter-wave monopole or a half-wave dipole antenna. These are easy to construct as they are simply a straight piece of wire. For 433 MHz, the length of a monopole antenna is about 165 millimeters. For a dipole, make two such wires, each 165mm long, and attach one to the antenna connection, and the other to ground on your radio board.

As Craig notes, these radios appear to be more about low cost than robustness, so a more effective antenna may not make them significantly better. Since it is quite easy to make a straight piece of wire, I suggest you give it a try anyway.


I think you could improve the sensitivity of the receive antenna by making the antenna a larger loop with more turns, with the axis of the loop pointing at the transmitter. It would also be possible to increase the efficiency of the transmit antenna, but more difficult, because the transmit antenna's impedance must match the impedance that the transmitter's output circuit expects. If there is an impedance mismatch power will be reflected back to the transmitter, which would raise the voltage on your output transistor and possibly damage or destroy it. It is possible to measure the transmitter's characteristic impedance, that is the impedance that the output circuit expects, but to do so would take some radio knowledge and expertise.

My practical suggestion would be to experiment with a larger loop with more turns for the receive antenna, or do as Craig suggests and buy a different transmitter and receiver.

  • $\begingroup$ This is probably incorrect. The antennas appear to be helical antennas, AKA "rubber duck" antennas. These are essentially monopole antennas with inductive loading across their entire length. Altering the geometry of the antenna (larger loop, more turns) will change the resonant frequency, and they should be oriented parallel to each other. $\endgroup$ – Phil Frost - W8II Mar 22 '16 at 12:15
  • $\begingroup$ Hi Phil, I took a close look at the pictures, and the receive antenna looks to be three turns of wire connected to the board at both ends. That makes me think it functions more like a loop than a loaded monopole. I'm not an electrical engineer, but if I were the OP trying to eke a little more range out of the inexpensive boards, I'd try unsoldering the original receive antenna and soldering in a larger loop with more turns. He or she has nothing to lose but 20 minutes or so, the way I see it. $\endgroup$ – rclocher3 Mar 24 '16 at 0:20
  • $\begingroup$ I think those coils on the boards are just inductors, not antennas. The way they are oriented at right angles was probably done to reduce their mutual inductance (thus not accidentally making a transformer). The question was edited and now has a link to some antennas on Amazon (just antennas, separate from the radio board), that look more like reasonable antennas, not inductors. Those are the subject of my comment. $\endgroup$ – Phil Frost - W8II Mar 24 '16 at 2:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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