Help needed to setup a RFM69 & ESP8266 Gateaway on Adafruit Feather Huzzah
-
@scalz Thank you very much!
Unfortunatly, the antenna seems shorted to ground only because this is the "head" of the pliers i used to take the photo.i use esp8266 because i received for free a lot of many adafruit huzzah feathers :-)
i will try your suggestion to hook two straight wires as a dipole antenna and report if this is better.
For sure my "development" setup is devboard+dupont cable+external rf and this should not be the final version ; anyway loosing 50% of messages with distance of 1 meter is disappointing.
-
try adding :
#define MY_RFM69_FREQUENCY RFM69_868MHZjust in case....
My first prototype using dupont cables and piece of wire as antenna gave me 500m range with 3 or 4 houses between me and gateway.
Try old driver, no RSSI reporting, but my whole network runs on old driver.@hlehoux 1m range is usually caused by radio type misconfiguration, like running HW radio as low power or other way round. Another possibility is faulty radio.
-
Strangely, i also have another bunch of RFM69s that are marked as H but not W. What does it mean ?
-
@scalz
Could you explain how to read these rssi reports, and how to adjust the configuration of the nodes so the reliability goes up?
I know there is a setting RFM69_TARGET_RSSI_DBM but it is not clear for me how to use this exactly.@electrik
in logs, RFM69:CSMA:RSSI=-104 is the noise floor
and RFM69_TARGET_RSSI_DBM define the rssi you want to have for your node.so if you have a noise floor of -100, you could adjust your target to -85 or less. But maybe you could get a few retries with -90 target.
rfm69 power level can be adjusted from -18 to +13db. 13db=100% power= 45mA power consumption.
for example, let's say your target is -70, and your power level has been autoadjusted to +5.
then if you set, the target to -80 or less, power level will decrease to maybe -8 or even less, it depends on your environment and your build.
And vice versa, if you set target to -50, ATC will set a higher power level.ATC is used to auto-adjust radio power level consumption for battery nodes, so they use only energy they need. This also make your rf environment "greener". No nodes sending loud messages if not needed.
Another example, I recently designed a new node. Noise floor here is around -98db.
With a target of -70 if I remember, power level was autoadjusted to +5db.
After adjusting target to -87db, power level has decreased to -11db, which equals to 20% power.
And there are no NACK nor retries.
So this node now requires less energy for sending messages and that will save battery.
This is for an indoor node, 10m distance with 2 brick walls obstacles.old driver doesn't have ATC management. I've no problem so far with new driver.
I guess H would mean High power version. But to be sure, yuo just have to google for rfm69 pics and you'll see which version you have. Existing versions are : RFM69HW, RFM69W, RFM69HCW, RFM69CW
-
@electrik
in logs, RFM69:CSMA:RSSI=-104 is the noise floor
and RFM69_TARGET_RSSI_DBM define the rssi you want to have for your node.so if you have a noise floor of -100, you could adjust your target to -85 or less. But maybe you could get a few retries with -90 target.
rfm69 power level can be adjusted from -18 to +13db. 13db=100% power= 45mA power consumption.
for example, let's say your target is -70, and your power level has been autoadjusted to +5.
then if you set, the target to -80 or less, power level will decrease to maybe -8 or even less, it depends on your environment and your build.
And vice versa, if you set target to -50, ATC will set a higher power level.ATC is used to auto-adjust radio power level consumption for battery nodes, so they use only energy they need. This also make your rf environment "greener". No nodes sending loud messages if not needed.
Another example, I recently designed a new node. Noise floor here is around -98db.
With a target of -70 if I remember, power level was autoadjusted to +5db.
After adjusting target to -87db, power level has decreased to -11db, which equals to 20% power.
And there are no NACK nor retries.
So this node now requires less energy for sending messages and that will save battery.
This is for an indoor node, 10m distance with 2 brick walls obstacles.old driver doesn't have ATC management. I've no problem so far with new driver.
I guess H would mean High power version. But to be sure, yuo just have to google for rfm69 pics and you'll see which version you have. Existing versions are : RFM69HW, RFM69W, RFM69HCW, RFM69CW
@scalz great explanation of new driver functionality.
Some cheapest Aliexpress boards are not marked at all or marked with Frequency only. H versions have additional sot23-6 chip near antenna pin.Wonder why the new driver wasn't stable enough to do 12kB OTA firmware update even once, regardless of settings :thinking_face: . Same GW and node works flawlessly on old driver over 10-100 meters.
-
@scalz great explanation of new driver functionality.
Some cheapest Aliexpress boards are not marked at all or marked with Frequency only. H versions have additional sot23-6 chip near antenna pin.Wonder why the new driver wasn't stable enough to do 12kB OTA firmware update even once, regardless of settings :thinking_face: . Same GW and node works flawlessly on old driver over 10-100 meters.
@Sasquatch
yes rfm modules are nice for long range.
ok. we will re-test OTA+new driver on my new board soon, and will keep you updatedI agree seems OP has setup problem, could be
- H vs non-H define
- IRQ is not triggering for receiving msg
- weak GND counterpoise for antenna,
- power supply. For power I usually use 100uf+0.1uf close to the module. 100uf when it's batt powered (for coincell, I like to have two big capa+0.1uf), else it's possible to use a smaller value like 33-47uf
-
@scalz I do agree,
I found that even USB powered NodeMCU gateway needed at least 10uf ceramic or 47uF electrolytic capacitor on radio supply, without it heavy traffic was causing gateway freezes and reboots. There is 100nF capacotor on rfm69 and 220nf on RFM69H modules(at least my Aliexpress cheap clones have them) right next to the VCC pin, so i skip the external one. -
@Sasquatch
I admit I never checked that, but thought the capa would probably be there.
well, I usually am careful so I add more footprints than needed for flexibilty, just in case :)@hlehoux perhaps do you have some arduino mini pro (8mhz 3v) that you could use as a test node and check if you still have same problem (in case this is an IRQ issue..) ?
-
@Sasquatch
I admit I never checked that, but thought the capa would probably be there.
well, I usually am careful so I add more footprints than needed for flexibilty, just in case :)@hlehoux perhaps do you have some arduino mini pro (8mhz 3v) that you could use as a test node and check if you still have same problem (in case this is an IRQ issue..) ?
@scalz @Sasquatch Thank you for suggestions, i will test next week-end
My gateaway is an esp8266 adafruit huzzah feather and my node arduino mini pro (8mhz 3v) using the psb of @sundberg84 ([here])(https://www.openhardware.io/view/389/EasyNewbie-PCB-RFM69-HWW-edition-for-MySensors)I did not place any capacitor on the gateway, which is usb powered in my tests.
I will try to connect a decoupling capacitor like explained here like 47uF -
Hello, i don't see progress when connecting a 10uF decoupling capacitor.
On my node i get
4452 TSF:MSG:SEND,1-1-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=OK:1 4673 RFM69:SAC:SEND ACK,TO=0,RSSI=-19 4677 RFM69:CSMA:RSSI=-110 4683 TSF:MSG:READ,0-0-1,s=255,c=3,t=25,pt=1,l=1,sg=0:1 4689 TSF:MSG:PONG RECV,HP=1 4691 TSM:UPL:OK 4694 TSM:READY:ID=1,PAR=0,DIS=1 4698 RFM69:SWR:SEND,TO=0,SEQ=5,RETRY=0 4704 RFM69:CSMA:RSSI=-107 4911 !RFM69:SWR:NACK 4913 RFM69:SWR:SEND,TO=0,SEQ=6,RETRY=1 4917 RFM69:CSMA:RSSI=-105 5124 !RFM69:SWR:NACK 5126 RFM69:SWR:SEND,TO=0,SEQ=6,RETRY=2 5130 RFM69:CSMA:RSSI=-107 5337 !RFM69:SWR:NACK 5339 RFM69:SWR:SEND,TO=0,SEQ=6,RETRY=3 5343 RFM69:CSMA:RSSI=-109 5550 !RFM69:SWR:NACK 5552 RFM69:SWR:SEND,TO=0,SEQ=6,RETRY=4 5556 RFM69:CSMA:RSSI=-108 5763 !RFM69:SWR:NACK 5765 !TSF:MSG:SEND,1-1-0-0,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=NACK:0100and on the gateaway
5919 TSM:READY:NWD REQ 5921 RFM69:SWR:SEND,TO=255,SEQ=0,RETRY=0 5926 RFM69:CSMA:RSSI=-108 63949 TSF:MSG:READ,1-1-255,s=255,c=3,t=7,pt=0,l=0,sg=0: 63954 TSF:MSG:BC 63956 TSF:MSG:FPAR REQ,ID=1 63958 TSF:PNG:SEND,TO=0 63960 TSF:CKU:OK 63962 TSF:MSG:GWL OK 64440 RFM69:SWR:SEND,TO=1,SEQ=1,RETRY=0 64445 RFM69:CSMA:RSSI=-95 64447 RFM69:CSMA:RSSI=-96 64463 RFM69:SWR:ACK,FROM=1,SEQ=2,RSSI=-34 64467 TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=OK:0 Loop 0 66524 RFM69:SAC:SEND ACK,TO=1,RSSI=-70 66528 RFM69:CSMA:RSSI=-105 66533 TSF:MSG:READ,1-1-0,s=255,c=3,t=24,pt=1,l=1,sg=0:1 66538 TSF:MSG:PINGED,ID=1,HP=1 66546 RFM69:SWR:SEND,TO=1,SEQ=3,RETRY=0 66551 RFM69:CSMA:RSSI=-106 66754 !RFM69:SWR:NACK 66756 RFM69:SWR:SEND,TO=1,SEQ=4,RETRY=1 66760 RFM69:CSMA:RSSI=-97 66777 RFM69:SWR:ACK,FROM=1,SEQ=4,RSSI=-35 66781 TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=25,pt=1,l=1,sg=0,ft=0,st=OK:1 Loop 0 68837 RFM69:SAC:SEND ACK,TO=1,RSSI=-69 68842 RFM69:CSMA:RSSI=-95 68844 RFM69:CSMA:RSSI=-96 68849 TSF:MSG:READ,1-1-0,s=255,c=3,t=15,pt=6,l=2,sg=0:0100 68855 RFM69:SWR:SEND,TO=1,SEQ=5,RETRY=0 68859 RFM69:CSMA:RSSI=-109 69062 !RFM69:SWR:NACK 69064 RFM69:SWR:SEND,TO=1,SEQ=6,RETRY=1 69069 RFM69:CSMA:RSSI=-101 69085 RFM69:SWR:ACK,FROM=1,SEQ=6,RSSI=-35 69089 TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=OK:0100 Loop 0 71146 RFM69:SAC:SEND ACK,TO=1,RSSI=-70 71151 RFM69:CSMA:RSSI=-106 71156 TSF:MSG:READ,1-1-0,s=255,c=0,t=17,pt=0,l=5,sg=0:2.3.2 Loop 0 Loop 0 75212 RFM69:SAC:SEND ACK,TO=1,RSSI=-88 75217 RFM69:CSMA:RSSI=-108 75222 TSF:MSG:READ,1-1-0,s=255,c=3,t=11,pt=0,l=13,sg=0:RFM69 Sensor Loop 0 77279 RFM69:SAC:SEND ACK,TO=1,RSSI=-85 77283 RFM69:CSMA:RSSI=-107Could you explain the difference between
RFM69:SAC:SEND ACK,TO=0,RSSI=-19
RFM69:CSMA:RSSI=-110When RSSI=-19 then RSSI=-110 ; which one is bad and is it on the node or on the gateaway ?
Thank you again :-)