ESP32 ESPWROOM 32 - NodeMCU-ESP-32S board sleep or freeze after running?
-
- Posts: 8
- Joined: Fri Mar 04, 2022 11:06 am
ESP32 ESPWROOM 32 - NodeMCU-ESP-32S board sleep or freeze after running?
Im using to my project Esp32, because stronger than arduino boards.
Im new in using esp32 boards, i have noticed my board after 20-30 minute running - simple halt or i dont know. Arduino IDE gives no warning for code or error and code riunning well. After 20-30 minute i see the connected blinking LED (for test) and the OLED display wont light up. After pressing EN button working again.
The uploaded code controll a oled with SPI connection what receive analog reading values for displaying spectrum. Im running from USB power source and I have not defined any power management option, code looks running well.
Why Esp32 simple stop working after minutes? This is a automated power saving mode or defect?
After press EN i see in Arduino IDE serial monitor this log:
11:27:40.555 -> ets Jun 8 2016 00:22:57
11:27:40.555 ->
11:27:40.555 -> rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
11:27:40.555 -> configsip: 0, SPIWP:0xee
11:27:40.555 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
11:27:40.555 -> mode:DIO, clock div:1
11:27:40.555 -> load:0x3fff0018,len:4
11:27:40.555 -> load:0x3fff001c,len:1216
11:27:40.555 -> ho 0 tail 12 room 4
11:27:40.555 -> load:0x40078000,len:10944
11:27:40.555 -> load:0x40080400,len:6388
11:27:40.603 -> entry 0x400806b4
thanks for any help.
Im new in using esp32 boards, i have noticed my board after 20-30 minute running - simple halt or i dont know. Arduino IDE gives no warning for code or error and code riunning well. After 20-30 minute i see the connected blinking LED (for test) and the OLED display wont light up. After pressing EN button working again.
The uploaded code controll a oled with SPI connection what receive analog reading values for displaying spectrum. Im running from USB power source and I have not defined any power management option, code looks running well.
Why Esp32 simple stop working after minutes? This is a automated power saving mode or defect?
After press EN i see in Arduino IDE serial monitor this log:
11:27:40.555 -> ets Jun 8 2016 00:22:57
11:27:40.555 ->
11:27:40.555 -> rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
11:27:40.555 -> configsip: 0, SPIWP:0xee
11:27:40.555 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
11:27:40.555 -> mode:DIO, clock div:1
11:27:40.555 -> load:0x3fff0018,len:4
11:27:40.555 -> load:0x3fff001c,len:1216
11:27:40.555 -> ho 0 tail 12 room 4
11:27:40.555 -> load:0x40078000,len:10944
11:27:40.555 -> load:0x40080400,len:6388
11:27:40.603 -> entry 0x400806b4
thanks for any help.
-
- Posts: 9730
- Joined: Thu Nov 26, 2015 4:08 am
Re: ESP32 ESPWROOM 32 - NodeMCU-ESP-32S board sleep or freeze after running?
Sounds like a bug. Could it be that your software can get locked up into some kind of loop if something unexpected happens?
-
- Posts: 8
- Joined: Fri Mar 04, 2022 11:06 am
Re: ESP32 ESPWROOM 32 - NodeMCU-ESP-32S board sleep or freeze after running?
Ok, i will send the code and a diagram, maybe something will be visible. Since i have posted this ,,error" i have maked few test, leaved running the esp32 without playing any sounds to input (no display used) or leaved running but still simple at one point stop running and continue the run only after pressing EN.ESP_Sprite wrote: ↑Sat Mar 05, 2022 1:33 amSounds like a bug. Could it be that your software can get locked up into some kind of loop if something unexpected happens?
What i dont understand, how is possible compile a code without warning and run around a hour and just after making crash.
Another question is the debug/log, before compile (ESP32 Dev Modul selected as board) i can select the level of this, and i see after pressing EN a short log, but nothing happens whatever i select - this will be also help find the problem.
-
- Posts: 8
- Joined: Fri Mar 04, 2022 11:06 am
Re: ESP32 ESPWROOM 32 - NodeMCU-ESP-32S board sleep or freeze after running?
Code: Select all
#include "arduinoFFT.h"
arduinoFFT FFT = arduinoFFT();
#include "SSD1306Spi.h"
SSD1306Spi display(17, 16, 5);
#define SAMPLES 512
#define SAMPLING_FREQUENCY 40000
#define amplitude 1000
unsigned int sampling_period_us;
unsigned long microseconds;
byte peak[] = {0,0,0,0,0,0,0};
double vReal[SAMPLES];
double vImag[SAMPLES];
unsigned long newTime, oldTime;
void setup() {
Serial.begin(115200);
display.init();
display.flipScreenVertically();
sampling_period_us = round(1000000 * (1.0 / SAMPLING_FREQUENCY));
}
void loop() {
display.clear();
display.drawString(0,0,"0.1 0.2 0.5 1K 2K 4K 8K");
for (int i = 0; i < SAMPLES; i++) {
newTime = micros()-oldTime;
oldTime = newTime;
vReal[i] = analogRead(A0); // A conversion takes about 1uS on an ESP32
vImag[i] = 0;
while (micros() < (newTime + sampling_period_us)) { /* do nothing to wait */ }
}
FFT.Windowing(vReal, SAMPLES, FFT_WIN_TYP_HAMMING, FFT_FORWARD);
FFT.Compute(vReal, vImag, SAMPLES, FFT_FORWARD);
FFT.ComplexToMagnitude(vReal, vImag, SAMPLES);
for (int i = 2; i < (SAMPLES/2); i++){
if (vReal[i] > 2000) { // Add a crude noise filter, 10 x amplitude or more
if (i<=2 ) displayBand(0,(int)vReal[i]/amplitude);
if (i >3 && i<=5 ) displayBand(1,(int)vReal[i]/amplitude);
if (i >5 && i<=7 ) displayBand(2,(int)vReal[i]/amplitude);
if (i >7 && i<=15 ) displayBand(3,(int)vReal[i]/amplitude);
if (i >15 && i<=30 ) displayBand(4,(int)vReal[i]/amplitude);
if (i >30 && i<=53 ) displayBand(5,(int)vReal[i]/amplitude);
if (i >53 && i<=200 ) displayBand(6,(int)vReal[i]/amplitude);
if (i >200 ) displayBand(7,(int)vReal[i]/amplitude);
//Serial.println(i);
}
for (byte band = 0; band <= 6; band++) display.drawHorizontalLine(18*band,64-peak[band],14);
}
if (millis()%4 == 0) {for (byte band = 0; band <= 6; band++) {if (peak[band] > 0) peak[band] -= 1;}} // Decay the peak
display.display();
}
void displayBand(int band, int dsize){
int dmax = 50;
if (dsize > dmax) dsize = dmax;
if (band == 7) display.drawHorizontalLine(18*6,0, 14);
for (int s = 0; s <= dsize; s=s+2){display.drawHorizontalLine(18*band,64-s, 14);}
if (dsize > peak[band]) {peak[band] = dsize;}
}
-
- Posts: 8
- Joined: Fri Mar 04, 2022 11:06 am
Re: ESP32 ESPWROOM 32 - NodeMCU-ESP-32S board sleep or freeze after running?
And here is the wiring.
I have used this tutorial connect Esp32 with SPI OLED:
https://www.electronicshub.org/esp32-oled-display/
#define OLED_CLK 18
#define OLED_MOSI 23
#define OLED_CS 5
#define OLED_DC 16
#define OLED_RESET 17
Oled connected to 5V on Esp32 and the build receive power from PC USB port using microUSB cabel.
I have used this tutorial connect Esp32 with SPI OLED:
https://www.electronicshub.org/esp32-oled-display/
#define OLED_CLK 18
#define OLED_MOSI 23
#define OLED_CS 5
#define OLED_DC 16
#define OLED_RESET 17
Oled connected to 5V on Esp32 and the build receive power from PC USB port using microUSB cabel.
-
- Posts: 8
- Joined: Fri Mar 04, 2022 11:06 am
Re: ESP32 ESPWROOM 32 - NodeMCU-ESP-32S board sleep or freeze after running?
Yesterday i have maked several test runs, using a simple serial.println command to test when stuck the esp32.
The result currently esp32 freeze without any SPI OLED connection too, so remains the code, the esp32 board or the analog connection/what use the 3v pin.
Now im testing the code with and without analog connection. I hope we will find the problem and will be possible handle.
The result currently esp32 freeze without any SPI OLED connection too, so remains the code, the esp32 board or the analog connection/what use the 3v pin.
Now im testing the code with and without analog connection. I hope we will find the problem and will be possible handle.
-
- Posts: 8
- Joined: Fri Mar 04, 2022 11:06 am
Re: ESP32 ESPWROOM 32 - NodeMCU-ESP-32S board sleep or freeze after running?
Now, just with the code on Esp32 without any other connection than micro USB power supply code/esp32 freezed.
Now two things remains, if somebody not have any other idea: the board itself or the code/loop making this halt.
Now two things remains, if somebody not have any other idea: the board itself or the code/loop making this halt.
-
- Posts: 8
- Joined: Fri Mar 04, 2022 11:06 am
Re: ESP32 ESPWROOM 32 - NodeMCU-ESP-32S board sleep or freeze after running?
Another try - now the esp32 board driver version was 1.0.6, i have updated the esp32 driver directory in arduino ide settings and i saw a new 2.0.2 board driver, so i maked a update and re compiled again code.
https://raw.githubusercontent.com/espre ... index.json
https://raw.githubusercontent.com/espre ... index.json
-
- Posts: 8
- Joined: Fri Mar 04, 2022 11:06 am
Re: ESP32 ESPWROOM 32 - NodeMCU-ESP-32S board sleep or freeze after running?
I have runned out from any type of workaround, at last i have returned to a older board driver 1.0.4 and set as board type NodeMCU-32s against Esp32 dev module - so looks i have von some speed - thats was visible on screen refresh - but still around 1 hour running board freezing.
As extra i have tryed a independent, external 5V power supply + add a capacitor between + - (supplied to esp32 5V+GND legs, and OLED was connected to 3.3V, but still after 1 hour stuck, just if im press EN will start again.
So can be the cheaper board or still the code what generate this event.
As extra i have tryed a independent, external 5V power supply + add a capacitor between + - (supplied to esp32 5V+GND legs, and OLED was connected to 3.3V, but still after 1 hour stuck, just if im press EN will start again.
So can be the cheaper board or still the code what generate this event.
Who is online
Users browsing this forum: No registered users and 80 guests