Serial.print command not displaying correctly

Hello everyone!

I’ve got a problem with the serial.print command not desplaying words like “Hello World”.

Uploading works fine, but everytime i open the serial monitor i only got this kind of output:

rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0xffffffff,len:-1
ets Jun  8 2016 00:22:57

I’ve looked into it and i haven’t found any solution yet, do any of you know the solution to this problem?

Also, here are the .ini and main files:

main:

#include <Arduino.h>

void setup()

{

    Serial.begin(115200);

}

void loop()

{   delay(1000);

    Serial.println("Hello world!");

    Serial.flush();    ;i don't know if Serial.flush is of any use, but it doesn't work with or without it.

}

and the .ini :

[env:az-delivery-devkit-v4]

platform = espressif32

board = az-delivery-devkit-v4

framework = arduino

monitor_port = COM7

monitor_speed = 115200
1 Like

See Firmware Bootloader can't start - ESP32 Forum and ESP32 RTCWDG reset · Issue #58 · espressif/arduino-esp32 · GitHub

What hardware are you working with? Is it really a az-delivery-devkit-v4?

This expectes a flash chip with a 40MHz flash frequency in DIO mode. If that is wrong, you’ll get that load:0xffffffff,len:-1 message from the bootloader and no further output.

If you have python3 installed in your shell you can also ask esptool.py what it thinks about this board, as in

C:\Users\Maxi\.platformio\packages\tool-esptoolpy>python esptool.py --port COM22 flash_id
esptool.py v2.8
Serial port COM22
Connecting........_
Detecting chip type... ESP32
Chip is ESP32D0WDQ6 (revision 0)
Features: WiFi, BT, Dual Core, Coding Scheme None
Crystal is 40MHz
MAC: 24:0a:c4:04:xx:xx
Uploading stub...
Running stub...
Stub running...
Manufacturer: c8
Device: 4016
Detected flash size: 4MB
Hard resetting via RTS pin...

Adapt the username path and COM port accordingly.

You can also brute-force the correct settings for chip if you try combinations of

; 40MHz is default -- try 80Mhz or not 
board_build.f_flash= 80000000L

; try different flash data modes
; quad io 
board_build.flash_mode = qio
; *OR*  dout
board_build.flash_mode = dout
; *OR*  qout
board_build.flash_mode = qout
1 Like

Thanks for the reply!,

I found out later that my GRD was at the wrong pin ( after I found another pinout of my ESP, i saw that there was a “! CMD” besides it, as shown here:

( I’m still a beginner so stuff like that happens sometimes :sweat_smile:)

do you know whats the difference between a normal GRD and this one?

Also… how do i access esptool.py ?

I’ve fallen into this trap myself. I thought it was a broken connection. But indeed, it’s wired to the CMD pin of the ESP32-WROOM module.

As far as I can tell, the pin is incorrectly labelled on the board.

1 Like

But then it does make sense after all, since CMD is a pin used for the internal SPI flash (https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32_datasheet_en.pdf)

  • Pins SCK/CLK, SDO/SD0, SDI/SD1, SHD/SD2, SWP/SD3 and SCS/CMD, namely, GPIO6 to GPIO11 are connectedto the integrated SPI flash integrated on the module and are not recommended for other uses.

And if you connect your computer’s GND to that pin while the ESP32 also attempts to drive that, that screws with the control signals of the flash, and you get that result.

1 Like