Comments: RFM69HCW Hookup Guide


Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

  • Hi - thanks for the very nice guide. Can you help me with the following question: I need to send an OOK or ASK signal @ 433.42 kHz. If it were the "normal" 433.92 MHz I would have used a simple 433 MHz RF module. But at 500kHz away from the center frequency the receiver which I want to talk to doesn't get anything anymore. I am pretty sure I can use this module to set the exact frequency as I like to 433.42 MHz to match that of the receiver. The question that remains: is it possible to send simple ON/OFFs pulses using this module? I see in all the sample sketches I have looked at only these "packets"... Thanks in advance.

  • Hi, Is it possible to stop the led on the Arduino to blink at every radio.send(TONODEID, sendbuffer, sendlength) call? I have removed the pin definition for the led and all the calls to the Blink function, but nothing changes.


  • Hi, I am using a Pro mini connected to a normal FTDI board for serial logging while the RFM69 break out board is powered separately by a voltage regulator I have built, but it does not work: the Arduino still needs external power. Can you help me to understand why? Thanks!

    EDIT: I think I found the problem: SPI protocol needs a common ground. Just tried and now it is working perfectly!

  • EDIT: I found an article that I think answered my question. I misunderstood what the 50 ohms was referring to.

    This was a fantastic guide! It worked no problem on my Arduino Uno with the default wiring that was given for the RedBoard. One question though. I need to use a remote antenna, and the guide says to use a 50 ohm coax cable, but does this mean 50 ohms OR LESS, or is a little bit of resistance actually required? And I assume this means that both the ANT and the GND lines inside the coax should EACH be 50 ohms? I googled around a bit and couldn't find a satisfying answer. Thanks!

  • To get this working with a Yun First Generation (and probably some of it applies to other ATmega32U4 based boards):

    1) Connect SPI lines MISO, MOSI and CLK from the ICSP header to RFM69BOB pins O,I and C respectively. (Do not use pins 11-13 as the tutorial for the Uno)

    2) For Slave Select use Yun Digital Pin 10 (i.e. connect RFM69BOB pin S to Yun pin D10)

    3) For the Rx Interrupt use Pin 3, not Pin 2 as in the Tutorial (look at RFM69.h ifdef for AVR_ATmega32U4 to understand why)

    In your code set the slave select pin like so:

    // Initialize the RFM69HCW:
    radio.initialize(FREQUENCY, MYNODEID, NETWORKID);
    radio.setHighPower(); // Always use this for RFM69HCW

    That's it!

    Note that the Yun/ATMega combo seems to be a bit slow on sending the ACK so for your other radios you should use a bit more time and retries if you want ACK to work. I am currently using (on all other radios except the Yun):

    radio.sendWithRetry(TONODEID, sendbuffer, sendlength, 5, 100)

    Hope this helps other Yun Generation 1 users that want to mess with RFM69 and use the Yun as the IoT gateway.

  • "Be sure that you’re powering your Arduino with a “Beefy 3” FTDI board, a wall-wart, or a Lipo battery."

    Please forgive my ignorance, does this mean you can use: a “Beefy 3” FTDI board or a wall-wart, or a Lipo battery, Or does it mean a “Beefy 3” FTDI board with, a wall-wart, or a Lipo battery?

    Thank you

    • Sorry for the confusion (and Oxford comma); you can power your project with any of those options. The main takeaway was that a normal (not Beefy) FTDI board can't provide enough power to run the RFM69, so use something else (or in addition to that).

  • Not really experienced with Arduino and even less so with github. I installed the most recent version of the Arduino IDE last night. I can't say I have if problem with the hardware, because I can't get the code to compile. I downloaded, the library .zip file then used the Arduino IDE, Libraries >Manage >add .zip file to install it. I then loaded the Examples > node file into the Arduino IDE. It wouldn't compile. I getting library file errors on the spi flash .lib file. I then used the "copy code " button to copy the code directly from the tutorial and got the same errors. I pretty sure it's something I'm buggering up but cant find it. I'll post the actual error comments later today, since I'm not at that machine now. Thanks for the sanity check.

  • Could this be used to make a wireless USB connection, by plugging one of the arduino/RFM69HCW packages to a computer, and the other to a phone or printer? And then sending the data out the USB as you normally would (ie. just hitting print).

    • If your USB application uses a COM (serial) port, then yes, this can be done. The example code we use in this Hookup Guide is very close to what you'd need (when you type characters in one end, they come out the other). You'll just have to come up with a way to pass carriage returns (which we're using as a signal to send a packet but not actually transmitting), and delete the code that prints out extra diagnostic information.

  • Thanks for the guide. Question removed.

  • I need a bit help about your product. I connected all connections with Bidirectional Logic Level Converter in arduino nano and uno when i try to transmit something in serial port that gave me an error. like "Node 2 ready , !1Node 2 ready, ⸮Lꋕ⸮2 ready, sendi⸮ , Node 2 ready !1Node 2 ready ⸮Lꋕ⸮2 ready sendi⸮" I provided enough current between 3.3V and gnd with "RXN1502D" Dc power supply. I also tried to connect 100uF/25V capacitor to 3.3V and gnd as parallel connection.

If you've found a bug or have other constructive feedback for our tutorial authors, please send us your feedback!