Martin's corner on the web

Funky v3 with RFM69CW using LowPowerLab’s RF69 library

I’ve already blogged about using Funky v3 and RFM-2-Pi with the HopeRF RFM69CW module, only I used it with JCW’s Jeelib as I wanted to keep compatibility with my existing RFM12B based sensor network. JCW has done great job in providing compatibility with the RFM12B by tweaking the chip’s registers so that it becomes an easy replacement.

Felixs’s RF69 library on the other hand has native support for the module, including hardware encryption out of the box. Some of the library features:

  • 255 possible nodes on 256 possible networks
  • 61 bytes max message length (limited to 61 to support AES hardware encryption)
  • customizable transmit power (32 levels) for low-power transmission control
  • sleep function for power saving
  • automatic ACKs with the sendWithRetry() function
  • hardware 128bit AES encryption
  • hardware preamble, synch recognition and CRC check
  • digital RSSI can be read at any time with readRSSI()
  • interrupt driven
  • promiscuous mode allows any node to listen to any packet on same network

I wanted to test it for quite a while now, so with a quick customization for Funky v3 compatibility, I got these two sketches to play some over-the-air ping-pong. Basically one is a sender and the other is a receiver and it is ideal to test range. I placed the transmitter in my kitchen and was able to get reception in all of my house, both stories. I got reception outside the house and in all of the yard, including in a shack 15m from the house and with 4 walls between the transmitter and receiver. Pretty impressive, given that the RFM12B wouldn’t even cover all rooms inside the house. That of course comes at the cost of increased power consumption, so it is a balance between needs for range and low power.

Funky v3 with RFM69CW