RFM69hcw (arduino pro mini) not finding parent (esp8266)

  • I'm hoping someone can help me out. I've been using mysensors for some time now, but decided on switching to RFM69 transmitters because my nRF24 have been dropping signal intermittently (my guess: too many 2.4ghz wifi-networks in the area).

    I have:

    • a mqtt-gateway running on a ESP8266
    • a node running on a Arduino Pro Mini that is battery powered (3v3)

    Both are programmed using Arduino IDE 1.8.2. and are using the same Adafruit RFM69HCW breakout board.

    My problem is that node cannot find it's parent. The GW seems to be receiving and answering the FPAR-request from the node. But the GW's answer isn't being received by the node.

    The hardware should be fine. I've tested this exact setup with example code from the RadioHead-library and the two units can exchange messages with each other in both directions.

    The logging on the GW:

    16541 TSF:MSG:READ,2-2-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
    16599 TSF:MSG:BC
    16617 TSF:MSG:FPAR REQ,ID=2
    16646 TSF:PNG:SEND,TO=0
    16671 TSF:CKU:OK
    16689 TSF:MSG:GWL OK
    pm open,type:2 0
    20558 !TSF:MSG:SEND,0-0-2-2,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=NACK:0
    20746 TSF:MSG:READ,2-2-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
    20804 TSF:MSG:BC
    20822 TSF:MSG:FPAR REQ,ID=2
    20851 TSF:CKU:OK,FCTRL
    20875 TSF:MSG:GWL OK
    24835 !TSF:MSG:SEND,0-0-2-2,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=NACK:0
    24953 TSF:MSG:READ,2-2-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
    25011 TSF:MSG:BC
    25029 TSF:MSG:FPAR REQ,ID=2
    25058 TSF:CKU:OK,FCTRL
    25082 TSF:MSG:GWL OK
    29153 !TSF:MSG:SEND,0-0-2-2,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=NACK:0
    29227 TSF:MSG:READ,2-2-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
    29286 TSF:MSG:BC
    29303 TSF:MSG:FPAR REQ,ID=2
    29332 TSF:CKU:OK,FCTRL
    29356 TSF:MSG:GWL OK

    The logging on the node:

    __  __       ____
    |  \/  |_   _/ ___|  ___ _ __  ___  ___  _ __ ___
    | |\/| | | | \___ \ / _ \ `_ \/ __|/ _ \| `__/ __|
    | |  | | |_| |___| |  __/ | | \__ \  _  | |  \__ \
    |_|  |_|\__, |____/ \___|_| |_|___/\___/|_|  |___/
            |___/                      2.3.2
    208 MCO:BGN:INIT NODE,CP=RPNNA---,FQ=8,REL=255,VER=2.3.2
    335 TSM:INIT
    350 TSF:WUR:MS=0
    368 RFM69:INIT
    389 RFM69:INIT:PIN,CS=10,IQP=2,IQN=2,RST=9
    434 RFM69:PTX:LEVEL=5 dBm
    505 TSF:SID:OK,ID=2
    526 TSM:FPAR
    540 RFM69:SWR:SEND,TO=255,SEQ=0,RETRY=0
    583 RFM69:CSMA:RSSI=-102
    2611 ?TSF:MSG:SEND,2-2-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    4710 TSM:FPAR
    4724 RFM69:SWR:SEND,TO=255,SEQ=1,RETRY=0
    4769 RFM69:CSMA:RSSI=-104
    6797 ?TSF:MSG:SEND,2-2-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    8898 TSM:FPAR
    8912 RFM69:SWR:SEND,TO=255,SEQ=2,RETRY=0
    8957 RFM69:CSMA:RSSI=-100
    10985 ?TSF:MSG:SEND,2-2-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    13060 !TSM:FPAR:NO REPLY
    13084 TSM:FPAR
    13101 RFM69:SWR:SEND,TO=255,SEQ=3,RETRY=0
    13146 RFM69:CSMA:RSSI=-101
    15175 ?TSF:MSG:SEND,2-2-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    17250 !TSM:FPAR:FAIL
    17270 TSM:FAIL:CNT=1
    17293 TSM:FAIL:DIS
    17313 TSF:TDI:TSL
    17332 RFM69:RSL
    27351 TSM:FAIL:RE-INIT
    27373 TSM:INIT
    27389 RFM69:INIT
    27414 RFM69:INIT:PIN,CS=10,IQP=2,IQN=2,RST=9
    27461 RFM69:PTX:LEVEL=5 dBm
    27490 TSM:INIT:TSP OK
    27514 TSM:INIT:STATID=2
    27539 TSF:SID:OK,ID=2
    27564 TSM:FPAR
    27578 RFM69:SWR:SEND,TO=255,SEQ=0,RETRY=0
    27625 RFM69:CSMA:RSSI=-105
    29655 ?TSF:MSG:SEND,2-2-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    31729 !TSM:FPAR:NO REPLY
    31754 TSM:FPAR
    31770 RFM69:SWR:SEND,TO=255,SEQ=1,RETRY=0
    31815 RFM69:CSMA:RSSI=-103
    33845 ?TSF:MSG:SEND,2-2-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    35919 !TSM:FPAR:NO REPLY
    35944 TSM:FPAR
    35960 RFM69:SWR:SEND,TO=255,SEQ=2,RETRY=0
    36005 RFM69:CSMA:RSSI=-99
    38035 ?TSF:MSG:SEND,2-2-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    40110 !TSM:FPAR:NO REPLY
    40134 TSM:FPAR
    40151 RFM69:SWR:SEND,TO=255,SEQ=3,RETRY=0
    40196 RFM69:CSMA:RSSI=-102
    42225 ?TSF:MSG:SEND,2-2-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    44300 !TSM:FPAR:FAIL
    44320 TSM:FAIL:CNT=2
    44343 TSM:FAIL:DIS
    44363 TSF:TDI:TSL
    44382 RFM69:RSL

    Relevant part of the node source-code:

    #define MY_RADIO_RFM69
    #define MY_RFM69_NEW_DRIVER
    #define MY_IS_RFM69HW
    #define MY_RFM69_FREQUENCY RFM69_433MHZ // Set your frequency here
    #define MY_RFM69_IRQ_PIN 2
    #define MY_RFM69_IRQ_NUM MY_RFM69_IRQ_PIN
    #define MY_RFM69_CS_PIN 10
    #define MY_RFM69_RST_PIN 9
    #define MY_DEBUG            // Enable debug prints to serial monitor 
    #define MY_DEBUG_VERBOSE_RFM69
    #define MY_RFM69_NETWORKID 101
    #define MY_NODE_ID 2      

    Relevant part of the GW source-code:

    // Enable debug prints to serial monitor
    #define MY_DEBUG
    // Use a bit lower baudrate for serial prints on ESP8266 than default in MyConfig.h
    #define MY_BAUD_RATE 9600
    // Enables and select radio type (if attached)
    #define MY_RFM69_NEW_DRIVER
    #define MY_RADIO_RFM69
    #define MY_RFM69_FREQUENCY RFM69_433MHZ
    #define MY_IS_RFM69HW
    #define MY_RFM69_IRQ_PIN D1
    #define MY_RFM69_IRQ_NUM MY_RFM69_IRQ_PIN
    #define MY_RFM69_CS_PIN D8
    #define MY_RFM69_RST_PIN D4
    #define MY_RFM69_NETWORKID 101
    #define MY_GATEWAY_ESP8266
    #include <ESP8266WiFi.h>

    I'm hoping that it's something I've overlooked. Any ideas?

  • @lvw are you really using the HW version of the RFM 69? If you don't, the TSP will init, but transmitting/receiving will not work.
    It could be difficult to see on the module so that is something to check
    Edit: and I guess you have checked if you really have the 433 MHz version

  • Hi Electrik, thanks for helping out.

    For as far as I can see it's not indicated clearly on the RFM which frequency it operates. I did order a 433 mhz version, because I'm in Europe. And I set the demo-code I tried earlier on 433mhz and that worked. So should be fine indeed 🙂

    Strange thing is also that the GW seems to receive the FPAR. That would also indicate that there is some successful transmitting/receiving going on.

    It says on the breakout board that its a RFM69HCW. But nevertheless I tried disabling the MY_IS_RFM69HW option. But that didn't help also.

    I'm very happy with the Mysensors infrastructure, so I would really like to keep using it. But currently I'm a bit at a loss 😕

  • @lvw said in RFM69hcw (arduino pro mini) not finding parent (esp8266):

    Strange thing is also that the GW seems to receive the FPAR. That would also indicate that there is some successful transmitting/receiving going on.

    You're right about that. Do you have the possibility to change the module?
    What kind of antennas are you using?

  • I only have these two modules, as it is my first try at using the rfm69's. I did try swapping them between GW and Node.

    You could argue that if the node-transceiver is unable to receive, so that after swapping the GW would not be able to receive. But the result is the same: the GW seems to be able to receive the signal of the node, but the GW-response doesn't seem to be received by the node.

    And also: if I flash the same setup with the TX- and RX-demo of the Radiohead library they can both send and receive each others messages. So that would seem to rule out a hardware problem, right?

    So far it is unclear to me if either:

    • the GW is failing to send correctly
    • or the node is unable to receive (or interpret) correctly

    I use a solid core antenna which I rolled around a pen to make it into a spring shape. See included pictures. The're about 16,5 mm in length.

    The node:
    DSC_1912.JPG !

    ** The gateway **

  • I don't think this is a hardware issue like you said as well. I have no other ideas I'm afraid.
    Maybe as last try, try a basic example to rule out your software?

  • Hello

    Where is connected the RST pin of the radio board ? It seems to be connected to pin 9 of arduino.
    On the connecting radio page, it's said : "* Adafruit modules need RST connected to GND".
    Have you try it ?

    You could also try to add RFM69 trace.

    #define 	MY_DEBUG_VERBOSE_RFM69

    But I don't know how to read those debug traces...
    Editing : I've not seen that it's already activated, sorry

    Hope it could help, I'm still mysensors newbie 🙂

  • No luck so far. Thanks for all the advice!

    For now I have decided to try something else end keep using nRF24 but switch from a ESP8266 gateway to one running on a Raspberry Pi.

Log in to reply

Suggested Topics