NACK Errors w/ Arduino Uno Ethernet Gateway v2.2.0 rc2
-
I put capacitors at the radio for both the sensor node and the Arduino Uno/Ethernet gateway but it doesn't seem to have any effect.
__ __ ____ | \/ |_ _/ ___| ___ _ __ ___ ___ _ __ ___ | |\/| | | | \___ \ / _ \ `_ \/ __|/ _ \| `__/ __| | | | | |_| |___| | __/ | | \__ \ _ | | \__ \ |_| |_|\__, |____/ \___|_| |_|___/\___/|_| |___/ |___/ 2.2.0-rc.2 17 MCO:BGN:INIT NODE,CP=RNNNA---,VER=2.2.0-rc.2 26 MCO:BGN:BFR 27 TSM:INIT 29 TSF:WUR:MS=0 35 TSM:INIT:TSP OK 37 TSF:SID:OK,ID=1 39 TSM:FPAR 75 TSF:MSG:SEND,1-1-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK: 326 TSF:MSG:READ,0-0-1,s=255,c=3,t=8,pt=1,l=1,sg=0:0 331 TSF:MSG:FPAR OK,ID=0,D=1 2082 TSM:FPAR:OK 2083 TSM:ID 2084 TSM:ID:OK 2086 TSM:UPL 2123 !TSF:MSG:SEND,1-1-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=NACK:1 4130 TSM:UPL 4167 !TSF:MSG:SEND,1-1-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=1,st=NACK:1 6174 TSM:UPL 6176 TSF:MSG:SEND,1-1-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=2,st=OK:1 6185 TSF:MSG:READ,0-0-1,s=255,c=3,t=25,pt=1,l=1,sg=0:1 6191 TSF:MSG:PONG RECV,HP=1 6194 TSM:UPL:OK 6195 TSM:READY:ID=1,PAR=0,DIS=1 6235 !TSF:MSG:SEND,1-1-0-0,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=NACK:0100 8274 TSF:MSG:SEND,1-1-0-0,s=255,c=0,t=17,pt=0,l=10,sg=0,ft=1,st=OK:2.2.0-rc.2 8305 TSF:MSG:SEND,1-1-0-0,s=255,c=3,t=6,pt=1,l=1,sg=0,ft=0,st=OK:0 8355 TSF:MSG:READ,0-0-1,s=255,c=3,t=6,pt=0,l=1,sg=0:I 8403 !TSF:MSG:SEND,1-1-0-0,s=255,c=3,t=11,pt=0,l=17,sg=0,ft=0,st=NACK:ArduinoDoorSensor 8453 !TSF:MSG:SEND,1-1-0-0,s=255,c=3,t=12,pt=0,l=11,sg=0,ft=1,st=NACK:Version 1.x 8462 TSF:MSG:SEND,1-1-0-0,s=123,c=0,t=0,pt=0,l=0,sg=0,ft=2,st=OK: 8468 MCO:REG:REQ 8502 TSF:MSG:SEND,1-1-0-0,s=255,c=3,t=26,pt=1,l=1,sg=0,ft=0,st=OK:2 8509 TSF:MSG:READ,0-0-1,s=255,c=3,t=27,pt=1,l=1,sg=0:1 8513 MCO:PIM:NODE REG=1 8516 MCO:BGN:STP 8517 MCO:BGN:INIT OK,TSP=1 18531 TSF:MSG:SEND,1-1-0-0,s=123,c=1,t=16,pt=2,l=2,sg=0,ft=0,st=OK:1 28574 !TSF:MSG:SEND,1-1-0-0,s=123,c=1,t=16,pt=2,l=2,sg=0,ft=0,st=NACK:0 38591 TSF:MSG:SEND,1-1-0-0,s=123,c=1,t=16,pt=2,l=2,sg=0,ft=1,st=OK:1 48601 TSF:MSG:SEND,1-1-0-0,s=123,c=1,t=16,pt=2,l=2,sg=0,ft=0,st=OK:0 58610 TSF:MSG:SEND,1-1-0-0,s=123,c=1,t=16,pt=2,l=2,sg=0,ft=0,st=OK:1 68653 !TSF:MSG:SEND,1-1-0-0,s=123,c=1,t=16,pt=2,l=2,sg=0,ft=0,st=NACK:0 78666 TSF:MSG:SEND,1-1-0-0,s=123,c=1,t=16,pt=2,l=2,sg=0,ft=1,st=OK:1 88676 TSF:MSG:SEND,1-1-0-0,s=123,c=1,t=16,pt=2,l=2,sg=0,ft=0,st=OK:0 98706 TSF:MSG:SEND,1-1-0-0,s=123,c=1,t=16,pt=2,l=2,sg=0,ft=0,st=OK:1 108717 TSF:MSG:SEND,1-1-0-0,s=123,c=1,t=16,pt=2,l=2,sg=0,ft=0,st=OK:0 118731 TSF:MSG:SEND,1-1-0-0,s=123,c=1,t=16,pt=2,l=2,sg=0,ft=0,st=OK:1 128739 TSF:MSG:SEND,1-1-0-0,s=123,c=1,t=16,pt=2,l=2,sg=0,ft=0,st=OK:0 138757 TSF:MSG:SEND,1-1-0-0,s=123,c=1,t=16,pt=2,l=2,sg=0,ft=0,st=OK:1 141575 TSF:MSG:READ,0-0-1,s=123,c=1,t=15,pt=0,l=1,sg=0:0 141580 TSF:MSG:ACK REQ 141588 TSF:MSG:SEND,1-1-0-0,s=123,c=1,t=15,pt=0,l=1,sg=0,ft=0,st=OK:0 141629 TSF:MSG:SEND,1-1-0-0,s=123,c=1,t=15,pt=1,l=1,sg=0,ft=0,st=OK:0It's interesting that the NACK errors almost always seem to occur around the same spot in the startup sequence. For example, the sketch name message and/or version message almost always show an error. Not every time but most of the time.
These are the radios I am using. I don't know their lineage.
I'll give 1.8.5 a try on Win7. I was just going by what was on the Arduino software download page. I don't think it's the IDE though.
Thanks for your response.
--d
-
My first thought is something with power. Maybe the combination with Ethernet shield can't keep up when transmitting so the voltage drops. What kind of regulator do you use for the radio? Internal on the nano? Maybe you could try another external voltage regulator?
-
Doesn't surprise me. Can you or anyone suggest a reliable or recommended source for this radio?
Thanks.
-d
-
@dklinkman good reports are for the ones from CDEBytes store on aliexpress, I got some of those and so far a performing well
@gohan said in NACK Errors w/ Arduino Uno Ethernet Gateway v2.2.0 rc2:
@dklinkman good reports are for the ones from CDEBytes store on aliexpress, I got some of those and so far a performing well
I'll give them a try. Thanks.
--d
-
So the scope shows clean power and no level fluctuations both during startup and regular operations. 5v rail is at 4.735v and 3v3 rail is steady at 3.245v. There's around 30mv of noise on the 5v rail and negligible noise on the 3v3 rail. The capacitors are still in place across 3v3 at the radios of course.

But I did go ahead and set up a separate 3v3 power supply for the radio. I interconnected the grounds of course. Unfortunately the results are the same. Clean power on the scope, and pretty much the same errors noted in the debug output. The locations of the errors always varies a little. As a control I switched the sensor node back to using the the RPi gateway and zero errors as before. So I'm thinking it isn't power. But good call and I'm glad I checked it out.
--d
-
It's a holiday in the US for financial services (who I work for as an IT architect) so I'm actually off today and can work on this head scratcher a bit. Back to work tomorrow.
On the Uno gateway I tried moving the radio to the hardware SPI, and uncommented the
// W5100 Ethernet module SPI enable (optional if using a shield/module that manages SPI_EN signal) #define MY_W5100_SPI_EN 4since I am actually using an Ethernet shield. I thought that might work but it didn't. The radio is apparently not accessible. I attached a digital scope and I see traffic on SPI, but it may just be the Ethernet. My scope decodes the SPI, but I don't recognize anything in the decoding. But granted, I have no clue.
Wanting to try something different I took a different Uno, a different radio, and made a copy of the sensor node that I made on the Nano. So basically I have two sensor nodes, one on Uno (ID 101) and one on the original Nano (ID 102). The only difference, literally, is the Nano is on a small breadboard. Both have 8" flying leads to the radio. Capacitors at the radios. Everything is within 14" to 24" apart on my floor. In this scenario the RPi/Ethernet is the gateway.
Good news is it all works. I reset my Vera. Was able to include the two new nodes and two new sensors with no problem. Only had to tweak the door sensors on the Vera a little bit to get the arming switch to work. It's all good.
BUT, The debug on the Uno/Sensor node shows NACK errors just like the Uno/Ethernet gateway did. Not as many, but some. See below.
__ __ ____ | \/ |_ _/ ___| ___ _ __ ___ ___ _ __ ___ | |\/| | | | \___ \ / _ \ `_ \/ __|/ _ \| `__/ __| | | | | |_| |___| | __/ | | \__ \ _ | | \__ \ |_| |_|\__, |____/ \___|_| |_|___/\___/|_| |___/ |___/ 2.2.0-rc.2 17 MCO:BGN:INIT NODE,CP=RNNNA---,VER=2.2.0-rc.2 26 MCO:BGN:BFR 27 TSM:INIT 29 TSF:WUR:MS=0 35 TSM:INIT:TSP OK 37 TSF:SID:OK,ID=2 39 TSM:FPAR 75 TSF:MSG:SEND,2-2-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK: 602 TSF:MSG:READ,0-0-2,s=255,c=3,t=8,pt=1,l=1,sg=0:0 607 TSF:MSG:FPAR OK,ID=0,D=1 2082 TSM:FPAR:OK 2083 TSM:ID 2084 TSM:ID:OK 2086 TSM:UPL 2123 !TSF:MSG:SEND,2-2-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=NACK:1 2129 TSF:MSG:READ,0-0-2,s=255,c=3,t=25,pt=1,l=1,sg=0:1 2135 TSF:MSG:PONG RECV,HP=1 2138 TSM:UPL:OK 2139 TSM:READY:ID=2,PAR=0,DIS=1 2178 !TSF:MSG:SEND,2-2-0-0,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=NACK:0100 4189 TSF:MSG:SEND,2-2-0-0,s=255,c=0,t=17,pt=0,l=10,sg=0,ft=1,st=OK:2.2.0-rc.2 4198 TSF:MSG:SEND,2-2-0-0,s=255,c=3,t=6,pt=1,l=1,sg=0,ft=0,st=OK:0 4239 TSF:MSG:READ,0-0-2,s=255,c=3,t=6,pt=0,l=1,sg=0:I 4248 TSF:MSG:SEND,2-2-0-0,s=255,c=3,t=11,pt=0,l=17,sg=0,ft=0,st=OK:ArduinoDoorSensor 4263 TSF:MSG:SEND,2-2-0-0,s=255,c=3,t=12,pt=0,l=11,sg=0,ft=0,st=OK:Version 1.x 4279 TSF:MSG:SEND,2-2-0-0,s=102,c=0,t=0,pt=0,l=0,sg=0,ft=0,st=OK: 4285 MCO:REG:REQ 4322 !TSF:MSG:SEND,2-2-0-0,s=255,c=3,t=26,pt=1,l=1,sg=0,ft=0,st=NACK:2 4329 TSF:MSG:READ,0-0-2,s=255,c=3,t=27,pt=1,l=1,sg=0:1 4334 MCO:PIM:NODE REG=1 4336 MCO:BGN:STP 4337 MCO:BGN:INIT OK,TSP=1 14357 TSF:MSG:SEND,2-2-0-0,s=102,c=1,t=16,pt=2,l=2,sg=0,ft=1,st=OK:1While the Nano node, also w/ the RPi gateway, shows none. This is getting into my head. I swapped the radios between the Uno node and Nano node and no change. Is it the Uno platform? Should be pretty much the same as Nano/Uno I think. But I'm no expert.
tl;dr -- I have no clue.
Here's the original Nano sensor node

And the new Uno sensor node
This is the Uno gateway node with radio moved to the hardware SPI (which didn't work), It worked before on Uno with the soft SPI. but w/ errors.

So a wealth of information but I have no answers and no more ideas. I'm still trying things but if anyone has an idea why the Uno [seems] to be complicit in causing these NACKs, if only by association, i'm interested. Next I may try a Nano as the gateway. I have a few I just need to solder on some headers. By the weekend at best
--d
-
So I got my hands on a Sensebender Gateway board and soldered it up. Wow, very nice. No errors like I was seeing on the Uno. Using a generic W5100 for Ethernet and a generic PA+LNA NRF24 radio. Plus all the remote nodes have now been fitted with a generic NRF24 base board for better supply and filtering.
When I get those purportedly better radios from China I'll probably still try them on the Uno. But at this point it's like, what's the point? I have my gateway. Half the size of the rpi, and roughly 2/3 the size of the Uno. No brainer.
I posed a picture if interested. I highly recommend the Sensebender Gateway.
-d
-
@dklinkman good reports are for the ones from CDEBytes store on aliexpress, I got some of those and so far a performing well
@gohan said in NACK Errors w/ Arduino Uno Ethernet Gateway v2.2.0 rc2:
@dklinkman good reports are for the ones from CDEBytes store on aliexpress, I got some of those and so far a performing well