It's ­čÉŹCircuitPython Monday­čÉŹ at Adafruit! Use the code ADATY to get 20% off CircuitPython and 15% off items storewide!
0

RFM69HCW on Arduino Uno Not Initialising
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

RFM69HCW on Arduino Uno Not Initialising

by mh512 on Sun Mar 17, 2019 6:37 pm

Hi

I have my RFM69HCW breakout board set up with an Arduino Uno as per the following pinout:
https://learn.adafruit.com/adafruit-rfm ... ino-wiring

However, the following code just continuously gives me "RFM69 radio init failed" in the serial monitor

Code: Select all | TOGGLE FULL SIZE
#include <SPI.h>
#include <RH_RF69.h>

/************ Radio Setup ***************/


#define RF69_FREQ 434.0

/*
#if defined (__AVR_ATmega32U4__) // Feather 32u4 w/Radio
  #define RFM69_CS      8
  #define RFM69_INT     7
  #define RFM69_RST     4
  #define LED           13
#endif

#if defined(ARDUINO_SAMD_FEATHER_M0) // Feather M0 w/Radio
  #define RFM69_CS      8
  #define RFM69_INT     3
  #define RFM69_RST     4
  #define LED           13
#endif
*/
#if defined (__AVR_ATmega328P__)  // Feather 328P w/wing
  #define RFM69_INT     3  //
  #define RFM69_CS      4  //
  #define RFM69_RST     2  // "A"
  #define LED           13
#endif
/*
#if defined(ESP8266)    // ESP8266 feather w/wing
  #define RFM69_CS      2    // "E"
  #define RFM69_IRQ     15   // "B"
  #define RFM69_RST     16   // "D"
  #define LED           0
#endif

#if defined(ESP32)    // ESP32 feather w/wing
  #define RFM69_RST     13   // same as LED
  #define RFM69_CS      33   // "B"
  #define RFM69_INT     27   // "A"
  #define LED           13
#endif

/* Teensy 3.x w/wing
#define RFM69_RST     9   // "A"
#define RFM69_CS      10   // "B"
#define RFM69_IRQ     4    // "C"
#define RFM69_IRQN    digitalPinToInterrupt(RFM69_IRQ )
*/
 
/* WICED Feather w/wing
#define RFM69_RST     PA4     // "A"
#define RFM69_CS      PB4     // "B"
#define RFM69_IRQ     PA15    // "C"
#define RFM69_IRQN    RFM69_IRQ
*/


RH_RF69 rf69(RFM69_CS, RFM69_INT);

int16_t packetnum = 0;

void setup()
{
  Serial.begin(115200);
  //while (!Serial) { delay(1); }

  pinMode(LED, OUTPUT);     
  pinMode(RFM69_RST, OUTPUT);
  digitalWrite(RFM69_RST, LOW);

  Serial.println("Feather RFM69 RX Test!");
  Serial.println();

  // manual reset
  digitalWrite(RFM69_RST, HIGH);
  delay(10);
  digitalWrite(RFM69_RST, LOW);
  delay(10);
 
  if (!rf69.init()) {
    Serial.println("RFM69 radio init failed");
    while (1);
  }
  Serial.println("RFM69 radio init OK!");
 

  if (!rf69.setFrequency(RF69_FREQ)) {
    Serial.println("setFrequency failed");
  }


  rf69.setTxPower(20, true);  // range from 14-20 for power, 2nd arg must be true for 69HCW


  uint8_t key[] = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
                    0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08};
  rf69.setEncryptionKey(key);
 
  //pinMode(LED, OUTPUT);

  Serial.print("RFM69 radio @");  Serial.print((int)RF69_FREQ);  Serial.println(" MHz");
}


void loop() {
 if (rf69.available()) {
    uint8_t buf[RH_RF69_MAX_MESSAGE_LEN];
    uint8_t len = sizeof(buf);
    if (rf69.recv(buf, &len)) {
      if (!len) return;
      buf[len] = 0;
      Serial.print("Received [");
      Serial.print(len);
      Serial.print("]: ");
      Serial.println((char*)buf);
      Serial.print("RSSI: ");
      Serial.println(rf69.lastRssi(), DEC);

      if (strstr((char *)buf, "Hello World")) {
        uint8_t data[] = "And hello back to you";
        rf69.send(data, sizeof(data));
        rf69.waitPacketSent();
        Serial.println("Sent a reply");
        //Blink(LED, 40, 3); //blink LED 3 times, 40ms between blinks
      }
    } else {
      Serial.println("Receive failed");
    }
  }
}


void Blink(byte PIN, byte DELAY_MS, byte loops) {
  for (byte i=0; i<loops; i++)  {
    digitalWrite(PIN,HIGH);
    delay(DELAY_MS);
    digitalWrite(PIN,LOW);
    delay(DELAY_MS);
  }
}


Any thoughts much appreciated.
mh512
 
Posts: 76
Joined: Wed Nov 13, 2013 4:06 pm

Re: RFM69HCW on Arduino Uno Not Initialising

by adafruit_support_mike on Mon Mar 18, 2019 1:37 am

Post a photo showing your hardware and connections and we'll take a look. 800x600 images usually work best.

adafruit_support_mike
 
Posts: 63767
Joined: Thu Feb 11, 2010 2:51 pm

Re: RFM69HCW on Arduino Uno Not Initialising

by mh512 on Mon Mar 18, 2019 6:02 am

Thanks Mike, I swapped all the cables for new ones and it now works.

Must have been a dodgy cable.
mh512
 
Posts: 76
Joined: Wed Nov 13, 2013 4:06 pm

Re: RFM69HCW on Arduino Uno Not Initialising

by adafruit_support_mike on Mon Mar 18, 2019 11:37 pm

Happens all the time.. glad to hear it's working for you. Happy hacking!

adafruit_support_mike
 
Posts: 63767
Joined: Thu Feb 11, 2010 2:51 pm

Please be positive and constructive with your questions and comments.