Paul Kanz
Published © CC BY-NC

RFM69CW Arduino Shield

Simple RFM69CW shield for Arduino Pro 3.3v with selectable IRQ pin and SMA connector for antenna.

IntermediateWork in progress1 hour998
RFM69CW Arduino Shield

Things used in this project

Hardware components

HopeRF RFM69CW
×1
SparkFun Arduino Stackable Header Kit
×1
OSH Park Custom Shield
×1
SparkFun Reverse Polarized SMA Connector
×1
434mhz Antenna
×1

Software apps and online services

Arduino IDE
Arduino IDE

Hand tools and fabrication machines

Soldering iron (generic)
Soldering iron (generic)

Story

Read more

Schematics

Schematic for v1 of the shield

This version lacks the decoupling capacitor. In v2, will include the decoupling capacitor and will either switch to or add an U.FL SMD connector for the antenna.

Code

Overriding default IRQ pin and number

Arduino
When using this shield with another shield, the SparkFun Weather Shield for example, you'll need to have a 3rd IRQ pin and number. You have 3 choices to how you can define the 3rd IRQ - edit RFM69.h, over riding RF69_IRQ_PIN and RF69_IRQ_NUM, comment out the IRQ section and define the pins in your main sketch, or add another ifdef to the header file.
// sample changes for RFM69.h
#if defined(__AVR_ATmega168__) || defined(__AVR_ATmega328P__) || defined(__AVR_ATmega88) || defined(__AVR_ATmega8__) || defined(__AVR_ATmega88__)
  #if defined(IRQ_CONFLICT)
    //  have the sparkfun weather shield
    //  need to have set in main sketch: #define IRQ_CONFLICT
    #define RF69_IRQ_PIN          4
    #define RF69_IRQ_NUM          2
  #elif
    //  default settings
    #define RF69_IRQ_PIN          2
    #define RF69_IRQ_NUM          0
  #endif
#elif defined(__AVR_ATmega644P__) || defined(__AVR_ATmega1284P__)

//
//  The other option is to comment out the whole section in RFM69.h and 
// include in main sketch:
//  #define RF69_IRQ_PIN          4
//  #define RF69_IRQ_NUM          2

//
//  The last, but might not be the most flexible (and the hardest to 
//  troubleshoot 6 months latter), is to redefine the PIN/NUM in the
//  RFM69.h

Credits

Paul Kanz

Paul Kanz

4 projects • 10 followers
Thanks to LowPowerLab.

Comments