Read trigger signal from 433MHZ PIR

Hello everyone,

I'm trying to read the signal that a commercial 433MHz PIR is sending when triggered in order to understand when someone is moving and thus perform an action.

First of all, I've opened the PIR box and connected the pin that goes to the antenna with the Arduino Uno, trying to understand the signal sent when triggered before going through the antenna . I can do this because the internal antenna is a separate chip, connected to the PIR main board through 3 pins (Vcc GND Data) . It works with 2xAA batteries (3V) and it has a led that indicates when it is triggered.

The problem though is that I don't know anything about this code and I'm having hard times trying to understand it: if I simply try to read the AnalogRead from the DATA pin, I'm only getting values between 0.9V and 1.4V, which don't make sense in a 3v3 logic. Probably I'm doing something wrong.

Any idea on how can I try to read and understand the code?? I suppose it should contain at least an unique ID sequence (since you can connect multiple PIRs to the server) + the status of the sensor + some control bit.

If you need more info, just let me know.

Thanks in advance for your help!

It's probably normal 433mhz RF, so just grab one of those cheapo RF receivers for starters.

Then, the problem is figuring out how they've encoded ones and zeros, and how many bits long the packet is.

Some sketches to log out the lengths of bits received will be critical to having any hope of success here. Also, bear in mind that the output pin of the receiver will generate garbage when there's no signal (auto gain correction ramps up gain until noise triggers it). This can make figuring out codes difficult, since you don't know what to look for.

Here's a trick that might be better, though - Get one of the small, yellow receiver boards with the SOIC-14 package on it. These use the SYN-470R, and are real superhet receivers - performance is much better anyway vs the normal ones. Before use, make sure you got the right frequency - the crystal should say 6.xxx not 4.xxx - I just got a 315mhz ones (4.xxx mhz LO) when I ordered 433. I can hardly fault the vendor though, since the yellow boards have no markings on them to state frequency. Only way you can tell is looking at the crystal. Anyway, on the SYN-470-based receivers, you can connect a 4.7-10 mega-ohm resistor between pin 7 and Vcc to squelch the noise. This can also reduce range and sensitivity, but for trying to deduce the codes, you'll be working at close range, and getting rid of most of the noise will make that a lot easier.

DrAzzy: It's probably normal 433mhz RF, so just grab one of those cheapo RF receivers for starters.

Then, the problem is figuring out how they've encoded ones and zeros, and how many bits long the packet is.

Some sketches to log out the lengths of bits received will be critical to having any hope of success here. Also, bear in mind that the output pin of the receiver will generate garbage when there's no signal (auto gain correction ramps up gain until noise triggers it). This can make figuring out codes difficult, since you don't know what to look for.

Here's a trick that might be better, though - Get one of the small, yellow receiver boards with the SOIC-14 package on it. These use the SYN-470R, and are real superhet receivers - performance is much better anyway vs the normal ones. Before use, make sure you got the right frequency - the crystal should say 6.xxx not 4.xxx - I just got a 315mhz ones (4.xxx mhz LO) when I ordered 433. I can hardly fault the vendor though, since the yellow boards have no markings on them to state frequency. Only way you can tell is looking at the crystal. Anyway, on the SYN-470-based receivers, you can connect a 4.7-10 mega-ohm resistor between pin 7 and Vcc to squelch the noise. This can also reduce range and sensitivity, but for trying to deduce the codes, you'll be working at close range, and getting rid of most of the noise will make that a lot easier.

thank you for the tip on the receiver! yes, it has one of those cheap FS1000A antenna. Right now I have one an XD-RF-5V as receiver but for the moment I' just bypassing it: I think is better to focus on the code first and then to see what comes out from the other end of the RF.

Any idea on how I can start reading the code, not knowing length or baud rate?