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. Leonardo/RFM69HW ethernet gateway not working

Leonardo/RFM69HW ethernet gateway not working

Scheduled Pinned Locked Moved Troubleshooting
8 Posts 3 Posters 1.4k Views 2 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.
  • E Offline
    E Offline
    ElCheekytico
    wrote on last edited by
    #1

    I am having trouble building an ethernet gateway with RFM69HW. I have several radios and used them with an ESP8266 gateway so I know they work. It kept dropping off the network every so often to I want to move to wired. I have Freaduino Leonardo clone and clone 5100 shield and I borrowed a genuine Uno and clone 5100 shield. I have wired everything up per the documentation and neither will work. If I comment out all the RFM lines the gateway comes online and I can ping it on either board/shield. With RFM enabled I get init failures. I have tried the with default wiring and defines and changed them up based on what I've read in other posts. I really need to get it working on the Leonardo as I will have to give back the Uno. I am using level converters as well.

    Here is the log from the Uno:

    0 MCO:BGN:INIT GW,CP=RPNGA---,REL=255,VER=2.3.1
    4 TSM:INIT
    5 TSF:WUR:MS=0
    6 RFM69:INIT
    7 RFM69:INIT:PIN,CS=6,IQP=2,IQN=0
    809 RFM69:PTX:LEVEL=5 dBm
    812 !RFM69:INIT:SANCHK FAIL
    815 !TSM:INIT:TSP FAIL
    817 TSM:FAIL:CNT=1
    818 TSM:FAIL:DIS
    820 TSF:TDI:TSL
    821 RFM69:RSL
    

    Here is the sketch:

    // Enable debug prints to serial monitor
    #define MY_DEBUG
    #define MY_DEBUG_VERBOSE_RFM69
    
    // Enable and select radio type attached
    #define MY_RADIO_RFM69
    
    // Enable gateway ethernet module type
    #define MY_GATEWAY_W5100
    
    // W5100 Ethernet module SPI enable (optional if using a shield/module that manages SPI_EN signal)
    //#define MY_W5100_SPI_EN 4
    
    // Define this to enable the improved RFM69 driver
    #define MY_RFM69_NEW_DRIVER
    
    // The frequency to use.
    #define MY_RFM69_FREQUENCY RFM69_915MHZ
    
    // Define this if you are using the RFM69HW
    #define MY_IS_RFM69HW
    
    // RFM69 SPI chip select pin
    #define MY_RFM69_CS_PIN 6
    
    // Define this to override the default RFM69 IRQ pin assignment
    //#define MY_RFM69_IRQ_PIN 7
    
    // Enable UDP communication
    //#define MY_USE_UDP  // If using UDP you need to set MY_CONTROLLER_IP_ADDRESS below
    
    // Enable MY_IP_ADDRESS here if you want a static ip address (no DHCP)
    #define MY_IP_ADDRESS 192,168,0,75
    
    // If using static ip you can define Gateway and Subnet address as well
    #define MY_IP_GATEWAY_ADDRESS 192,168,0,1
    #define MY_IP_SUBNET_ADDRESS 255,255,255,0
    
    // Renewal period if using DHCP
    //#define MY_IP_RENEWAL_INTERVAL 60000
    
    // The port to keep open on node server mode / or port to contact in client mode
    #define MY_PORT 5003
    
    // Controller ip address. Enables client mode (default is "server" mode).
    // Also enable this if MY_USE_UDP is used and you want sensor data sent somewhere.
    //#define MY_CONTROLLER_IP_ADDRESS 192, 168, 178, 254
    
    // The MAC address can be anything you want but should be unique on your network.
    // Newer boards have a MAC address printed on the underside of the PCB, which you can (optionally) use.
    // Note that most of the Arduino examples use  "DEAD BEEF FEED" for the MAC address.
    #define MY_MAC_ADDRESS 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
    
    #if defined(MY_USE_UDP)
    #include <EthernetUdp.h>
    #endif
    #include <Ethernet.h>
    #include <MySensors.h>
    
    void setup()
    {
    	// Setup locally attached sensors
    }
    
    void presentation()
    {
    	// Present locally attached sensors here
    }
    
    void loop()
    {
    	// Send locally attached sensors data here
    }
    

    I am using Arduino IDE 1.8.4, Boards 1.6.23, and MySensors 2.3.1.

    I have tried older versions of Boards and MySensors to no avail.

    Please help.

    mfalkviddM 1 Reply Last reply
    0
    • E ElCheekytico

      I am having trouble building an ethernet gateway with RFM69HW. I have several radios and used them with an ESP8266 gateway so I know they work. It kept dropping off the network every so often to I want to move to wired. I have Freaduino Leonardo clone and clone 5100 shield and I borrowed a genuine Uno and clone 5100 shield. I have wired everything up per the documentation and neither will work. If I comment out all the RFM lines the gateway comes online and I can ping it on either board/shield. With RFM enabled I get init failures. I have tried the with default wiring and defines and changed them up based on what I've read in other posts. I really need to get it working on the Leonardo as I will have to give back the Uno. I am using level converters as well.

      Here is the log from the Uno:

      0 MCO:BGN:INIT GW,CP=RPNGA---,REL=255,VER=2.3.1
      4 TSM:INIT
      5 TSF:WUR:MS=0
      6 RFM69:INIT
      7 RFM69:INIT:PIN,CS=6,IQP=2,IQN=0
      809 RFM69:PTX:LEVEL=5 dBm
      812 !RFM69:INIT:SANCHK FAIL
      815 !TSM:INIT:TSP FAIL
      817 TSM:FAIL:CNT=1
      818 TSM:FAIL:DIS
      820 TSF:TDI:TSL
      821 RFM69:RSL
      

      Here is the sketch:

      // Enable debug prints to serial monitor
      #define MY_DEBUG
      #define MY_DEBUG_VERBOSE_RFM69
      
      // Enable and select radio type attached
      #define MY_RADIO_RFM69
      
      // Enable gateway ethernet module type
      #define MY_GATEWAY_W5100
      
      // W5100 Ethernet module SPI enable (optional if using a shield/module that manages SPI_EN signal)
      //#define MY_W5100_SPI_EN 4
      
      // Define this to enable the improved RFM69 driver
      #define MY_RFM69_NEW_DRIVER
      
      // The frequency to use.
      #define MY_RFM69_FREQUENCY RFM69_915MHZ
      
      // Define this if you are using the RFM69HW
      #define MY_IS_RFM69HW
      
      // RFM69 SPI chip select pin
      #define MY_RFM69_CS_PIN 6
      
      // Define this to override the default RFM69 IRQ pin assignment
      //#define MY_RFM69_IRQ_PIN 7
      
      // Enable UDP communication
      //#define MY_USE_UDP  // If using UDP you need to set MY_CONTROLLER_IP_ADDRESS below
      
      // Enable MY_IP_ADDRESS here if you want a static ip address (no DHCP)
      #define MY_IP_ADDRESS 192,168,0,75
      
      // If using static ip you can define Gateway and Subnet address as well
      #define MY_IP_GATEWAY_ADDRESS 192,168,0,1
      #define MY_IP_SUBNET_ADDRESS 255,255,255,0
      
      // Renewal period if using DHCP
      //#define MY_IP_RENEWAL_INTERVAL 60000
      
      // The port to keep open on node server mode / or port to contact in client mode
      #define MY_PORT 5003
      
      // Controller ip address. Enables client mode (default is "server" mode).
      // Also enable this if MY_USE_UDP is used and you want sensor data sent somewhere.
      //#define MY_CONTROLLER_IP_ADDRESS 192, 168, 178, 254
      
      // The MAC address can be anything you want but should be unique on your network.
      // Newer boards have a MAC address printed on the underside of the PCB, which you can (optionally) use.
      // Note that most of the Arduino examples use  "DEAD BEEF FEED" for the MAC address.
      #define MY_MAC_ADDRESS 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
      
      #if defined(MY_USE_UDP)
      #include <EthernetUdp.h>
      #endif
      #include <Ethernet.h>
      #include <MySensors.h>
      
      void setup()
      {
      	// Setup locally attached sensors
      }
      
      void presentation()
      {
      	// Present locally attached sensors here
      }
      
      void loop()
      {
      	// Send locally attached sensors data here
      }
      

      I am using Arduino IDE 1.8.4, Boards 1.6.23, and MySensors 2.3.1.

      I have tried older versions of Boards and MySensors to no avail.

      Please help.

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

      @elcheekytico have you tried using softspi? If you did, were the results different or exactly the same?

      E 1 Reply Last reply
      0
      • mfalkviddM mfalkvidd

        @elcheekytico have you tried using softspi? If you did, were the results different or exactly the same?

        E Offline
        E Offline
        ElCheekytico
        wrote on last edited by
        #3

        @mfalkvidd I wasn't sure on how to do that. I saw that setup for NRF radios, but couldn't figure it how to apply that with RFM radios and what defines to use and such.

        E 1 Reply Last reply
        0
        • E ElCheekytico

          @mfalkvidd I wasn't sure on how to do that. I saw that setup for NRF radios, but couldn't figure it how to apply that with RFM radios and what defines to use and such.

          E Offline
          E Offline
          ElCheekytico
          wrote on last edited by
          #4

          @elcheekytico said in Leonardo/RFM69HW ethernet gateway not working:

          @mfalkvidd I wasn't sure on how to do that. I saw that setup for NRF radios, but couldn't figure it how to apply that with RFM radios and what defines to use and such.

          @mfalkvidd I just found the API docs for soft SPI. I'll give that a try tonight or in the next couple days.

          mfalkviddM 1 Reply Last reply
          1
          • E ElCheekytico

            @elcheekytico said in Leonardo/RFM69HW ethernet gateway not working:

            @mfalkvidd I wasn't sure on how to do that. I saw that setup for NRF radios, but couldn't figure it how to apply that with RFM radios and what defines to use and such.

            @mfalkvidd I just found the API docs for soft SPI. I'll give that a try tonight or in the next couple days.

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

            @elcheekytico great. If you find a working wiring configuration and corresponding defines, I'll be happy to add it to the table at https://www.mysensors.org/build/ethernet_gateway

            If I understand https://www.mysensors.org/apidocs/group__SoftSpiSettingGrpPub.html correctly, softspi can only be used by the new rfm69 driver. Be aware that all nodes (including the gateway) in a MySensors network need to use the same driver. Since you're already using the new driver it should not be a problem though.

            1 Reply Last reply
            0
            • CarywinC Offline
              CarywinC Offline
              Carywin
              wrote on last edited by
              #6

              I got this working here: https://forum.mysensors.org/topic/6249/mqtt-ethernet-gateway-using-leonardo-32u4-w5100-rfm69h-hard-spi

              E 1 Reply Last reply
              0
              • CarywinC Carywin

                I got this working here: https://forum.mysensors.org/topic/6249/mqtt-ethernet-gateway-using-leonardo-32u4-w5100-rfm69h-hard-spi

                E Offline
                E Offline
                ElCheekytico
                wrote on last edited by
                #7

                @carywin said in Leonardo/RFM69HW ethernet gateway not working:

                I got this working here: https://forum.mysensors.org/topic/6249/mqtt-ethernet-gateway-using-leonardo-32u4-w5100-rfm69h-hard-spi

                @Carywin Have you tried with the new rfm69 driver? From what I have read this should support SPI transactions.

                1 Reply Last reply
                0
                • E Offline
                  E Offline
                  ElCheekytico
                  wrote on last edited by ElCheekytico
                  #8

                  I did manage to get this to work this morning. As I mentioned, I have a Freaduino Leonardo clone. This has a selector switch for 3.3v and 5v IO. I decided to go back and try with it at 3.3v and not use logic converters. It also has a ICSP breakout for SPI/IIC. I re-wired this thing many times, but was only able to get it to work when I wired it directly to the ICSP breakout and used the VCC/ground on the ICSP breakout as well. I tried the 3.3v on from one of the other pins on the board and 3.3v from a breadboarded power supply. Maybe it's something more simple that I just don't understand or missed, but it doesn't make sense to me. I made sure the 3.3v was there with each wiring change.

                  I did however set the following:

                  // RFM69 SPI chip select pin
                  #define MY_RFM69_CS_PIN 6
                  
                  // Define this to override the default RFM69 IRQ pin assignment
                  #define MY_RFM69_IRQ_PIN 2
                  
                  // RFM69 IRQ number
                  #define MY_RFM69_IRQ_NUM 1
                  

                  And the log shows:

                  565 GWT:TIN:IP=192.168.0.75
                  1565 MCO:BGN:STP
                  1566 MCO:BGN:INIT OK,TSP=1
                  1566 TSM:READY:NWD REQ
                  1566 RFM69:SWR:SEND,TO=255,SEQ=0,RETRY=0
                  1568 RFM69:CSMA:RSSI=-97
                  3569 TSF:MSG:SEND,0-0-255-255,s=255,c=3,t=20,pt=0,l=0,sg=0,ft=0,st=OK:
                  

                  I know @Carywin mentioned extending the ICSP connector through the shield and used that. Maybe that's why it worked for him.

                  1 Reply Last reply
                  0

                  Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                  Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                  With your input, this post could be even better 💗

                  Register Login
                  Reply
                  • Reply as topic
                  Log in to reply
                  • Oldest to Newest
                  • Newest to Oldest
                  • Most Votes


                  17

                  Online

                  12.0k

                  Users

                  11.2k

                  Topics

                  113.4k

                  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