Description: These wireless receivers work with our 315MHz transmitters. They can easily fit into a breadboard and work well with microcontrollers to create a very simple wireless data link. Since these are only receivers, they will only work communicating data one-way, you would need two pairs (of different frequencies) to act as a transmitter/receiver pair.
Note: These modules are indiscriminate and will receive a fair amount of noise. Both the transmitter and receiver work at common frequencies and don’t have IDs. Therefore, a method of filtering this noise and pairing transmitter and receiver will be necessary. The example code below shows such an example for basic operation. Please refer to the example code and links below for ways to accomplish a robust wireless data link.
Note: These receivers are almost identical to the RF link 434MHz receiver. SparkFun does everything in our power to make sure you receive the product you requested. However, if you are concerned you may have received the incorrect product you can verify which version receiver this is by running a simple test circuit.
Based on 6 ratings:
3 of 3 found this helpful:
These work quite well…but you have to know what you’re doing. RF receiver modules are sensitive to noise typically present on the power rails of solderless breadboards. On top of that, you need to develop a data transmission protocol that “conditions” the RF receiver module for receiving data, allows the receiver to recognize valid data transmissions, and includes error check byte(s) to ensure the integrity of the data. The manufacturer could be more helpful by providing application information that covers those topics.
0 of 1 found this helpful:
After trying several scenarios to get the 315MHz transmitter and receiver to communicate and being unsuccessful, I set them aside for maybe another day. I followed the application notes in their very basic form and nothing worked. Unless the application notes are reviewed for errors and communicated to me, I will not used the 315MHz RF Link transmitter and receiver.
Very sorry for the troubles with these modules. I have not personally used these in a number of years. I will recommend that we review these items for update when we can.
I used this to capture the signal from a fixed-code garage remote. It works very well, but I’d love to have a RoHS version.
I got this working fairly easily using the KLP Walkthrough Tutorial linked in the item description. There is one major gotcha, however: the tutorial says that Pin 3, the “Linear Output/Test” can be taken to ground. I found that this really needs to be left disconnected, or the receiver won’t work at all.
Filtering is also very important, both in the analog domain around the part and with the digital data in your microcontroller. You will definitely get junk and missed characters, so a robust messaging scheme is critical.
This was purchased as a pair: the RF Link Transmitter - 315MHz and RF Link Receiver - 4800bps (315MHz). When placed on two boards, and gave ground to the GND pins, 5V to the VCC pins, and data on the transmitter pins, I was unable to find out which pin on the receiver to use to read in via my Arduino. I followed several tutorials but none of them had the same transmitter or receiver as this. It was labelled as the same, but the pictures in the video didn’t match. Nor did the pinouts. So who knows. However, I tried both pins on the receiver. When giving 5V to the transmitter data pin, nothing changed from what came out of the data pins of the receiver. I then tried soldering on 13cm wires to the antenna pins, per several sites, coiling the antenna on the receiver and keeping it straight on the transmitter. Still no change. All I read was 1.32V on the receiver whether the transmitter had 5V on it’s data or 0V. The datasheets offered no help. I wanted to try VirtualWire, but if the primary analog voltage functions did nothing, VirtualWire wouldn’t even be worth a test. However, I did try it, just in case. No surprise, it didn’t work either.
So, in short, I understand the transmitter and receiver is only a $7 purchase, plus shipping when put together, but I would at least expect them to work somewhat, rather than not at all. It is a waste of time. Buy more expensive ones elsewhere that has solid documentation.
Sorry to hear that. I would suggest getting in touch with our tech support team, they should be able to help you resolve these issues.
To ensure that the RF links are working, we recommend trying to get the RF links working with our example code first. However, I have tested the RF modules with the VirtualWire librarie and Arduino 1.0.6 IDE software. I was able to get it working with this library => VirtualWire 1.20. This library worked with both Arduino 0023 and Arduino 1.0.6.
The example code used with the an Arduino microcontroller explains the setup for each RF Link. This is the setup which will work with either RF Link frequency band.
Transmitter Code (4 pin module)
Pin 3 of your Arduino should connect to pin 2 of your RF Link Transmitter 315MHz. Button is connected to the transmitting Arduino on pin 8 separate from the RF Link Transmitter. When a button is pressed on the transmitter, the corresponding LED should light up on the receiver and a character will be sent.
Receiver Code (8 pin module)
Pin 2 of your Arduino should connect to pin 2 of your RF Link Receiver 315MHz. When the button is pressed from the transmitter side, the corresponding LED on this side will light up on pin 8. One thing to note is that the associated LED will not light up on the receiver end if you do not have the associated character to check if it is what is received. An example is if you send a string of characters “Pin 4,” the receiver LED will not light up when the characters “Pin ” is sent. It will only light up when it sees the number “4”.
Note 1: It seems like when the receiver code is compiled with Arduino 0023 that the characters sent show a character and a space right after it in the serial monitor. When compiled with Arduino 1.0.6, you get an hex value and a space that is related to the ASCII character that was sent. You can verify it by checking the ASCII table and it will show that the hexadecimal value that was sent is indeed the character that was sent from the receiver. This has something to do with the shift in versions from Arduino’s 0023 to the Arduino 1.0 and above. Something was modified in the compiler or how a function was defined in the Arduino IDE.
Note 2: The RF Links are cheap wireless modules so you might get some intermittent data transmission/ corrupt data after a certain distance. They have a lot of noise. A better and more secure option might be to use the XBee Series 1 Wireless Modules.
Note 3: I am aware that the Virtual Library is EOL and that the RadioHead library supersedes it. I found out in the middle of updating the code. You shouldn’t have a problem with the library though even though it is EOL.