[Solved] Arduino Nanos don't work as nodes
-
Look for something like
MY_DEBUG_VERBOSE_NRF24- something along those lines, for that debug option I mentioned.// Enable debug prints to serial monitor #define MY_DEBUG #define MY_DEBUG_VERBOSE_RF24 // Enable and select radio type attached #define MY_RADIO_NRF24 #define MY_TRANSPORT_SANITY_CHECK #define MY_RF24_CE_PIN 9 #define MY_RF24_CS_PIN 10 #define MY_RF24_CHANNEL 29 #define RF24_DATARATE RF24_2MBPS #define RF24_PA_LEVEL RF24_PA_MIN #define RF24_PA_LEVEL_GW RF24_PA_MIN #define MY_NODE_ID 116 MCO:BGN:INIT NODE,CP=RNNNA---,FQ=16,REL=255,VER=2.3.2 26 TSM:INIT 28 TSF:WUR:MS=0 29 RF24:INIT:PIN,CE=9,CS=10 31 RF24:SBY 32 RF24:WBR:REG=0,VAL=14 39 RF24:WBR:REG=3,VAL=3 41 RF24:WBR:REG=4,VAL=95 44 RF24:WBR:REG=5,VAL=29 47 RF24:WBR:REG=6,VAL=37 49 RF24:WBR:REG=29,VAL=4 51 RF24:RBR:REG=29,VAL=4 53 RF24:RBR:REG=6,VAL=37 55 RF24:RBR:REG=5,VAL=29 58 RF24:WBR:REG=2,VAL=2 60 RF24:WBR:REG=1,VAL=0 62 RF24:WBR:REG=28,VAL=3 64 RF24:FRX 65 RF24:FTX 66 RF24:WBR:REG=7,VAL=112 69 TSM:INIT:TSP OK 70 TSM:INIT:STATID=1 72 RF24:WBR:REG=2,VAL=3 74 RF24:WBR:REG=1,VAL=1 76 RF24:STL 78 RF24:WBR:REG=0,VAL=15 80 RF24:WBR:REG=10,VAL=1 82 TSF:SID:OK,ID=1 84 TSM:FPAR 86 RF24:SPL 87 RF24:WBR:REG=0,VAL=14 89 RF24:OWP:RCPT=255 91 RF24:WBR:REG=10,VAL=255 93 RF24:WBR:REG=16,VAL=255 96 RF24:TXM:TO=255,LEN=7 98 RF24:FTX 99 RF24:WBR:REG=4,VAL=80 103 RF24:WBR:REG=7,VAL=112 106 ?RF24:TXM:MAX_RT 108 RF24:FTX 109 RF24:WBR:REG=4,VAL=95 111 RF24:STL 113 RF24:WBR:REG=0,VAL=15 115 RF24:WBR:REG=10,VAL=1 117 ?TSF:MSG:SEND,1-1-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK: 2125 !TSM:FPAR:NO REPLY 2127 TSM:FPAR 2128 RF24:SPL 2130 RF24:WBR:REG=0,VAL=14 2132 RF24:OWP:RCPT=255 2135 RF24:WBR:REG=10,VAL=255 2138 RF24:WBR:REG=16,VAL=255 2140 RF24:TXM:TO=255,LEN=7 2143 RF24:FTX 2144 RF24:WBR:REG=4,VAL=80 2149 RF24:WBR:REG=7,VAL=112 2151 ?RF24:TXM:MAX_RT 2153 RF24:FTX 2155 RF24:WBR:REG=4,VAL=95 2157 RF24:STL 2158 RF24:WBR:REG=0,VAL=15 2161 RF24:WBR:REG=10,VAL=1 2163 ?TSF:MSG:SEND,1-1-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK: 4171 !TSM:FPAR:NO REPLY 4173 TSM:FPAR 4174 RF24:SPL 4175 RF24:WBR:REG=0,VAL=14 4178 RF24:OWP:RCPT=255 4180 RF24:WBR:REG=10,VAL=255 4184 RF24:WBR:REG=16,VAL=255 4186 RF24:TXM:TO=255,LEN=7 4189 RF24:FTX 4190 RF24:WBR:REG=4,VAL=80 4195 RF24:WBR:REG=7,VAL=112 4197 ?RF24:TXM:MAX_RT 4199 RF24:FTX 4201 RF24:WBR:REG=4,VAL=95 4203 RF24:STL 4204 RF24:WBR:REG=0,VAL=15 4207 RF24:WBR:REG=10,VAL=1 4209 ?TSF:MSG:SEND,1-1-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK: 6217 !TSM:FPAR:NO REPLYStill no reply.
-
I'm not super experienced using mysensors but I do have 3 nodes working and when first settings things up I had some problems with NODE IDs. It looks like you are setting a Static node Id? Is that ID "free" in the gateway? Have you tried powering of all the nodes you have running, wiping the EEPROM of the gateway, powering up the gateway and shortly after powering up the node?
Someone else perhaps knows this better but, if the gateway don't want to include the node, does that generate the FPAR:No reply?
And also, how is the interrupt pin connected?
-
I'm not super experienced using mysensors but I do have 3 nodes working and when first settings things up I had some problems with NODE IDs. It looks like you are setting a Static node Id? Is that ID "free" in the gateway? Have you tried powering of all the nodes you have running, wiping the EEPROM of the gateway, powering up the gateway and shortly after powering up the node?
Someone else perhaps knows this better but, if the gateway don't want to include the node, does that generate the FPAR:No reply?
And also, how is the interrupt pin connected?
It looks like you are setting a Static node Id? Is that ID "free" in the gateway?
Yes, there are no other nodes (other than the one with a different static node ID that works)
Have you tried powering of all the nodes you have running,
Yes.
wiping the EEPROM of the gateway, powering up the gateway and shortly after powering up the node?
Yes, I've wiped EEPROMs of all the nodes.
-
It looks like you are setting a Static node Id? Is that ID "free" in the gateway?
Yes, there are no other nodes (other than the one with a different static node ID that works)
Have you tried powering of all the nodes you have running,
Yes.
wiping the EEPROM of the gateway, powering up the gateway and shortly after powering up the node?
Yes, I've wiped EEPROMs of all the nodes.
@Avamander I meant, have you erased the EEPROM of the gateway?
-
I'm not super experienced using mysensors but I do have 3 nodes working and when first settings things up I had some problems with NODE IDs. It looks like you are setting a Static node Id? Is that ID "free" in the gateway? Have you tried powering of all the nodes you have running, wiping the EEPROM of the gateway, powering up the gateway and shortly after powering up the node?
Someone else perhaps knows this better but, if the gateway don't want to include the node, does that generate the FPAR:No reply?
And also, how is the interrupt pin connected?
I meant, have you erased the EEPROM of the gateway?
Yes, that too.
And also, how is the interrupt pin connected?
The radio's IRQ pin is not connected. (
The IRQ pin is only required to be connected if the MY_RX_MESSAGE_BUFFER_FEATURE is defined in the sketch.) -
I meant, have you erased the EEPROM of the gateway?
Yes, that too.
And also, how is the interrupt pin connected?
The radio's IRQ pin is not connected. (
The IRQ pin is only required to be connected if the MY_RX_MESSAGE_BUFFER_FEATURE is defined in the sketch.)@Avamander Regarding the interrupt pin, at least when using the RFM95 I need to have the pin connected to be able to receive anything. It doesnt poll the module to check for incoming messages. Maybe its different with nRF24.
I haven't tried messing with the MY_RX_MESSAGE_BUFFER_FEATURE so I wouldnt know about that.
-
Well, the documentation says I don't have to have it connected.
I suggest to start with one of the examples.
The gateway and node both are examples with the minimal required changes.
The RF channel is the same everywhere I guess?
Yes.
What does the output on the gateway say?
Nothing, totally silent. When I plug in the Mega node, then it starts outputting all the sensor and other data.
Anyways, the weird thing here is that I remember this working a few years or so ago on the same boards and stuff, it just doesn't work now and I have 0 clue why. I'm thinking about downgrading MySensors to 1.something
-
Well, the documentation says I don't have to have it connected.
I suggest to start with one of the examples.
The gateway and node both are examples with the minimal required changes.
The RF channel is the same everywhere I guess?
Yes.
What does the output on the gateway say?
Nothing, totally silent. When I plug in the Mega node, then it starts outputting all the sensor and other data.
Anyways, the weird thing here is that I remember this working a few years or so ago on the same boards and stuff, it just doesn't work now and I have 0 clue why. I'm thinking about downgrading MySensors to 1.something
@Avamander Found the documentation you were referring to and yes. Seems to be true for the RF24 which I haven't used in a long time.
#define MY_RX_MESSAGE_BUFFER_FEATURE This enables the receiving buffer feature. This feature is currently not supported for anything but RF24. Require MY_RF24_IRQ_PIN to be set. Note: Not supported on ESP8266, ESP32, STM32, nRF5 and sketches that use SoftSPI. See below issue for details https://github.com/mysensors/MySensors/issues/1128 Definition at line 2406 of file MyConfig.h. -
@electrik It's highly unlikely. I have more than one type of module and more than one module of each type, none of them work. I also swapped the modules between working GW and Mega node and it still works, I swap the module between working GW and the node, it doesn't work.
-
Could you try version 2.2 of mysensors? I remember summer changes in 2.4 regarding nrf modules
Could you try version 2.2 of mysensors? I remember summer changes in 2.4 regarding nrf modules
I went to the oldest available version and it doesn't work.
I don't really get it, if I swap the radios between the Mega node and the Nano node, it stops working, swapping CE/CSN also makes it stop working - any alterations make it fail loud and clear.
It does initialize the radio and claim everything is okay. I can be quite certain it's not the radios, it's not the boards themselves, it's not the wiring.
There's something very specific to the Nanos themselves that 2.x.x is unable to use the nRF24L01+.
I will assemble an Arduino Uno board and see if the issue is specific to the AtMega328P.
-
Just in case I also took clean
RepeaterNodeexample and just defined the CE/CSN pins and channel, it's still unable to work.I also tried the same example without any repeater functionality enabled, it's still unable to register. It's basically a blank sketch.
Changing Node ID didn't also work.
-
In your first sketch the baud rate was 2mbps. How is your existing network configured?
If you take an example sketch and an example gateway sketch, does it work then. So don't change channels and so onIn your first sketch the baud rate was 2mbps. How is your existing network configured?
That's exactly the same across all my sketches.
If you take an example sketch and an example gateway sketch, does it work then. So don't change channels and so on
Yeah, I did that and wrote about it above, took
RepeaterNodeand just defined CE/CSN on GW and the node. -
I've determined that it doesn't matter which:
- Radio
- Radio's power supply/source
- Nano
- Bootloader
- Arduino IDE (tried 1.8.2 and latest nightly)
- 2.x.x MySensors
- Example, or custom sketch
- Channel, data rate, power level or node ID
- Repeater or not
- WAIT_READY_MS or not
- Predefined master or not
- SPI bus speed, 0.5*default SPI speed didn't help
I just can't make a Nano act as a regular node.
Maybe a MySensors dev has an idea what I could try.
-
I just discovered that on the Arduino Uno
RF24_250KBPSworks, butRF24_2MBPSdoesn't. On the Nanos, neither work.I used RF24 and tested the boards for a while, I've determined that 2MBPS on that specific channel works great, I've sent at least 100 000 packets and lost only two. Auto-ack and dynamic payloads also work.
I am 99.99% certain this is a bug in MySensors. @mfalkvidd maybe you have some ideas where to look next?