I am looking into automation and I have realized that many of the devices I have around my house transmit 315mhz to their specific controllers. I know this from reading the labels on the back that say 315mhz


Is there a way I can use a 315mhz receiver with an arduino to view the signals and log the data based on what happens and mimic certain actions with the transmitter? In other words can I program the reciever to display every bit passed through 315mhz that is in range?

I know the virtual wire library parses the data before I receive it, but I don't know to what extent? If I just dedicate the arduino to watch that pin and print results will that tell me what is being sent?

Thanks Very Much,


  • That depends entirely on what protocol the 315MHz device you want to listen in on uses
    – BrettAM
    Feb 25 '15 at 3:14
  • I don't know for sure, I know its 315mhz and it has some type of addressing system. I was planning to do something like a push a button and see what it sends. Because when buying new components the device has to be synced with it.
    – Joel
    Feb 25 '15 at 3:16

The Short Answer:

In theory it is possible to do what you are asking. There are examples of using an Arduino to send and receive messages at 315 MHz. Such as this example.

Although these devices might not even be compatible with the ones you are using. They may be modulating their signal differently or framing their data differently or at different baud rates or encoding bits differently or a number of other fundamental differences that would make them incompatible.

The Long Not Quite An Answer:

There is more to the problem than just being able to get bits at 315 MHz.

For one you would need to know how the bits are encoded. See some of the answers on this post.

Even if it was a simple high low stream of even width bits. You also need to know what baud rate the bits are being transmitted at so you can sync with it. (Consider 4800 vs 9600 baud, slow I know but just an example. You just got a bit stream, was it 1010 at 4800 baud or 11001100 sent at twice the speed of 9600.)

Not to mention that the lowest level of data is probably not just a stream of bits, but is probably framed in some way and grouped into a byte/bytes. Or has a leader to help lock onto the signal.

Even once you are getting reliable data you would need to know the data structure. Is the data arranged in packets? Do they have a packet header? Does the header contain these packet destination address? Where in the header is this data? How is the data apart from the header structured? What does it mean?.

Knowing the answers to these questions defines, or is defined by, the protocol that is being used by the transmitter (as others are saying in comments.) But these are only a few simple questions that start to define a protocol. Often this information is difficult to come by. Often in the case of proprietary protocols it is very very difficult.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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