I have a system comprised of a wireless sensor which transmits temperature readings to a main base.

The wireless sensor system is made up of:

  1. 12F683 pic to take the temperature reading (manchester encoded)
  2. RF Solutions AM-RT4-433 transmitter to transmit the data
  3. Currently on a small bread board (proto board) with a 1/4 wavelength wire acting as an antenna

The manchester encoding is: 0 = 10 and 1 = 01 for a total time of 416 micro seconds (each low and high is 208 micro seconds)

The receiver base is made up of (all on bread board again)

  1. RF Solutions HRR30 receiver with a 1/4 wavelength wire for the antenna
  2. mbed microcontroller which decodes the data from the receiver and looks for a short sync pattern and then receives the data packet (sync patter is 15 1s followed by a 0 and then the data begins)

This all works fine when transmitting from one side of my desk to the other (1-2m) but once I move the transmitter to another room it becomes very unreliable. The remote system currently takes a sensor reading, then powers up the transmitter to send the data and then powers down the transmitter once transmitted - I can get some transmission at increased distances by increasing the number of times the data packet is transmitted from 1 to 5 with a short delay between them.

This sort of works but it is still not very reliable. Both boards are running from 5V.

Any suggestions on where to look for issues would be great. I assume that using bread board and whip antennas is not great but I would have expected the range to be more than 2 meters - maybe I'm wrong?

I know that other frequencies than 433 MHz might serve me better and I have used the RFM12B transceivers but I would like to stick to these components for now.


3 Answers 3


The modules you are using are only 0dBm (1mW) which is quite low power. The RFM12s that you are used to are normally 8dBm (6mW) and have a ready made, robust protocol. They are surface mount as well, so I'll assume you are using them mounted to a PCB.

My first thoughts would be to isolate RF issues from protocol issues. Set up a transmitter doing 101010101010 at whatever rate is required to transmit the data in your application. You seem to have a rate of about 2400Hz which is good for long distance without being so slow as to confuse any AGC in the receiver. Either use a scope on the receiver or set up something to detect this preamble like pattern, and see how far you can go with your current setup. This should make it possible to work out if it is an RF issue or a protocol one.

I don't know the HRR30 receiver, but most of the basic AM receivers have a non adjustable AGC in them. This means that it can be hard to work out exactly how long a preamble you need to bias the gain correctly, and also hard to work out what data rates are supported. Too short a preamble and the receiver will still be gained up and responding to noise. Too slow data rate and the gain will be all over the place. Your setup sounds fine, but may be worth investigating.

Bread boarding these transmitters and receivers is fraught with problems. I don't think that you need to resort to anything more than a quarter wave dipole though. Get the module onto a simple PCB and you will likely see a big improvement.

Another big assumption, but with projects like this it is often not worth implementing error correction. Just transmit several times and assume you will miss some packets. If that isn't acceptable, a send /ack system will be better then error correction.

  • \$\begingroup\$ I've followed your advice and I'm now fairly sure it is an issue with my protocol and the code determining if a valid packet has been received. When I revert back to using the basic EUSART version (i.e. not manchester encoded) it transmits several meters from one side of the house to the other. Back to the drawing board the I guess (or just use the RFM12Bs) \$\endgroup\$ Commented Apr 29, 2012 at 9:51
  • \$\begingroup\$ Excellent - thanks for coming back on it. The RFM12Bs have a lot going on inside them to make your life easy, but they do cost more... \$\endgroup\$ Commented Apr 29, 2012 at 10:23

I did almost the same project but AVR one and reached a range of about 30 meters outdoor and about 15 meters indoor (concrete building) at 5 volts. Please, find more details about: TX side:

  1. List item
  2. 2xLM335 temperature sensors attached to ADC0 and ADC1
  3. El cheapo 433MHz ebay transmitter
  4. Using native UART
  5. before transmission each byte is encoded in 2 Manchester encoded bytes.
  6. Packet transmission: -- preamble bytes (0xF0) -- target address -- source address -- number of bytes -- data butes -- check sum

RX side:

  1. List item
  2. 16x02 LCD
  3. El cheapo 433MHz ebay receiver
  4. Using native UART
  5. Each received byte is decoded to a nibble.
  6. Counter of valid packages.

You can check the source code here on my Microsoft SkyDrive account.


You'll need a driven element about 6" tall and 4 radials of the same length to obtain good efficiency at 433MHz. I would also consider what's in the wall, or how many walls you're trying to transmit through as well.

Another option is to lengthen your preamble. You might want to research a better protocol to overcome a flipped bit or two.

  • \$\begingroup\$ Could you expand a bit on what you mean by "driven element about 6" tall and 4 radials" please? - I had been considering a longer preamble, I'll incorporate that to - thanks! \$\endgroup\$ Commented Mar 25, 2012 at 19:02
  • \$\begingroup\$ Vertical antennas are a variation of a dipole.The driven element of a vertical antenna is the part of the antenna that connects to the output of the transmitter. The 4 radials are the other half of the antenna and provide a return path for the RF current. Here's a picture: google.com/…. \$\endgroup\$ Commented Mar 26, 2012 at 5:33
  • \$\begingroup\$ @SimonBarker: A 1/4 wavelength antenna needs a conductive ground plane to function properly. This can be approximated by four radials. As described, your antenna will not work very well. \$\endgroup\$
    – W5VO
    Commented Mar 26, 2012 at 5:33

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.