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. OpenHardware.io
  3. ๐Ÿ’ฌ MySWeMosGWShield - WeMos Mini MySensors Gateway Shield

๐Ÿ’ฌ MySWeMosGWShield - WeMos Mini MySensors Gateway Shield

Scheduled Pinned Locked Moved OpenHardware.io
contest2017rfm69wemosesp8266mysensorsgatewaynrf24l01
40 Posts 10 Posters 10.6k Views 8 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.
  • G Offline
    G Offline
    gloob
    wrote on last edited by
    #13

    Could you solve the problem that the gateway is not working with the RFM69? Is it related to the MySensors library and the ESP?

    1 Reply Last reply
    0
    • E Offline
      E Offline
      emc2
      Hardware Contributor
      wrote on last edited by
      #14

      I think I did.
      Could you test by making sure you add / have the following lines in your sketch:

      #define MY_RF69_IRQ_PIN D2  // GPIO 4
      #define MY_RF69_IRQ_NUM D2  // GPIO 4
      #define MY_RF69_SPI_CS  D8  // GPIO 15
      

      It seems that the automatic definition of MY_RF69_IRQ_NUM was not working properly (I think on esp8266 platform it was supposed to be automatically defined as equal to MY_RF69_IRQ_PIN but I guess it was not the case)

      Right now I have it working, both gateway and sensor compiled with MySensors 2.1.1.

      I updated the default sketch, adding the missing line, and it's now available on github.

      Let me know how it goes for you.

      1 Reply Last reply
      0
      • E Offline
        E Offline
        emc2
        Hardware Contributor
        wrote on last edited by
        #15

        @gloob Did you had time to test on your side and can confirm that everything is working correctly?

        1 Reply Last reply
        0
        • G Offline
          G Offline
          gloob
          wrote on last edited by
          #16

          Currently I don't have a WeMos to test everything. I will come back to thins topic once I receive my WeMos from china. But you solution sounds good to me, as I did test the PCB with some other software and it was working without any problems. So it must be a problem related to the configuration and not to the wiring of the PCB itself.

          1 Reply Last reply
          0
          • Nca78N Offline
            Nca78N Offline
            Nca78
            Hardware Contributor
            wrote on last edited by
            #17

            Hello, I just ordered from PCBs.io.
            Thank you for the design @emc2 !

            1 Reply Last reply
            1
            • Cliff KarlssonC Offline
              Cliff KarlssonC Offline
              Cliff Karlsson
              wrote on last edited by
              #18

              Ok, this is a really stupid question but how do I use this with for example Domoticz? Do I still need to connect it to the usb-port or do I connect using MQTT or some other way?

              mfalkviddM 1 Reply Last reply
              0
              • Cliff KarlssonC Cliff Karlsson

                Ok, this is a really stupid question but how do I use this with for example Domoticz? Do I still need to connect it to the usb-port or do I connect using MQTT or some other way?

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

                @Cliff-Karlsson add it as an MySensors ethernet gateway.

                1 Reply Last reply
                0
                • Cliff KarlssonC Offline
                  Cliff KarlssonC Offline
                  Cliff Karlsson
                  wrote on last edited by
                  #20

                  Ok, I just soldered two of the shield using smd nrf-radios but I only got alot of errors from the serial monitor. Also the boards got hot as hell after a minute. The wemos was really hot and the nrf was untuchable.

                  I through that had done something wrong with the first shield so I soldered another but it was also as hot as the first.

                  And should I enter the SSID and password for my home wifi-network or should I use the sketch to create a new? I tried both with no success as I got some default network called aitinker or similar both times.

                  1 Reply Last reply
                  0
                  • E Offline
                    E Offline
                    emc2
                    Hardware Contributor
                    wrote on last edited by
                    #21

                    It should not get hot at all. The Wemos can get a few ยฐC above room temperature but definitively not "hot as hell"

                    It happened to me once, when I had some solder joints between 2 pins of the NRF. You may want to test with a multimeter if, when the WeMos is unplugged, you have any shorts between adjacent pins.
                    A picture of the soldered board may help too.

                    Best way is to edit the example sketch by adding your Wifi credentials on it before uploading them.

                    1 Reply Last reply
                    0
                    • Nca78N Offline
                      Nca78N Offline
                      Nca78
                      Hardware Contributor
                      wrote on last edited by
                      #22

                      Hello, After soldering the radio and before connecting to power you should use a multimeter in "continuity" mode and make sure you have no contact between adjacent pins of the radio. I never connect a circuit using SMD nrf24 without having done this test.

                      1 Reply Last reply
                      0
                      • Cliff KarlssonC Offline
                        Cliff KarlssonC Offline
                        Cliff Karlsson
                        wrote on last edited by
                        #23

                        @Nca78 said in ๐Ÿ’ฌ MySWeMosGWShield:

                        , After soldering the radio and before connecting to power you should use a multimeter in "continuity" mode and make sure you have no contact between adjacent pins of the radio. I never connect a circuit using SMD nrf24 without having done this test.

                        Ok, I have tried several times now soldering/resoldreing the radio with same result. Continuity, that means direct contact? I get several hundreds of ohms between a few of the pads but it does not "beep" anywhere :)

                        Can something in my sketch cause this or is it 100% hardware issue?

                        This is what I am using:

                        // ** WiFi and network configuration **
                        #define MY_ESP8266_SSID "My SSID"
                        #define MY_ESP8266_PASSWORD "My password"
                        
                        // Set the hostname for the WiFi Client. This is the hostname
                        // it will pass to the DHCP server if not static.
                        #define MY_ESP8266_HOSTNAME "MySWeMosGWNRF"
                        
                        // Enable UDP communication
                        //#define MY_USE_UDP
                        
                        // Enable MY_IP_ADDRESS here if you want a static ip address (no DHCP)
                        //#define MY_IP_ADDRESS 192,168,178,87
                        
                        // If using static ip you need to define Gateway and Subnet address as well
                        #define MY_IP_GATEWAY_ADDRESS 192,168,178,1
                        #define MY_IP_SUBNET_ADDRESS 255,255,255,0
                        
                        // The port to keep open on node server mode
                        #define MY_PORT 5003
                        
                        // How many clients should be able to connect to this gateway (default 1)
                        #define MY_GATEWAY_MAX_CLIENTS 2
                        
                        // 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, 68
                        
                        
                        // ** OTA updates configuration **
                        // Enable OTA updates for ESP8266 based gateway
                        #define ESP8266_OTA
                        
                        // Define password for OTA updates (recommended but optional)
                        //#define ESP8266_OTA_PASSWORD "MySuperSecretOTAPassword"
                        
                        
                        // ** MySensors Radio configuration **
                        // Enables and select radio type (if attached)
                        #define MY_RADIO_NRF24
                        //#define MY_RADIO_RFM69
                        
                        // RF24 settings
                        // Use custom RF24 channel (default 76)
                        //#define MY_RF24_CHANNEL 42
                        // Decrease RF24 power transmission, useful to test in case of Tx problems.
                        // If your problem is fixed consider adding the 5V to 3.3V voltage regulator
                        //#define MY_RF24_PA_LEVEL RF24_PA_LOW
                        // Enables RF24 encryption (all nodes and gateway must have this enabled, and all must be personalized with the same AES key)
                        //#define MY_RF24_ENABLE_ENCRYPTION
                        
                        // RF69 settings
                        // RFM69 Frequency, default = 868MHz
                        #define MY_RFM69_FREQUENCY RF69_868MHZ // RFM69 frequency to use (RF69_433MHZ for 433MHz, RF69_868MHZ for 868MHz or RF69_915MHZ for 915MHz)
                        // RFM69 Network ID. Use the same for all nodes that will talk to each other, default = 100
                        //#define MY_RFM69_NETWORKID     42
                        // Enables RFM69 encryption (all nodes and gateway must have this enabled, and all must be personalized with the same AES key)
                        //#define MY_RFM69_ENABLE_ENCRYPTION
                        // Disable this if you're not running the RFM69HW model (RFM69HW is recommended on the gateway for better coverage)
                        #define MY_IS_RFM69HW
                        
                        
                        // ** Mysensors additional functions **
                        // Enable inclusion mode
                        //#define MY_INCLUSION_MODE_FEATURE
                        
                        // Enable Inclusion mode button on gateway
                        //#define MY_INCLUSION_BUTTON_FEATURE
                        // Set inclusion mode duration (in seconds)
                        //#define MY_INCLUSION_MODE_DURATION 60
                        // Digital pin used for inclusion mode button
                        //#define MY_INCLUSION_MODE_BUTTON_PIN  D3  // GPIO 0
                        
                        // Software signing settings
                        //#define MY_SIGNING_SOFT
                        //#define MY_SIGNING_SOFT_RANDOMSEED_PIN A0
                        
                        // Hardware signing settings (currently unsupported?)
                        //#define MY_SIGNING_ATSHA204
                        //#define MY_SIGNING_ATSHA204_PIN D0  // GPIO 16
                        
                        // General signing settings
                        // Enable this if you want destination node to sign all messages sent to this gateway.
                        //#define MY_SIGNING_REQUEST_SIGNATURES
                        // Enable node whitelisting
                        //#define MY_SIGNING_NODE_WHITELISTING {{.nodeId = GATEWAY_ADDRESS,.serial = {0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x01}}}
                        
                        // Flash leds on rx/tx/err
                        // Set blinking period
                        #define MY_DEFAULT_LED_BLINK_PERIOD 300
                        
                        // Led pins used if blinking feature is enabled above
                        // LED_BUILTIN, the on board LED is used (D4, GPIO 2)
                        #define MY_DEFAULT_ERR_LED_PIN LED_BUILTIN // Error led pin
                        #define MY_DEFAULT_RX_LED_PIN  LED_BUILTIN // Receive led pin
                        #define MY_DEFAULT_TX_LED_PIN  LED_BUILTIN // Transmit led pin
                        
                        // Enable debug prints to serial monitor
                        #define MY_DEBUG
                        
                        
                        // **************************************//
                        // You probably don't need to edit below //
                        // **************************************//
                        ...
                        
                        Nca78N 1 Reply Last reply
                        0
                        • Cliff KarlssonC Cliff Karlsson

                          @Nca78 said in ๐Ÿ’ฌ MySWeMosGWShield:

                          , After soldering the radio and before connecting to power you should use a multimeter in "continuity" mode and make sure you have no contact between adjacent pins of the radio. I never connect a circuit using SMD nrf24 without having done this test.

                          Ok, I have tried several times now soldering/resoldreing the radio with same result. Continuity, that means direct contact? I get several hundreds of ohms between a few of the pads but it does not "beep" anywhere :)

                          Can something in my sketch cause this or is it 100% hardware issue?

                          This is what I am using:

                          // ** WiFi and network configuration **
                          #define MY_ESP8266_SSID "My SSID"
                          #define MY_ESP8266_PASSWORD "My password"
                          
                          // Set the hostname for the WiFi Client. This is the hostname
                          // it will pass to the DHCP server if not static.
                          #define MY_ESP8266_HOSTNAME "MySWeMosGWNRF"
                          
                          // Enable UDP communication
                          //#define MY_USE_UDP
                          
                          // Enable MY_IP_ADDRESS here if you want a static ip address (no DHCP)
                          //#define MY_IP_ADDRESS 192,168,178,87
                          
                          // If using static ip you need to define Gateway and Subnet address as well
                          #define MY_IP_GATEWAY_ADDRESS 192,168,178,1
                          #define MY_IP_SUBNET_ADDRESS 255,255,255,0
                          
                          // The port to keep open on node server mode
                          #define MY_PORT 5003
                          
                          // How many clients should be able to connect to this gateway (default 1)
                          #define MY_GATEWAY_MAX_CLIENTS 2
                          
                          // 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, 68
                          
                          
                          // ** OTA updates configuration **
                          // Enable OTA updates for ESP8266 based gateway
                          #define ESP8266_OTA
                          
                          // Define password for OTA updates (recommended but optional)
                          //#define ESP8266_OTA_PASSWORD "MySuperSecretOTAPassword"
                          
                          
                          // ** MySensors Radio configuration **
                          // Enables and select radio type (if attached)
                          #define MY_RADIO_NRF24
                          //#define MY_RADIO_RFM69
                          
                          // RF24 settings
                          // Use custom RF24 channel (default 76)
                          //#define MY_RF24_CHANNEL 42
                          // Decrease RF24 power transmission, useful to test in case of Tx problems.
                          // If your problem is fixed consider adding the 5V to 3.3V voltage regulator
                          //#define MY_RF24_PA_LEVEL RF24_PA_LOW
                          // Enables RF24 encryption (all nodes and gateway must have this enabled, and all must be personalized with the same AES key)
                          //#define MY_RF24_ENABLE_ENCRYPTION
                          
                          // RF69 settings
                          // RFM69 Frequency, default = 868MHz
                          #define MY_RFM69_FREQUENCY RF69_868MHZ // RFM69 frequency to use (RF69_433MHZ for 433MHz, RF69_868MHZ for 868MHz or RF69_915MHZ for 915MHz)
                          // RFM69 Network ID. Use the same for all nodes that will talk to each other, default = 100
                          //#define MY_RFM69_NETWORKID     42
                          // Enables RFM69 encryption (all nodes and gateway must have this enabled, and all must be personalized with the same AES key)
                          //#define MY_RFM69_ENABLE_ENCRYPTION
                          // Disable this if you're not running the RFM69HW model (RFM69HW is recommended on the gateway for better coverage)
                          #define MY_IS_RFM69HW
                          
                          
                          // ** Mysensors additional functions **
                          // Enable inclusion mode
                          //#define MY_INCLUSION_MODE_FEATURE
                          
                          // Enable Inclusion mode button on gateway
                          //#define MY_INCLUSION_BUTTON_FEATURE
                          // Set inclusion mode duration (in seconds)
                          //#define MY_INCLUSION_MODE_DURATION 60
                          // Digital pin used for inclusion mode button
                          //#define MY_INCLUSION_MODE_BUTTON_PIN  D3  // GPIO 0
                          
                          // Software signing settings
                          //#define MY_SIGNING_SOFT
                          //#define MY_SIGNING_SOFT_RANDOMSEED_PIN A0
                          
                          // Hardware signing settings (currently unsupported?)
                          //#define MY_SIGNING_ATSHA204
                          //#define MY_SIGNING_ATSHA204_PIN D0  // GPIO 16
                          
                          // General signing settings
                          // Enable this if you want destination node to sign all messages sent to this gateway.
                          //#define MY_SIGNING_REQUEST_SIGNATURES
                          // Enable node whitelisting
                          //#define MY_SIGNING_NODE_WHITELISTING {{.nodeId = GATEWAY_ADDRESS,.serial = {0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x01}}}
                          
                          // Flash leds on rx/tx/err
                          // Set blinking period
                          #define MY_DEFAULT_LED_BLINK_PERIOD 300
                          
                          // Led pins used if blinking feature is enabled above
                          // LED_BUILTIN, the on board LED is used (D4, GPIO 2)
                          #define MY_DEFAULT_ERR_LED_PIN LED_BUILTIN // Error led pin
                          #define MY_DEFAULT_RX_LED_PIN  LED_BUILTIN // Receive led pin
                          #define MY_DEFAULT_TX_LED_PIN  LED_BUILTIN // Transmit led pin
                          
                          // Enable debug prints to serial monitor
                          #define MY_DEBUG
                          
                          
                          // **************************************//
                          // You probably don't need to edit below //
                          // **************************************//
                          ...
                          
                          Nca78N Offline
                          Nca78N Offline
                          Nca78
                          Hardware Contributor
                          wrote on last edited by
                          #24

                          @Cliff-Karlsson said in ๐Ÿ’ฌ MySWeMosGWShield:

                          Ok, I have tried several times now soldering/resoldreing the radio with same result. Continuity, that means direct contact? I get several hundreds of ohms between a few of the pads but it does not "beep" anywhere :)

                          You've got your answer here. You should have MOhms especially between Vcc and GND pins where I have infinite resistance.

                          1 Reply Last reply
                          0
                          • Cliff KarlssonC Offline
                            Cliff KarlssonC Offline
                            Cliff Karlsson
                            wrote on last edited by
                            #25

                            another stupid question, do I need the capacitator on the radio-side for it to work?

                            1 Reply Last reply
                            0
                            • E Offline
                              E Offline
                              emc2
                              Hardware Contributor
                              wrote on last edited by
                              #26

                              It should indeed "beep" between all the pins.

                              NRF modules are also very fragile, once incorrectly plugged they are usually definitively toasted. So even if you desoldered and then resoldered them correctly it is unlikely they will work correctly.

                              Yes you need the capacitor radio side, it's the only required component, everything else is optional. It don't have to be 4.7ยตF, anything between 4.7 and 47ยตF will do, as stated in the assembly instructions.

                              1 Reply Last reply
                              1
                              • Cliff KarlssonC Offline
                                Cliff KarlssonC Offline
                                Cliff Karlsson
                                wrote on last edited by
                                #27

                                I have got some strange issue when using RFM69HW. I modified the sketch by chosing RFM instead of NRF, and also uncommented the line "MY_IS_RMF69HW"
                                Everything looks like it is working when using the serial console, the wemos gets an ip and I can add it to domoticz. But after a couple of minutes it stops working. Same if I power it from mobile charger directly, works a while then dies. I have tried with different Wemos and it is the same. Can a faulty radio cause this or could it be something other?

                                1 Reply Last reply
                                0
                                • E Offline
                                  E Offline
                                  emc2
                                  Hardware Contributor
                                  wrote on last edited by
                                  #28

                                  Not sure. I do not have any RFM sensors, I tested the gateway for a little more than a week with a mock sensor and it was working. Maybe some logs could help?

                                  You can also hook up the RFM shield to a regular arduino nano to do a serial gateway, this way you can check if it's radio dependent or not.

                                  1 Reply Last reply
                                  0
                                  • Cliff KarlssonC Offline
                                    Cliff KarlssonC Offline
                                    Cliff Karlsson
                                    wrote on last edited by
                                    #29

                                    Sometimes my own stupidity still amazes me. The pins of all my wemos where soldered at the oposite side as the ones in your examples. all the radios then got powered using 5v instead of 3.3v, not very suprising that the nrf radios got hot as h*ll and that nothing worked as it should.

                                    Suprisingly the RFM69 seams to have survived. I guess the smd nrf24 all are toast.

                                    Everything works perfekt now when I connected it correctly :)

                                    1 Reply Last reply
                                    1
                                    • E Offline
                                      E Offline
                                      emc2
                                      Hardware Contributor
                                      wrote on last edited by
                                      #30

                                      Glad to see you have it working!

                                      Let me know if something was unclear in the instructions or if it can be improved to prevent people to solder them flipped.

                                      1 Reply Last reply
                                      0
                                      • M Offline
                                        M Offline
                                        Mynasru
                                        wrote on last edited by
                                        #31

                                        Is it possible to free D2 on the WEMOS, it is used on most WEMOS shields for I2C.

                                        E 1 Reply Last reply
                                        0
                                        • M Mynasru

                                          Is it possible to free D2 on the WEMOS, it is used on most WEMOS shields for I2C.

                                          E Offline
                                          E Offline
                                          emc2
                                          Hardware Contributor
                                          wrote on last edited by
                                          #32

                                          @Mynasru unfortunately the only other suitable pin would be D1, SCL.
                                          Wemos do not have enough pins to do gateway + I2C, you will need to switch to a nodeMCU or similar.

                                          Also keep in mind that D2 is a MySensor default for ESP8266, I tried to have it moved when support was added https://github.com/mysensors/MySensors/issues/408#issuecomment-191403862 but without success, meaning you will need to reassign CE in your code.

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


                                          19

                                          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