New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ESP8266 crashing when used with nRF24L01 #244
Comments
Using latest version of everything? IDE, the software on the ESP, the |
|
I used the latest tag V.1.1.6. for RF24 and took the latest esp8266 arduino. We interchanged Pin 4 and 15 to see if connections were reversed. Tht's why in code, probably they were defined in reverse. For incorrect CE,CSE pin connections, control does not get inside radio.available(). |
I downloaded master RF24 and checked wiring. There was some soldering issue for CE pin which I rectified. ARDUINO SIDE:- |
I've been using & testing with a recent git version of the Arduino core with some nodemcu v0.9 and either Arduino 1.6.7 or a recent build other than 1.6.8 |
Thank you all for the help! We were able to resolve the issue. |
Unfortunately I have the same problem. Library versions: Transmitter: Arduino Uno
Receiver ESP8266 NodeMCU V3 Wiring:
Output log from Receiver:
|
I'm also getting random Soft WDTs on my NodeMCU. CS -> D1 The code is GettingStarted example from the library itself. Altered parts here: bool radioNumber = 0;
/* Hardware configuration: Set up nRF24L01 radio on SPI bus plus pins 7 & 8 */
RF24 radio(D2, D1);
/**********************************************************/
byte addresses[][6] = {"1Node","2Node"};
// Used to control whether this node is sending or receiving
bool role = 0;
void setup() {
Serial.begin(115200);
Serial.println(F("RF24/examples/GettingStarted"));
Serial.println(F("*** PRESS 'T' to begin transmitting to the other node"));
radio.begin();
/******* my changes here *******/
radio.setDataRate(RF24_250KBPS);
radio.setCRCLength(RF24_CRC_8);
radio.setRetries(15, 15);
radio.setAutoAck(true);
/****** end of my changes ******/
// Set the PA Level low to prevent power supply related issues since this is a
// getting_started sketch, and the likelihood of close proximity of the devices. RF24_PA_MAX is default.
radio.setPALevel(RF24_PA_MIN); Nothing else was changed. One NodeMCU is using radioNumber 0 and role 0 and the other 1,1 respectively. I was able to decode stack traces using https://github.com/me-no-dev/EspExceptionDecoder Any clue what might be wrong or what else should I check? |
@ipatalas, it may hang somewhere in the code when you have some hardware issues (related to SPI wiring to the chip). Some advice:
|
Seeing how these questions are really common, maybe building a help page about this isn't such a bad idea? |
Thanks @wmarkow for your tips. |
Hello, I encounter the same problem, I think I found the problem. At the moment of the crash at radio.write there is a drop in voltage, the order of 175mV, during 1ms, seen at the oscilloscope. The 3.3V regulator on the card does not seem powerful enough to hold in transmission. I will test with an external regulator. |
Hello everyone, I just did a test by feeding with a regulator ASM1117 that I had in my drawers, and a chemical condo of 22 μf at the terminals GND and VDD of the NRF24L01.
|
@keratos, thanks for your input in this investigations. If I understood you correctly, here is what happend:
@keratos, you have written before:
What is your 3.3V regulator on the card? What kind of ESP8266 board do you use? Is it NodeMCU or something similar? So you had some issue when you connected the power of nRF24L01 to this voltage regulator, right? And everything was fine when RF24 was connected to some external voltage regulator (ASM1117 in your case). Of course the capacitor soldered on RF24 could also help. |
The controller on the ESP8266 board is also an ASM 1117. Yes the problem is solved by connecting a 3.3V external power supply with the ASM 1117 controller. |
Hi,
I connected ESP8266 to nRF24L01 as below.
nRF24L01 ESP
CE(3) GPIO4
CSN(4) GPIO15
SCK(5) GPIO14
MOSI(6) GPIO13
MISO(7) GPIO12
I tried the below sample program. ESP8266 gets crashed at the below line.
Output:-
loop1
loop2
loop3
loop4
loop4
loop4
loop4
loop4
loop4
loop4
loop4
loop4
Soft WDT reset
ctx: cont
sp: 3ffef9b0 end: 3ffefc00 offset: 01b0
ets Jan 8 2013,rst cause:2, boot mode:(3,6)
load 0x4010f000, len 1264, room 16
tail 0
chksum 0x0f
csum 0x0f
~ld
Please let me know where I'm doing mistake.
The text was updated successfully, but these errors were encountered: