Connection problems with Arduino Pro Mini and RFM69HW

Started by kbell101, June 10, 2016, 12:49:37 PM

kbell101

Hi

I don't know if this forum is into helping troubleshoot issues with radios, but I though I might give it a shot.

I bought a couple of the RFM69HW in 433mhz and are using them with Arduino Pro Mini.  Programming with an FTDI.  I caught that the Adafruit FTDI sends 5v directly to the board, so I broke it out and send to the 5V to the Raw pin to regulate it. My board is built like the suggestion at:

http://www.allaboutcircuits.com/projects/introduction-to-the-rfm69hw-transceiver/

which is a variation on Felix's Blinky example.  Both are built the same. Both have wire-scrap antennas, which should work with both in my basement. I added a 'localLED' so that I could see if the button was actually pressed.

I corrected a pin error that Benjamin Crabtree (author of the article) had made with his DIO0 pin and put something behind the if statement on the radio.sendWithRetry()....  A 'Fail' or 'Worked' message. 

One system is on a 9v battery, the other is on the FTDI so I can monitor messages. The same sketch is on both, with the 'RECEIVER' and 'SENDER' being changed in setup() and the sendWithRetry statement.

I have an SDR tuned to 433mhz so I can see and hear if I am getting a response to a button press. 

ISSUES:

I can see that the radio transmit works most of the time when I press the button on either system. It will hang about 1/3 of the time. A pressing the reset on the mini will usually fix this.  After hours of trying, I have managed to see exactly 3 sent messages, so I know I'm in the ballpark, but not able to reliably make the connection.

I have tinkered with commenting out some of the low power statements and baud (9600 and 1200), but still have no luck. 

I do have one part of the example program that I do not understand.  It seems to toggle the radio into and out of transmission mode, for some reason, based on the state of the remote LED.  I assumed this was done automatically, and don't know why it would matter in this way. Snippet:

   if (remoteLEDState == LOW) {
      remoteLEDState = HIGH;
    }
    else {
      remoteLEDState = LOW;
    }
    
    digitalWrite(remoteLED, remoteLEDState);
    digitalWrite(RX_TOGGLE_PIN, remoteLEDState);    //<<--I don't understand this.


Code is attached if someone is bored and wants to help a noob...

Thanks in advance for any suggestion / help you may toss my way.

kbell101

OK!!  First I guess I didn't dig deep enough in the BB, because I did find a problem. Someone else had a similar connection issue:

QuoteYour wiring of the RFM69 module is missing one important connection: Arduino D2 to RFM69 DIO0 pin.

The code and the schematic from the sample code I was using were different.  The  schematic showed pin 2 being used for the RadioTXToggle and the code showed pin 7.  I moved to pin 7 to stay with the code, but should have moved the code to pin 2.  I did this and now have the the sketch working.... one-way at least.  More issues I'm sure, but this BB came through with the answer.