I’m not sure how this is called what I’m searching for…
Everytime my ESP32 is starting up, it is sending something like this with 115200 baud:
ets Jun 8 2016 00:22:57
rst:0x5 (DEEPSLEEP_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
mode:DIO, clock div:1
ho 0 tail 12 room 4
ho 0 tail 12 room 4
Is there any possibility to tell the ESP32 NOT to send anything at startup?
I’m running also some kind of communication protocol with my PC on the same serial/USB/RX0/TX0 interface but with 9600 baud and the startup codes with 115200 baud are messing up everything…
The boot messages printed by the ROM bootloader can be suppressed by connecting GPIO15 to GND during boot.
First of all: The first few messages are output from the bootloader. That is burned into the mask-ROM of the ESP32 and is literally unchangable. But, the Espressif people have thought of that and made the code that is burned in there react to the voltage of a GPIO pin.
As you can read in Suppress Boot messages - ESP32 Forum
Bootstrapping GPIO15 to ground will also disable initial output from the ROM bootloader.
There might be other messages that is from the ESP-IDF bootloader, but you should try that first. If there’s still output, you need to buid ESP-IDF from source and find the flags / defines that make it not output anything. There is a PlatformIO example available for building ESP-IDF from source in an Arduino firmware. Bootloader code and related is at esp-idf/components/bootloader at release/v4.1 · espressif/esp-idf · GitHub.
The other way would be to initially discard all the output received by the computer until a certain “START” marker is received (that is e.g. sent multiple times or with some delay at the start). Or, changing the communication baudrate to 115200 would help too.
@saibot83: Are you using the Arduino framework for ESP32 or the ESP-IDF framework?
Thanks a lot, yes this is working. However, wasting one of the rare IOs for that is not so cool
I’m using the Arduino framework
You can connect it to ground using a resistor and then still use it as an output pin after boot.
I connected it over a 10K resistor to GND and also use this D15 Pin as 25KHz PWM Output for FAN control and it is working
Thank you all!