Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Troubleshooting
  3. [Help!] Adafruit Feather M0 with built-in RFM69HCW can't find parent / GW

[Help!] Adafruit Feather M0 with built-in RFM69HCW can't find parent / GW

Scheduled Pinned Locked Moved Troubleshooting
rfm69hcwadafruitfeatherm0
9 Posts 3 Posters 42 Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D Offline
    D Offline
    DeepCore
    wrote on last edited by
    #1

    Hello!
    I am new to MySensors which I did find through Home Assistant.

    I have successfully built an ESP8266 gateway with an Adafruit RFM69HCW breakout module. I also got a node running with an Arduino Pro Micro and the RFM69HCW breakout. Having a Feather 328p, I also got it working as node with the aforementioned breakout module. Last try with a Feather M0 Express and the breakout module was also successful.

    But I am totally incapable of getting an Adafruit Feather M0 with built-in RFM69HCW to connect to my gateway... Why?

    I use the MySensors library 2.4.0-alpha from GitHub. These are the defines I have for the Feather M0:

    #define MY_DEBUG
    #define MY_BAUD_RATE 9600
    #define MY_DEBUG_VERBOSE_TRANSPORT_HAL
    
    #define MY_RADIO_RFM69
    #define MY_RFM69_NEW_DRIVER
    #define MY_RFM69_FREQUENCY (RFM69_433MHZ)
    #define MY_IS_RFM69HW
    
    #define MY_RFM69_RST_PIN (4)
    #define MY_RFM69_IRQ_PIN (3)
    #define MY_RFM69_IRQ_NUM (3)
    #define MY_RFM69_CS_PIN (8)
    

    This is the debug output in a terminal :

    __  __       ____
    |  \/  |_   _/ ___|  ___ _ __  ___  ___  _ __ ___
    | |\/| | | | \___ \ / _ \ `_ \/ __|/ _ \| `__/ __|
    | |  | | |_| |___| |  __/ | | \__ \  _  | |  \__ \
    |_|  |_|\__, |____/ \___|_| |_|___/\___/|_|  |___/
           |___/                      2.4.0-alpha
    
    1732 MCO:BGN:INIT NODE,CP=RPNNS---,FQ=48,REL=1,VER=2.4.0-alpha
    1856 TSM:INIT
    1897 TSF:WUR:MS=15000
    1897 THA:INIT
    1904 TSM:INIT:TSP OK
    1904 TSM:INIT:STATID=14
    1981 THA:SAD:ADDR=14
    2060 TSF:SID:OK,ID=14
    2060 TSM:FPAR
    2060 THA:SND:MSG=0E0EFF020307FF
    2064 THA:SND:MSG LEN=7,RES=1
    2065 ?TSF:MSG:SEND,14-14-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    4066 !TSM:FPAR:NO REPLY
    4066 TSM:FPAR
    4066 THA:SND:MSG=0E0EFF020307FF
    4070 THA:SND:MSG LEN=7,RES=1
    4071 ?TSF:MSG:SEND,14-14-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    6072 !TSM:FPAR:NO REPLY
    6072 TSM:FPAR
    6072 THA:SND:MSG=0E0EFF020307FF
    6076 THA:SND:MSG LEN=7,RES=1
    6077 ?TSF:MSG:SEND,14-14-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    8078 !TSM:FPAR:NO REPLY
    8078 TSM:FPAR
    8078 THA:SND:MSG=0E0EFF020307FF
    8084 THA:SND:MSG LEN=7,RES=1
    8085 ?TSF:MSG:SEND,14-14-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    10086 !TSM:FPAR:FAIL
    10086 TSM:FAIL:CNT=1
    10086 TSM:FAIL:DIS
    10086 TSF:TDI:TSL
    16897 MCO:BGN:STP
    Setup... 
    16897 MCO:BGN:INIT OK,TSP=0
    16897 !MCO:SND:NODE NOT REG
    ...
    

    Has anyone some suggestions ?

    Thank you!
    DeepCore

    electrikE 1 Reply Last reply
    0
    • D DeepCore

      Hello!
      I am new to MySensors which I did find through Home Assistant.

      I have successfully built an ESP8266 gateway with an Adafruit RFM69HCW breakout module. I also got a node running with an Arduino Pro Micro and the RFM69HCW breakout. Having a Feather 328p, I also got it working as node with the aforementioned breakout module. Last try with a Feather M0 Express and the breakout module was also successful.

      But I am totally incapable of getting an Adafruit Feather M0 with built-in RFM69HCW to connect to my gateway... Why?

      I use the MySensors library 2.4.0-alpha from GitHub. These are the defines I have for the Feather M0:

      #define MY_DEBUG
      #define MY_BAUD_RATE 9600
      #define MY_DEBUG_VERBOSE_TRANSPORT_HAL
      
      #define MY_RADIO_RFM69
      #define MY_RFM69_NEW_DRIVER
      #define MY_RFM69_FREQUENCY (RFM69_433MHZ)
      #define MY_IS_RFM69HW
      
      #define MY_RFM69_RST_PIN (4)
      #define MY_RFM69_IRQ_PIN (3)
      #define MY_RFM69_IRQ_NUM (3)
      #define MY_RFM69_CS_PIN (8)
      

      This is the debug output in a terminal :

      __  __       ____
      |  \/  |_   _/ ___|  ___ _ __  ___  ___  _ __ ___
      | |\/| | | | \___ \ / _ \ `_ \/ __|/ _ \| `__/ __|
      | |  | | |_| |___| |  __/ | | \__ \  _  | |  \__ \
      |_|  |_|\__, |____/ \___|_| |_|___/\___/|_|  |___/
             |___/                      2.4.0-alpha
      
      1732 MCO:BGN:INIT NODE,CP=RPNNS---,FQ=48,REL=1,VER=2.4.0-alpha
      1856 TSM:INIT
      1897 TSF:WUR:MS=15000
      1897 THA:INIT
      1904 TSM:INIT:TSP OK
      1904 TSM:INIT:STATID=14
      1981 THA:SAD:ADDR=14
      2060 TSF:SID:OK,ID=14
      2060 TSM:FPAR
      2060 THA:SND:MSG=0E0EFF020307FF
      2064 THA:SND:MSG LEN=7,RES=1
      2065 ?TSF:MSG:SEND,14-14-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
      4066 !TSM:FPAR:NO REPLY
      4066 TSM:FPAR
      4066 THA:SND:MSG=0E0EFF020307FF
      4070 THA:SND:MSG LEN=7,RES=1
      4071 ?TSF:MSG:SEND,14-14-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
      6072 !TSM:FPAR:NO REPLY
      6072 TSM:FPAR
      6072 THA:SND:MSG=0E0EFF020307FF
      6076 THA:SND:MSG LEN=7,RES=1
      6077 ?TSF:MSG:SEND,14-14-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
      8078 !TSM:FPAR:NO REPLY
      8078 TSM:FPAR
      8078 THA:SND:MSG=0E0EFF020307FF
      8084 THA:SND:MSG LEN=7,RES=1
      8085 ?TSF:MSG:SEND,14-14-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
      10086 !TSM:FPAR:FAIL
      10086 TSM:FAIL:CNT=1
      10086 TSM:FAIL:DIS
      10086 TSF:TDI:TSL
      16897 MCO:BGN:STP
      Setup... 
      16897 MCO:BGN:INIT OK,TSP=0
      16897 !MCO:SND:NODE NOT REG
      ...
      

      Has anyone some suggestions ?

      Thank you!
      DeepCore

      electrikE Offline
      electrikE Offline
      electrik
      wrote on last edited by
      #2

      @DeepCore said in [Help!] Adafruit Feather M0 with built-in RFM69HCW can't find parent / GW:

      #define MY_RFM69_IRQ_PIN (3)
      #define MY_RFM69_IRQ_NUM (3)

      Wild guess... These are not the same normally. Pin 3 is probably interrupt 2, you can find the right one by using

      #define MY_RFM69_IRQ_NUM digitalPinToInterrupt(MY_RFM69_IRQ_PIN)
      
      1 Reply Last reply
      0
      • D Offline
        D Offline
        DeepCore
        wrote on last edited by
        #3

        @electrik Good point! I copied these defines from some post in this forum, but it matches the pinout from Adafruit
        You got me thinking that maybe there is something wrong in the Adafruit documentation about the Feather M0 built-in RFM69... The image on top says pin 7 for the RFM interrupt ... :confused: I tried pin 7, no dice...

        I have a Feather M0 Express where I hooked up a RFM69HCW breakout, and it works! Naturally I had to modify the defines for the pins.

        Here is the code for the Feather M0 Express:

        #define MY_DEBUG
        #define MY_BAUD_RATE 9600
        #define MY_DEBUG_VERBOSE_TRANSPORT_HAL
        
        #define MY_RADIO_RFM69
        #define MY_RFM69_NEW_DRIVER
        #define MY_RFM69_FREQUENCY (RFM69_433MHZ)
        #define MY_IS_RFM69HW
        
        #define MY_RFM69_IRQ_PIN (12)
        #define MY_RFM69_IRQ_NUM digitalPinToInterrupt(MY_RFM69_IRQ_PIN)
        #define MY_RFM69_RST_PIN (5)
        #define MY_RFM69_CS_PIN 10
        
        #define MY_SIGNAL_REPORT_ENABLED
        
        #define MY_NODE_ID 4
        
        #include "MySensors.h"
        
        
        #define VBATPIN A7
        #define CHILD_ID_VOLTAGE  0
        
        MyMessage msgVoltage( CHILD_ID_VOLTAGE,  V_VOLTAGE );
        
        // Sleep time between sensor updates (in milliseconds)
        
        void setup() {
          // put your setup code here, to run once:
          Serial.print("Setup... ");
        }
        
        void presentation() {
          // Send the sketch version information to the gateway and Controller
          sendSketchInfo("My M0 Express Sensor", "1.0");
        
          // Present sensors as children to gateway
          present(CHILD_ID_VOLTAGE, S_MULTIMETER, "Voltage");
        }
        
        void loop() {
          float measuredvbat = analogRead(VBATPIN);
          measuredvbat *= 2;    // we divided by 2, so multiply back
          measuredvbat *= 3.3;  // Multiply by 3.3V, our reference voltage
          measuredvbat /= 1024; // convert to voltage
          send(msgVoltage.set(measuredvbat, 2));
        
          #ifdef MY_DEBUG
            Serial.print("VBat: " ); Serial.println(measuredvbat);
          #endif
        
          wait(30000); 
        }
        

        And this is the debug output:

         __  __       ____
        |  \/  |_   _/ ___|  ___ _ __  ___  ___  _ __ ___
        | |\/| | | | \___ \ / _ \ `_ \/ __|/ _ \| `__/ __|
        | |  | | |_| |___| |  __/ | | \__ \  _  | |  \__ \
        |_|  |_|\__, |____/ \___|_| |_|___/\___/|_|  |___/
                |___/                      2.4.0-alpha
        
        1942 MCO:BGN:INIT NODE,CP=RPNNS---,FQ=48,REL=1,VER=2.4.0-alpha
        4576 TSM:INIT
        5456 TSF:WUR:MS=0
        5456 THA:INIT
        5463 TSM:INIT:TSP OK
        5463 TSM:INIT:STATID=4
        7216 THA:SAD:ADDR=4
        8977 TSF:SID:OK,ID=4
        8977 TSM:FPAR
        8977 THA:SND:MSG=0404FF020307FF
        8985 THA:SND:MSG LEN=7,RES=1
        8985 ?TSF:MSG:SEND,4-4-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
        9403 THA:DATA:AVAIL
        9407 THA:RCV:MSG=0000040A2308FF00
        9407 THA:RCV:MSG LEN=8
        9407 TSF:MSG:READ,0-0-4,s=255,c=3,t=8,pt=1,l=1,sg=0:0
        9408 TSF:MSG:FPAR OK,ID=0,D=1
        10987 TSM:FPAR:OK
        10987 TSM:ID
        10987 TSM:ID:OK
        10987 TSM:UPL
        10987 THA:SND:MSG=0404000A2318FF01
        11068 THA:SND:MSG LEN=8,RES=1
        11069 TSF:MSG:SEND,4-4-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=OK:1
        11378 THA:DATA:AVAIL
        11388 THA:RCV:MSG=0000040A2319FF01
        11388 THA:RCV:MSG LEN=8
        11389 TSF:MSG:READ,0-0-4,s=255,c=3,t=25,pt=1,l=1,sg=0:1
        11389 TSF:MSG:PONG RECV,HP=1
        11389 TSM:UPL:OK
        11389 TSM:READY:ID=4,PAR=0,DIS=1
        11390 THA:SND:MSG=04040012C30FFF0100
        11519 THA:SND:MSG LEN=9,RES=1
        11519 TSF:MSG:SEND,4-4-0-0,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=OK:0100
        11793 THA:DATA:AVAIL
        11808 THA:RCV:MSG=00000412C30FFF0100
        11808 THA:RCV:MSG LEN=9
        11808 TSF:MSG:READ,0-0-4,s=255,c=3,t=15,pt=6,l=2,sg=0:0100
        11808 THA:SND:MSG=0404005A0011FF322E342E302D616C706861
        11941 THA:SND:MSG LEN=18,RES=1
        11941 TSF:MSG:SEND,4-4-0-0,s=255,c=0,t=17,pt=0,l=11,sg=0,ft=0,st=OK:2.4.0-alpha
        11941 THA:SND:MSG=0404000A2306FF00
        12500 THA:SND:MSG LEN=8,RES=1
        12501 TSF:MSG:SEND,4-4-0-0,s=255,c=3,t=6,pt=1,l=1,sg=0,ft=0,st=OK:0
        14501 THA:SND:MSG=040400A2030BFF4D79204D3020457870726573732053656E736F72
        14564 THA:SND:MSG LEN=27,RES=1
        14564 TSF:MSG:SEND,4-4-0-0,s=255,c=3,t=11,pt=0,l=20,sg=0,ft=0,st=OK:My M0 Express Sensor
        14564 THA:SND:MSG=0404001A030CFF312E30
        15123 THA:SND:MSG LEN=10,RES=1
        15123 TSF:MSG:SEND,4-4-0-0,s=255,c=3,t=12,pt=0,l=3,sg=0,ft=0,st=OK:1.0
        15123 THA:SND:MSG=0404003A001E00566F6C74616765
        15683 THA:SND:MSG LEN=14,RES=1
        15683 TSF:MSG:SEND,4-4-0-0,s=0,c=0,t=30,pt=0,l=7,sg=0,ft=0,st=OK:Voltage
        15684 MCO:REG:REQ
        15684 THA:SND:MSG=0404000A231AFF02
        16242 THA:SND:MSG LEN=8,RES=1
        16242 TSF:MSG:SEND,4-4-0-0,s=255,c=3,t=26,pt=1,l=1,sg=0,ft=0,st=OK:2
        16515 THA:DATA:AVAIL
        16523 THA:RCV:MSG=0000040A231BFF01
        16523 THA:RCV:MSG LEN=8
        16523 TSF:MSG:READ,0-0-4,s=255,c=3,t=27,pt=1,l=1,sg=0:1
        16523 MCO:PIM:NODE REG=1
        16524 MCO:BGN:STP
        

        And now the "non-working" code from the Feather M0 with built-in RFM69:

        #define MY_DEBUG
        #define MY_BAUD_RATE 9600
        #define MY_DEBUG_VERBOSE_TRANSPORT_HAL
        
        #define MY_RADIO_RFM69
        #define MY_RFM69_NEW_DRIVER
        #define MY_RFM69_FREQUENCY (RFM69_433MHZ)
        #define MY_IS_RFM69HW
        
        #define MY_RFM69_RST_PIN 4
        #define MY_RFM69_IRQ_PIN 3
        #define MY_RFM69_IRQ_NUM digitalPinToInterrupt(MY_RFM69_IRQ_PIN)
        #define MY_RFM69_CS_PIN 8
        #define MY_SIGNAL_REPORT_ENABLED
        #define MY_TRANSPORT_WAIT_READY_MS 15000 
        
        #define MY_NODE_ID 14
        
        
        #include "MySensors.h"
        
        
        #define VBATPIN A7
        #define CHILD_ID_VOLTAGE  0
        
        MyMessage msgVoltage( CHILD_ID_VOLTAGE,  V_VOLTAGE );
        
        void setup() {
          // put your setup code here, to run once:
          Serial.print("Setup... ");
        }
        
        void presentation() {
          // Send the sketch version information to the gateway and Controller
          sendSketchInfo("My M0 Sensor", "1.0");
        
          // Present sensors as children to gateway
          present(CHILD_ID_VOLTAGE, S_MULTIMETER, "Voltage");
        }
        
        void loop() {
          float measuredvbat = analogRead(VBATPIN);
          measuredvbat *= 2;    // we divided by 2, so multiply back
          measuredvbat *= 3.3;  // Multiply by 3.3V, our reference voltage
          measuredvbat /= 1024; // convert to voltage
          send(msgVoltage.set(measuredvbat, 2));
        
          #ifdef MY_DEBUG
            Serial.print("VBat: " ); Serial.println(measuredvbat);
          #endif
        
          wait(60000); 
        }
        
        1 Reply Last reply
        1
        • electrikE Offline
          electrikE Offline
          electrik
          wrote on last edited by
          #4

          7 should be right. Did you also change the irq number when you tried pin 7?

          1 Reply Last reply
          0
          • D Offline
            D Offline
            DeepCore
            wrote on last edited by
            #5

            Hello everybody out there!

            I can't say how I feel right now... my Feather M0 with built-in RFM69 has finally connected to the gateway !!!
            :joy: :laughing: :open_mouth:

            I commented 3 lines in my non-working code and uploaded it again ... And I don't know why it works now...
            but i suspect the line with the define of the IRQ_NUM :face_with_rolling_eyes:

            #define MY_DEBUG
            #define MY_BAUD_RATE 9600
            //#define MY_DEBUG_VERBOSE_TRANSPORT_HAL
            
            #define MY_RADIO_RFM69
            #define MY_RFM69_NEW_DRIVER
            #define MY_RFM69_FREQUENCY (RFM69_433MHZ)
            #define MY_IS_RFM69HW
            
            #define MY_RFM69_CS_PIN 8                          // SPI CS PIN
            #define MY_RFM69_IRQ_PIN 3                         // IRQ PIN
            //#define MY_RFM69_IRQ_NUM 3                         // IRQ PIN NUM (for M0 it is the same as IRQ PIN. Will be obsolete in upcoming MySensors.h) 
            
            #define MY_RFM69_RST_PIN 4
            
            #define MY_SIGNAL_REPORT_ENABLED
            //#define MY_TRANSPORT_WAIT_READY_MS 15000 
            
            #define MY_NODE_ID 14
            
            #include <SPI.h> 
            #include "MySensors.h"
            
            
            #define VBATPIN A7
            #define CHILD_ID_VOLTAGE  0
            
            
            1 Reply Last reply
            1
            • D Offline
              D Offline
              DeepCore
              wrote on last edited by
              #6

              I was chasing a red herring ! :disappointed_relieved:
              What I have written in my posts above is simply non-sense, excuse me ! :bow:

              I have 2 Feather M0 with the integrated radio module, and only one of the Feathers connects to the gateway. :confounded:

              When I try the two Feathers with the simple TX/RX examples from the RadioHead Library modified by Adafruit, they work... And I switched the role of each module ... so they can transmit and receive.

              But one Feather refuses to get a connection to the gateway ... I don't know why

              mfalkviddM 1 Reply Last reply
              0
              • D DeepCore

                I was chasing a red herring ! :disappointed_relieved:
                What I have written in my posts above is simply non-sense, excuse me ! :bow:

                I have 2 Feather M0 with the integrated radio module, and only one of the Feathers connects to the gateway. :confounded:

                When I try the two Feathers with the simple TX/RX examples from the RadioHead Library modified by Adafruit, they work... And I switched the role of each module ... so they can transmit and receive.

                But one Feather refuses to get a connection to the gateway ... I don't know why

                mfalkviddM Offline
                mfalkviddM Offline
                mfalkvidd
                Mod
                wrote on last edited by
                #7

                @DeepCore do you remember if both modules got similar rssi when you tested the Adafruit rx/tx sketch?

                1 Reply Last reply
                0
                • D Offline
                  D Offline
                  DeepCore
                  wrote on last edited by
                  #8

                  @mfalkvidd yes, I got the same RSSI value, regardless which one was the receiver. Were you thinking that maybe one radio module was on the wrong frequency range ?

                  mfalkviddM 1 Reply Last reply
                  0
                  • D DeepCore

                    @mfalkvidd yes, I got the same RSSI value, regardless which one was the receiver. Were you thinking that maybe one radio module was on the wrong frequency range ?

                    mfalkviddM Offline
                    mfalkviddM Offline
                    mfalkvidd
                    Mod
                    wrote on last edited by
                    #9

                    @DeepCore not wrong frequency no. But it looks like the feather doesn’t come with the antenna pre-soldered. Since the devices should be identical otherwise, the antenna could be what differs. But if it was, the rssi would probably have been different as well.

                    1 Reply Last reply
                    0
                    Reply
                    • Reply as topic
                    Log in to reply
                    • Oldest to Newest
                    • Newest to Oldest
                    • Most Votes


                    24

                    Online

                    11.7k

                    Users

                    11.2k

                    Topics

                    113.1k

                    Posts


                    Copyright 2025 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                    • Login

                    • Don't have an account? Register

                    • Login or register to search.
                    • First post
                      Last post
                    0
                    • MySensors
                    • OpenHardware.io
                    • Categories
                    • Recent
                    • Tags
                    • Popular