Intermittent node/gateway radio communication problem



  • After running a RPi 3 openHAB/MySensors gateway for months with some Nano nodes and zero issues, I decided to branch out and add some nodes using Easy/Newbie PCB.

    After wiring everything up, the new battery-powered 3.3v node connected to the gateway immediately and started reporting battery levels. Fantastic!

    After a couple hours, data wasn't getting logged in my mqtt broker anymore. I started troubleshooting and looking at logs and found no reason why it would have stopped connecting to the gateway when I had made no changes to the circuit.

    I decided to start with a fresh set of components and built a duplicate of the node. It connected right away but then experienced the same symptoms.

    This is my node setup:

    • Easy/Newbie PCB board as mentioned above (rev 10)
    • Arduino pro mini clone
    • NRF24L01+
    • 3.3v step-up booster
    • caps as recommended in the battery setup of newbie pcb and across radio
    • Arduino IDE 1.8.9
    • MySensors lib 2.3.1
    • bare minimum sketch that only reports battery
    • Battery powered by 2xAA batteries

    This is my gateway setup:

    • Raspberry Pi 3 with MySensors 2.3.2-beta built as mqtt gateway
    • NRF24L01+ radio
    • 4.7uF cap across radio

    Here are the things I've tried/checked:

    • checked voltages at every point on the PCB: caps, booster, battery, radio, arduino, etc, everything is well within acceptable ranges
    • checked soldered connections several times
    • replaced radios, caps
    • Tried various distances between radios from 6 inches to 6 feet.

    All my other Arduino Nano nodes are powered by wall warts and continue to have no problems sending and receiving messages.

    Based on the logs (on both the battery powered nodes) it seems that the nodes have no problems transmitting messages, and the gateway is receiving them. If I'm understanding the logs correctly, it seems that the nodes are not always receiving messages from the gateway.

    Here is logging from the node:

    361084 TSF:MSG:SEND,72-72-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    363094 !TSM:FPAR:FAIL
    363096 TSM:FAIL:CNT=7
    363098 TSM:FAIL:DIS
    363100 TSF:TDI:TSL
    423104 TSM:FAIL:RE-INIT
    423106 TSM:INIT
    423112 TSM:INIT:TSP OK
    423116 TSM:INIT:STATID=72
    423118 TSF:SID:OK,ID=72
    423120 TSM:FPAR
    423157 TSF:MSG:SEND,72-72-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    425166 !TSM:FPAR:NO REPLY
    425168 TSM:FPAR
    425205 TSF:MSG:SEND,72-72-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    427214 !TSM:FPAR:NO REPLY
    427216 TSM:FPAR
    427253 TSF:MSG:SEND,72-72-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    429262 !TSM:FPAR:NO REPLY
    429264 TSM:FPAR
    429301 TSF:MSG:SEND,72-72-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    431310 !TSM:FPAR:FAIL
    431312 TSM:FAIL:CNT=7
    431314 TSM:FAIL:DIS
    431316 TSF:TDI:TSL
    

    Here is logging from the gateway:

    TSF:MSG:READ,72-72-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
    TSF:MSG:BC
    TSF:MSG:FPAR REQ,ID=72
    TSF:CKU:OK,FCTRL
    TSF:MSG:GWL OK
    !TSF:MSG:SEND,0-0-72-72,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=NACK:0
    TSF:MSG:READ,72-72-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
    TSF:MSG:BC
    TSF:MSG:FPAR REQ,ID=72
    TSF:CKU:OK,FCTRL
    TSF:MSG:GWL OK
    !TSF:MSG:SEND,0-0-72-72,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=NACK:0
    TSF:MSG:READ,72-72-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
    TSF:MSG:BC
    TSF:MSG:FPAR REQ,ID=72
    TSF:CKU:OK,FCTRL
    TSF:MSG:GWL OK
    !TSF:MSG:SEND,0-0-72-72,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=NACK:0
    

    Finally, here's a picture of one of the nodes (note that I resoldered the radio cap to be as close to the PCB as I could):
    0_1571428211308_20191015_095410.jpg

    A final note, despite everything I have read in documentation, forums, data sheets, and in a moment of desperation, I switched to a 5v bench power supply, just to see.

    It works. The node connects to the gateway, I can see in the logs the messages going back and forth. The pro mini is only getting 3.3v due to the booster, but the radio is getting 5v when measuring across the radios ground/vcc pins. I would have expected it to fry the radio almost immediately. EDIT radio stopped working after 5 minutes, but maybe this still provides some insight? Ha! I'm at a loss to explain this and why it's the only scenario in which the node and gateway can communicate consistently.

    Any ideas on what could be wrong, here?


  • Mod

    @genuinejd powering the radio at 5v is way out of spec and will likely kill it.
    I'm not familiar with your pcb, but you could try powering radio+arduino directly from 2 fresh AA batteries, without step converter inbetween.
    These radios are very sensitive to bad power supply.


 

240
Online

8.9k
Users

9.6k
Topics

101.0k
Posts