Using 433Mhz RF link kit

I got this http://www.seeedstudio.com/depot/433mhz-rf-link-kit-p-127.html?cPath=101_103 kit, but don’t know how to use it…

I connected the 5V to the Arduino 5V, the GND to the Arduino GND, how I read the data is below

Thought it would be possible to see what was going on, and then by that learn what to do with it.

But with this, I am totally lost.

How do I see where a “message” starts and stops?

#include <SoftwareSerial.h>

#define rxPin 2
#define txPin 3

byte incomingByte = 0;

SoftwareSerial rfSerial = SoftwareSerial(rxPin, txPin);

void setup()
{
pinMode(rxPin, INPUT);
pinMode(txPin, OUTPUT);
rfSerial.begin(2400);
Serial.begin(2400);
}

void loop()
{
incomingByte = rfSerial.read();
Serial.println(incomingByte, DEC);
incomingByte = 0;
}

RX Output:

238
128
192
240
240
240
240
240
248
252
254
254
125
248
123
122
240
224
240
240
96
248
248
112
0
255
253
253
248
250
248
248
240
112
48
252
250
61
127
123
120
120
248
224
224
240
48
250
80
176
255
240
121
224
224
240
32
240
240
48
254
250
49
127
248
252
120
112
244
240
240
32
240
214
20
253
120
240
208
240
240
224
96
240
48
254
104
121
8
249
240
255
246
252
248
248
240
254
56
250
125
248
121
80
252
120
240
248
116
32
186
242
254
88
253
121
127
240
240
248
112
112
16
24
242
112
123
113
32
124
240
254
252
112
120
16
254
127
1
240
249
248
248
248
252
240
216
184
56
250
107
255
112
120
120
224
240
240
96
112
32
254
24
242
240
240
120
248
240
240
112
32
248
112
144
0
253
253
240
248
252
248
240
112
176
48
250
250
112
128
192
128
64
240
240
112
0
250
254
254
220
249
96
240
248
248
248
240
80
190
126
254
24
255
255
249
124
240
240
240
120
48
240
248
40
255
125
120
120
224
0
248
248
252
254
250
250
113
121
128
192
224
224
224
240
224
96
0
255
250
125
121
89
248
248
248
248
244
248
112
16
242
58
123
250
120
112
112
240
240
64
240
242
114
104
0
253
255
248
124
248
248
248
112
112
16
254
112
67
253
121

TX Output:

192
0
0
12
0
0
13
0
0
3
0
0
127
13
8
0
13
13
0
0
8
0
0
12
0
0
127
8
0
0
12
0
0
61
0
0
0
0
0
253
63
0
0
0
0
0
253
127
0
0
0
13
0
0
63
0
0
0
0
0
253
255
0
0
12
0
0
127
2
0
0
253
253
127
4
0
0
12
0
0
255
4
0
0
12
0
0
255
4
0
0
12
0
0
127
4
0
0
12
0
0
13
0
0
13
8
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
1
0
0
0
0
0
0
0
0
0
0
12
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
1
0
0
0
0
0
0
0
0
0
0
12
0
0
1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
1
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
12
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0

I haven’t even started sending something yet, shouldn’t I get a lot less than what I am getting?

Tried just to make it as simple as possible

#define rxPin 2

void setup()
{
  Serial.begin(9600);
  pinMode(rxPin, INPUT);
}

void loop()
{
  Serial.print(digitalRead(rxPin));
}

This is the output from that (around 2 seconds)

1111110000000101011111100100000001111111011101000000011011101110000000000111111111011000000111011101110000000001110111011000000000111011101100000001001100110111000000010111011101100000000001101110111000000101011111111100000001011111101000000000101110110110000000000101110101100000000001101000110000000000110011011000000000011001101110000000100010111111000000000001010101110000000011111111111000000011110111110100000000011111100110000000001110111111000000000110011001100000001000001110011000000010111011101100000001011111110110000000001110111010000000000110011111000000000001111110111000000000110011111100000010011111110110000000000110111011100000000011001111110000000001110111000000000000111111111110000001011111110111000000011011111100110000001111111111100000000010110011101000000000111001010110000000001110111011001000010011011101110000001101111111011000000100111111100100000000000101111111000000011110111110000000001011111001100000000101110110011000000100110011001000100010001111110110000000110111111011000000001011100010110000000101110111001000000000011111110011000000110110011100000000001011111110010000001111111111111100000100111011111000000010011111110110000001110111011011000100000011101100110000001100000110111111100100000000111110110000000000010111111111000000011011111110000000000011100111101000000110001101100000000000111110011011000000011011111110100000011101110111011000000110011101100100000001111100110010000000110111011100000000011011101100100000000111111101100000000001001001111000000001101100110000000001110111011101000000011011101110010000001101110111010000000111001111100000000001101110101000000100111011011100000000001101111111000000011001111100101000000011111110110000000001100111110100000000010111111110100000101111110111011001100111011101100000000010001111111000000001110111011100000001011111111100100000101111110111110000000100111111110000000011111111101000000000100111111100000000010111100110000000001111111111000000000011011101110000001101110111011100000001011101110010000000100111111111000000010001

Shouldn’t there be a pattern or something?

I expected to get something like start-000000000-end where the zero’s would be what was in the message, and I also see a lot of that in, but at the same time I can’t find where it should start and stop

Sounds like you're reading alot of noise... from anything and everything, and possibly nothing.

Maybe a better question, what are you trying to read, exactly?

Those kits use ASK modulation, which can be used with Serial. You're trying to use "digitalRead" on a Serial port. You'd have way too much work ahead of you trying to get things to work that way, if it's possible.

Here's examples of how to use the simplest version..

http://dma.ucla.edu/senselab/node/389

http://www.sparkfun.com/datasheets/RF/KLP_Walkthrough.pdf

Here's an example of how to use VirtualWire (a library) which removes nearly all noise, so you know you'll get your message.. but also slows down sending time considerably.

http://letsmakerobots.com/node/12336 (links to download the library are there)

Got it working with the examples from letsmakerobots :D

So, I got the communication working between two arduino’s, but I also got a 433MHz door bell, and my garage door is also on 433MHz, even my post alarm (mounted inside my mailbox in my driveway) is on 433MHz, but none of them shows up.

Can it be because they use another standard (or maybe even their own system)? Or maybe encoded?

If I look at the raw input (with a lot of noise), I can see it go crazy when any of them trigger and sends their message.

Narrowband signals like a doorbell can use close to a spot frequency to work so you can fit hundreds of them in a small frequency spread. Even with comparatively wide frequency spacing like 10 khz you can fit 100 channels between 433Mhz and 434Mhz. It matters not about the encoding if they all use separate channels......

I knew all that studying sidebands for my Radio Ham licence would come in someday. ;)

I have the same problem. I see only random noise on the rx data out even though I connect the tx data in on the receiver to 0 or +5v.

Unless I misunderstand something, shouldn't the rx data out reflect the tx data in?

It works via the VirtualWire library so the hardware is at least not broken.

But my question persists, shouldn’t the tx data out reflect the signal on rx data in???