💬 MySWeMosGWShield - WeMos Mini MySensors Gateway Shield
-
Wow, thank you very much !
I was planning to do a similar board (for D1 mini pro and nrf24 PA/lna SMD) and you are saving me lot of time.
Possibility to solder rfm is a nice extra for when I'll want to switch to a better radio type.Too bad my NRF orders (standard SMD and pa/lna SMD) have both disappeared the same day 2 months ago just after they passed the Chinese customs :(
-
Great job, and great write-up too! :thumbsup: I like how you included many different radio module options onto a single shield and that the shields are stackable, so that you can "have it all" on one gateway if you wish. That makes for a nice modular approach and a good use for any extra boards that come from the fab.
How well do the YJ-13039 modules (i.e. the amplified, high-powered version of the NRF24L01+ SMD module with the chip antenna) work? Prior to your post, I didn't know that a surface mount module of that kind even existed. It sounds quite promising! How does its range compare to the rfm69 as well as to the reglar NRF24L01+?
-
Wow, thank you very much !
I was planning to do a similar board (for D1 mini pro and nrf24 PA/lna SMD) and you are saving me lot of time.
Possibility to solder rfm is a nice extra for when I'll want to switch to a better radio type.Too bad my NRF orders (standard SMD and pa/lna SMD) have both disappeared the same day 2 months ago just after they passed the Chinese customs :(
@Nca78 said:
Too bad my NRF orders (standard SMD and pa/lna SMD) have both disappeared the same day 2 months ago just after they passed the Chinese customs :(
I had the same problem with my order of RFM modules and push buttons, took forever to be able to assemble everything for testing and taking pictures. I guess 2 months ago they were sending a lot of stuff out to be ready for Christmas in stores.
@NeverDie said:
I like how you included many different radio module options onto a single shield and that the shields are stackable, so that you can "have it all" on one gateway if you wish.
I may be wrong, or did not understand you correctly, but I don't think you can "have it all" on a single gateway. You can have 4 different gateway if you want (3xRFM69 with different frequencies + NRF24) but you can't stack different radios on the same arduino/esp. But yes definitively a way to use the extra boards you get from the fab house. You can also use the WeMos as a node/repeater and ignore/disable WiFi or even better add a WiFi layer to do something else (direct http api, remote serial monitoring, webpage to update firmware, etc...). I don't really know how to do that, but I'm sure some smart people do. On a WeMos you don't have a lot of pins left when the radio is plugged, but it should be enough for many projects.
How well do the YJ-13039 modules (i.e. the amplified, high-powered version of the NRF24L01+ SMD module with the chip antenna) work? Prior to your post, I didn't know that a surface mount module of that kind even existed. It sounds quite promising! How does its range compare to the rfm69 as well as to the reglar NRF24L01+?
These PA+LNA SMD module work nicely. I have one of these on my current GW https://www.openhardware.io/view/116/MySRaspiGW-PALNA and so far no complaints. I really like these NRF SMD modules (regular and PA) as they fit under a pro-mini between its headers. It allows you to have a very compact device when assembled.
Range wise, no idea. A regular NRF is already enough to cover my whole (small) apartment with cardboard walls (they don't really know what insulation is in California...). Until 2 days ago I never had / tested a RFM radio so no idea either. But maybe someone else did some tests with these modules? Else if you do let me know how it goes.
-
@Nca78 said:
Too bad my NRF orders (standard SMD and pa/lna SMD) have both disappeared the same day 2 months ago just after they passed the Chinese customs :(
I had the same problem with my order of RFM modules and push buttons, took forever to be able to assemble everything for testing and taking pictures. I guess 2 months ago they were sending a lot of stuff out to be ready for Christmas in stores.
@NeverDie said:
I like how you included many different radio module options onto a single shield and that the shields are stackable, so that you can "have it all" on one gateway if you wish.
I may be wrong, or did not understand you correctly, but I don't think you can "have it all" on a single gateway. You can have 4 different gateway if you want (3xRFM69 with different frequencies + NRF24) but you can't stack different radios on the same arduino/esp. But yes definitively a way to use the extra boards you get from the fab house. You can also use the WeMos as a node/repeater and ignore/disable WiFi or even better add a WiFi layer to do something else (direct http api, remote serial monitoring, webpage to update firmware, etc...). I don't really know how to do that, but I'm sure some smart people do. On a WeMos you don't have a lot of pins left when the radio is plugged, but it should be enough for many projects.
How well do the YJ-13039 modules (i.e. the amplified, high-powered version of the NRF24L01+ SMD module with the chip antenna) work? Prior to your post, I didn't know that a surface mount module of that kind even existed. It sounds quite promising! How does its range compare to the rfm69 as well as to the reglar NRF24L01+?
These PA+LNA SMD module work nicely. I have one of these on my current GW https://www.openhardware.io/view/116/MySRaspiGW-PALNA and so far no complaints. I really like these NRF SMD modules (regular and PA) as they fit under a pro-mini between its headers. It allows you to have a very compact device when assembled.
Range wise, no idea. A regular NRF is already enough to cover my whole (small) apartment with cardboard walls (they don't really know what insulation is in California...). Until 2 days ago I never had / tested a RFM radio so no idea either. But maybe someone else did some tests with these modules? Else if you do let me know how it goes.
-
Yes and no.
I tried with a RFM69 and I did not got any errors / complains on the serial log, but I do not have any other RFM devices to test with (still waiting for radio modules, probably lost again...)
-
Thank you for the feedback.
I'm getting closer to a "solution".
I did try an other library for the communication to an RFM69 and I can read the internal temperature and the register values. So the wiring of the chip is correct.Now I have to find out why MySensors has problems.
-
I answered to your other topic, but I think that's because you are not defining the IRQ and CS pins in your sketch.
Have a try by using the provided sketch on the Gateway, or define the pins on yours, it should hopefully fix your problem.
-
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 15It 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.
-
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.
-
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?
-
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?
-
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.
-
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.
-
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.
-
@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 // // **************************************// ...