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):
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?
-
@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.