SparkFun Forums 

Where electronics enthusiasts find answers.

All things pertaining to wireless and RF links
By bpeoples9
#35789
Hi!

So I've managed to have some success. I have an AVR m168 driving the TX side, it sends 4 bytes of 0xFF and then a constant stream of 0x55 at 2400 bps.

On my RX side I have the board sitting on a breadboard, it is powered via an ftdi ttl-232R USB cable, which is also hooked up to a terminal.

Watching the terminal, no data comes through. In attempting to debug, I was trying attaching capacitors across various pins to see if I could get *something*.

While plugging a 22pF capacitor, I suddenly saw a stream of data in the terminal. Looking into it, when one leg of the cap is plugged into the data line, and I'm *holding* the other leg (not touching any other wires), I get data. It's not clean data, it looks like:

U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.

with some extra garbage, but it's *data*.

No data (or just some low rate garbage) is recieved when the transmitter is off.

If I let go of the capacitor, or attach the cap to GND or +5v, the data stream stops.

Any thoughts?
By johnsmith123
#36178
bpeoples9 wrote:
No data (or just some low rate garbage) is recieved when the transmitter is off.

If I let go of the capacitor, or attach the cap to GND or +5v, the data stream stops.

Any thoughts?
The receiver is ALWAYS receiving data. IF you are not using any encoding in your software, then you might try a pair of encoder/decoder IC's Holtek ht12E/D. Look in the RLP434 datasheet. There you will find a schematic diagram.

You don't need any extra encoding/decoding chips if you code it right. Here is an example of some avr code:

http://www.serasidis.gr/circuits/RF_rem ... ontrol.htm

I did something similar, but I added two preamble bytes 55, AA before sending the four byte packet. The four byte packet consists of a two byte address, one byte command and the CRC byte (8 bit CRC, which is all of the bytes XORED together with the exception of the preamble bytes).

The receiver will only respond if all four bytes are correct.

The code in the above link is done in asm, if you need C code, just do a google search, you will come up with lots of options.

Good Luck