The 2.4 GHz Version

Well I thought I was done! Someone asked if a Nordic 2.4GHz transceiver could be used instead of the 433Mhz RM22 transceiver that I'm using. So it was back to the parts stores - and the drawing board.

The Nordic nRF24l01+ transceiver is just a tiny chip, so there are various breakout boards available with it.

The low end boards on eBay have a built in antenna on the board. They are small and cheap, but have a significantly shorter range than "high end" breakouts. (There's a middle range with a spring antenna or a chip antenna which I don't know much about.) The high end (~$20) boards have an SMA antenna connector and signal amplifiers (PA & LNA) that make a big difference in the range. However, it appears that the amps are always powered, and still draw about 6.5mA in power down mode. I wanted good range, but low power for the sensing unit so I will try the no-amped version on that side, and the high end board for the display station.

Please note that the sources linked to here are just examples. You will find lots of options for these if you search.

There are Arduino libraries that make it easier to integrate to the device. I choose "maniacbug's" as it was the most full featured, current, and has good documentation. The data sheet for the Nordic nRF24l01+ is here.

I spent the weekend making test programs and eventually porting my RF22 client and server sketches over to this device.

So what's the difference? A big difference for me is the form factor. The 433MHz RF22 really needs either a breakout board (which makes them expensive) or a PCB which also has the rest of the components. I made PCBs to hold the RF22s for the client and server as described in the page above. However, the 2.4GHz transceivers are more friendly to work with. This means it's much easier to make a wireless radiation monitor on your own - without buying a custom PCB (which I was going to sell!). For the server (display station) it's easy to use the Adafruit Logging Shield on an Arduino. For the client (sensing unit) it's also easy to plug the transceiver into the Geiger Kit (which I still sell!).

Other differences:

  • Range - I never did a "line of sight" range test with RF22. I was getting a decent signal from my backyard to my basement though (~20m). But I did do a line of sight test with the two high end 2.4GHz transceivers (amps and duck antenna). I got about ~115m before I lost the signal. (I'm using the slowest data rate of 256bps for the best range.) That doesn't mean it's 5 times better. I have the sense that 422MHz penetrates walls better than 2.4GHz. With the 2.4GHz transceiver at the default data rate of 2Mbs, I was not getting a good signal in the basement. However, after I reduced the data rate to 256bps, I did - but barely. As always, YMMV. Note that I also repeated the test using one amped version and one non-amped version - see "Conclusions" below.
  • 5V tolerant inputs - The transceiver runs on 3.6V max. However the SPI signals to it can be from a 5V system. This means no level shiftier is required. This is another reason why it's easier to use this device than the RF22.
  • Power consumption - The nRF24l01+ chip itself has lower power consumption than the RF22 - both while transmitting and receiving (~12mA) and power down mode (1uA). However, the PA & LNA amplifiers on the high end breakout appear be on all the time. I measure 6.5mA in power down mode! Too high for solar. If you don't need the max range, I'd suggest using the low power units without the amplifiers on the sensing units.
  • Regulations - The 433MHz band used by the RF22 is not allowed in some countries. (Although a 915MHZ version is available.). The 2.4GHz band - known as the ISM band - is much more widely accepted. This band is divided in 128 channels settable in the nRF24l01+. In the US you should not use channels 80 and above.
  • It wasn't all a bed of roses for me. There were a few show stoppers. - see "Conclusions" below.

Power Budget

The calculations for the power budget of the solar powered sensing unit with the non-amped nRF24l01+ are as follows:

  • Power usage: 14mA counting, 24mA xmit (burst), .24mA sleep
  • Assuming the counting period is 1 minute, and the transmit interval is 4 minutes, the average power consumed is ~3.0mA. (The quick 24mA transmit burst is ignored in this calc.)
  • This means that the 2700mAh LiPo would last about 37 days without input from the solar cell.
    • [ (2700 / 3.0) / 24hours ]
  • The 2W solar cell I used would theoretically provide 330mA in perfect sun.
  • Assuming 75% efficiency for the cell to charge the battery, a flat battery would fully charge in about 11 hours.
    • [ 2700 / (330 x .75) ]
  • So theoretically the system has 37 days to catch 11 hours of solar charging.

Current State:

The picture below shows both units communicating. On the display station the Adafruit Logging Shield provides the SD card and the RTC.

Software-wise, after a bit of a struggle with the RF24 library, I have all of the functionality I had with the RF22, and I added the DHT22 temperature / humidity sensor.

You can download the current versions of the client and server software here. (requires Arduino IDE Rel 1.0.x)

You can also download a package of the (1.0.x) libraries used to compile the sketch - here

Conclusions:

I really wanted this to work, and was planning on gutting my enclosures with the 433MHz version and replacing them with this 2.4GHz version. However, in my situation (backyard to basement), I get much more dependable communications with the 433MHz version. Here are some of my observations:

  • The 2.4GHz transceivers are much better with line of sight comm than the 433MHz transceivers. However, the 433MHz transceivers have more punch through walls.
  • The only way I could (barely) approach the range I needed was with a an amped version on both sides. The problem with that is that the amped versions use too much current when "powered down" (6.5 mA). Using one amped version inside and one non-amped version outside would just make it around one corner, in the house, and couldn't even get outside. This was the killer for me.

On a positive note, the 2.4GHz transceivers are easier to work with, comm seems to be more dependable when they are in range, they used less memory in my sketches with the same functionality, and they are cheaper.

So if you don't expect to need the penetrating power that I did, these 2.4GHz transceivers are probably the way to go.

BTW, I found that it was easy to modify the display station boards I made to support the 2.4GHz transceivers, so if you're interested in using that "all in one board" instead of an Arduino with an AdaFruit Logging Shield, let me know, I have a few left. Here is a pic with the 2.4GHz transceiver on that board . . .