The Aurel receiver would work better than the RFM01/RFM12b, regardless of the platform – it has better sensitivity, and it’s designed specifically as an AM receiver. I don’t so much prefer the Yun over the Pi, but it works better for this application.

Any microcontroller implementation will give much better results over a non-realtime operating system. The Arduino Yun has a microcontroller alongside a GNU/Linux based SoC, so I’d choose the Arduino Yun for anything other than a bit of experimenting. It’s just a cleaner, neater solution, and the SoC is free to do all the network stuff (web server, data-uploading, etc.) without any impact on signal reception.

It would also be possible to decode signals from different devices, because the microcontroller is dedicated to reading RF, so it can examine anything it finds. In fact, it needn’t even do the decoding – it can simply provide pulse transition data to the Linux side (e.g. pulse + duration), which can then be decoded at leisure without any further real-time requirement.

Any SoC board could be used simply by adding an MCU. The requirements are simple – just power and a UART (e,g. to the SoC), and a data input from the RF module. So a Carambola2, Dragino, Raspberry Pi, etc. could be used by adding your own MCU. Also, the BeagleBone Black has two MCUs built in which could be used (I’m sure my Twitter feed has a link to a tutorial on using C with the BBB MCUs, will try to dig out, otherwise search yourself).

Lots of options, but in short – the RF reading bits are best done with a dedicated MCU, and the Arduino Yun already has one on board and it’s easily programmed.

How did you interface the RX-4MM5 to the Ardunio Yun? I have read lots of problems with interfacing to other devices. I just need to clear up this interface requirement before buying the kit and having a go at programming. My background is software, I am a little weak on the electronics.

I just wired the module’s Data-Out pin to a digital input on the Yun. The module operates at the same voltage as the Yun, so no level shifting was required. The wiring was very simple, it’s mostly software, so you should be right at home.

Many thanks for posting this. I tried the Raspberry Pi example some time ago, but never got reliable results. However, with the RX-4MM5 and the Yun, it works brilliantly! It continues to receive data some distance from the transmitter.

I am using this Arduino set-up to troubleshoot loss of sensor contact with the base station. This has been happening frequently over the last month or so, but only ever at night. I have been using the WH1080 attached to a Raspberry Pi running pywws for over 2 years without any major problems. Pywws uploads data to Weather Underground. With loss of sensor contact (dashes on base station display), pywws does not upload any data, and after 2 hours, an automated email from Wunderground is generated warning that the weather station is not working.

Loss of sensor contact does not happen every night, and does not appear to be temperature related (we had -6.6°C a few nights ago, with no loss of sensors at all).

I have replaced the transmitter with a spare unit. This has made no difference. Replacing batteries in the transmitter made no difference.

I am using the Yun to log the received transmissions to SD card, along with a time-stamp. From this, I can see that the transmitter is still transmitting data even when the base station loses contact.

Is there a way of determining signal strength using a RX-4MM5?

By the way, I moved the input from pin 2 to pin 7 so I could add a BMP085 to the Yun. Pin 2 is used as SDA on the Yun.

Interesting, thanks for sharing. From memory, the module has an RSSI output which could be used with an ADC input on the AVR to report signal strength. For completeness, I suppose it’s also worth checking the indoor temperature – weak batteries in the base station could drop out overnight.

If the base station misses a signal, it keeps the receiver on until it gets the next valid signal which could exacerbate a weak battery problem, or cause cause the receiver to switch to a long polling interval (I forget how it handles this). I’d be interested to know what you learn from your logs.

Great data, thanks. As I recall, continuous logging via the base station USB is known to be buggy for these devices. If you dump the raw data over the Yun’s bridge, you should be able to re-use most of the existing Raspi C code to decode it on the AR9331.

I never progressed with this, got sidetracked as often happens when the most interesting bit (to me, at least) has been done. The breadboard is still on my desk, so I might join in if you’re having a go, though I can’t make any promises at the moment. In any case, do feel free to email me for advice (assuming the fruits of your labour will be open-source, of course).

Thanks for this, I’m wanting to make a wireless thermometer receiver that will pickup all sensors around it and display them. I’m using a mkr1000 and was trying with a cc1101 but couldn’t really find any libraries for it. Would it to better to use a RX-4MM5?

I don’t have experience of the TI chip you mention. The RX-4MM5 is a simple AM receiver, whereas the TI chip supports various modulation formats, encoding formats, and packet formats. It’s much more complex, and will likely require extra pins for SPI, as well as software for configuration. If you don’t need all these features, then you’d be adding complexity for little to no gain. If all my transmitters were sending OOK signals, then I’d go with the RX-4MM5 – to start with, at least.