I am using some "no-name" (in fact "XY-MK-5V" stands on the board) 433 MHz receiver (and transmitter) on an Arduino project. I can receive the signals sent from my other Arduino very good (it sends with 12 V as mentioned in another question).

The problem is: I want to receive signals from other parts - such as simple power outlets wireless switches, too. When they are sitting next to my Arduino, everything is fine. When they are ~ 3-4 m away, the Arduino gets no signal (or more times doesn't get the right signal).

At that time I am using a simple ~17 cm long wire that is curly to save space soldered to the "antenna port".

What can I change in order to get a better signal?

  • 1
    \$\begingroup\$ Straighten out the wire. That way, it will be 1/4 wavelength long and have maximum gain at 433 MHz. The first rule about good reception is to have a good antenna. \$\endgroup\$
    – Dave Tweed
    Commented Mar 23, 2014 at 0:33
  • \$\begingroup\$ That didn't help. I heared of using some Coax Cable as antenna, do I connect the Ground to the common ground? \$\endgroup\$
    – Tobi
    Commented Mar 23, 2014 at 0:42
  • \$\begingroup\$ Are you using AM or FM? What are the devices using? \$\endgroup\$
    – Andy aka
    Commented Mar 23, 2014 at 1:04
  • \$\begingroup\$ Good Question... it is weather printed on my power sockets that are controlled by the remotes or the remotes themself. Also nothing on the tr/rx modules, I am using. How cah I check that? \$\endgroup\$
    – Tobi
    Commented Mar 23, 2014 at 22:19
  • \$\begingroup\$ I might be worth adding a bit of background from your other questions that say what the transmitter actually is and how it's encoded / decoded, what the antenna is each end etc. \$\endgroup\$
    – PeterJ
    Commented May 10, 2014 at 10:30

5 Answers 5


Are you sure that your module works well to 12 V?

Since it is the "XY-MK-5V" model I think it has the voltage up to 5 V as ideal.

For all I know, these modules work well between 3.3 V and 5 V, maybe saturating the circuit.

Really, the transmitter work with up to 12 V.

But I suspect that it does not work at the frequency in question. See, there are a lot of bad information on the Internet about them.

Transmitter XY-MK-5V

  1. Product Model: MX-FS-03V
  2. Launch distance: 20-200 meters (different voltage, different results)
  3. Operating voltage: 3.5-12 V
  4. Dimensions: 19 * 19 mm
  5. Operating mode: AM
  6. Transfer rate: 4 KB/s
  7. Transmitting power: 10 mW
  8. Transmitting frequency: 315 MHz
  9. An external antenna: 25 cm ordinary multi-core or single-core line

Receiver: XY-MK-5V

  1. Product Model: MX-05V
  2. Operating voltage: DC5V
  3. Quiescent Current: 4 mA
  4. Receiving frequency:315 MHz
  5. Receiver sensitivity:-105 dB

See more at: How to use 315 MHz RF transmitter and receiver modules with an Arduino

  • \$\begingroup\$ ... The Receiver says ...5V. That does not belong to the sender that workds with 12V also. More voltage more power. \$\endgroup\$
    – Tobi
    Commented May 10, 2014 at 10:05
  • \$\begingroup\$ well, maybe not so direct rule thus further if u saturate the transistor output RF. But now tested and does not work, and make sure the transmitter, FS1000A stand such a strain without inconvenience. Well, I do not know what the output transistor, and what characteristics it. \$\endgroup\$
    – Delfino
    Commented May 10, 2014 at 14:22
  • \$\begingroup\$ ![XY-MK-5V][buildcircuit.com/wp-content/uploads/2012/06/receiver-only.jpg] \$\endgroup\$
    – Delfino
    Commented May 10, 2014 at 16:21

The frequency of the TX is stamped onto the cap of the SAW resonator. I have played around with these modules a lot and they are usually good for 100 metres line-of-sight. Only use a straight single core antenna, 173mm in length, and make sure your power supply is clean. The supply from an Arduino is OK but try adding a 10uF capacitor to the TX and RX module VCC and GND inputs.

I use VirtualWire 1.27 for all my packet sending and it works very well but for other devices they must send enough preamble bits for the RX to settle properly otherwise the Rx will never demodulate the data correctly and you will have all sorts of trouble decoding it. If you're just looking for carrier on/off coding you will find interference is your greatest enemy.

  • 1
    \$\begingroup\$ You got 100 meters of range in LOS from the cheap 433 MHz Chinese modules? I'm asking because I wasted today and I got nothing above 3 meters. Also using VirtualWire... \$\endgroup\$ Commented May 24, 2015 at 18:49

if you decrease the baud rate you increase the range, because the bits become longer in time. more time to decode is resulting in better natural resistance to spike interference.

This is true of any wireless digital system.

  • 7
    \$\begingroup\$ This is awfully thin for a SE answer. Can you explain why this is true? \$\endgroup\$
    – Dave Tweed
    Commented Mar 9, 2015 at 11:49
  • \$\begingroup\$ at all, I cannot change stuff on the sending part \$\endgroup\$
    – Tobi
    Commented Nov 24, 2019 at 1:18

I struggled with similar range issues. Everything worked fine at a distance of around 2 meters but not farther.

I use 17.3cm long antennas on both transmitter and receiver. I experimented with other types of antennas, but nothing improved the range. A 9V battery powers the transmitter.

I used to power the receiver by 5V from the Arduino connected to a USB port. I found that the voltage measured on the receiver was around 4.6V. I decided to use a higher voltage power source (9V battery) for the Arduino. Then I powered the receiver module from the 5V pin of my Arduino (voltage regulated). That fixed the issue of too short range.


Simple RF electronics. More power in = more power out. So if the unit is powered to it's threshold you will get more range.

Also consider adding a coil-loaded antenna to both the TX and RX. For the price these are brilliant little units.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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