I recently purchased 2 ESP32 S3 zero’s from Core Elecronics and whilst I can upload sketches to them and they work, there is no serial communication from them. I’ve done lots of google searching and the suggestions made don’t help.
I’m really hoping that you might have an answer for me.
What IDE are you using?
There should be an option for the USB CDC setting. What do you have it set at?
On one of my esp32 S3 mini projects, I was using the IDF and the onboard USB for HID - Keyboard/Mouse.
I note in the pinout UART0 TX/RX pins are wired to TX/RX as per image.
That is UART level, not RS232 levels. I verified that and the default debug seems to be getting sent out the TX pin. (I put that into a UART to RS232 board and connected to a terminal it it was the default debug output.
I’m using Arduino IDE 2.3.6
The USB CDC on Boot: “Disabled”
OK. For the Arduino IDE you can simply switch it to “Enabled”. You may have to force upload mode the first time with the new setting (by holding Boot while pressing Reset then releasing boot).
Thankyou. I’ll try that and let you know.
I changed that setting to ‘enabled’ as suggested, uploaded the sketch and got this in the serial monitor.
E (183) rmt(legacy): CONFLICT! driver_ng is not allowed to be usE (187) rmt(legacy): CONFLICT! driver_ng is not allowed to be used with the legacy driver
abort() was called at PC 0x42018577 on core 0
Backtrace: 0x40376995:0x3fceb1e0 0x4037e5fd:0x3fceb200 0x40385039:0x3fceb220 0x42018577:0x3fceb2a0 0x4200d142:0x3fceb2c0 0x40376d56:0x3fceb2f0 0x403ccbd5:0x3fceb340 0x403ccf91:0x3fceb380 0x403c8925:0x3fceb4b0 0x40045c01:0x3fceb570 0x40043ab6:0x3fceb6f0 0x40034c45:0x3fceb710
and the S3 continually rebooted.
Do any of the other settings need to be changed?
Perhaps the driver needs to be changed.
I’m using the ESP32S3 dev module from the boards menu.
If the sketch uploaded then this message is not associated with the uploading. However it seems it is associated with the serial port. Can you upload and run a sketch that does not initialise or use the serial port, such as the example Blink?
I uploaded BlinkWithoutDelay.ino and the device doesn’t continually reboot but got this message…
E (184) rmt(legacy): CONFLICT! driver_ng is not allowed to be usx3fceb710
You are correct that it seems to be a serial port issue. I would like to use the serial port so I hope the problem is resolvable.
I really appreciate you taking the time to respond to my issue.
There is discussion here:
Legacy driver conflict detection mechanisms are too aggressive. · espressif/arduino-esp32 · Discussion #11096
but it’s not very helpful. It is a versioning problem in the Espressif software that the Arduino IDE uses to compile code for the ESP-32 series of MCU. If your code doesn’t use the applicable drivers then you will get the warning, but the code will compile and run. If the code refers to the drivers (whether it uses them or not) then the MCU may reboot. Serial I/O, I2C and ISP are affected.
The only suggestion I can offer is to make sure that your board definitions and libraries are completely up to date. You could try by deleting the board definitions for all the ESP series, and reloading them, but that is not mentioned anywhere as a fix. The last comment in the discussion implies that a fix for the IDE is in the works, but I can’t find any detail. I also don’t know why it affects some users and not others - I have compiled for S3 and C3 using the Arduino IDE and have never seen the warning. I just uploaded blink to a ESP32-C3 Mini Dev Board and it ran without warnings. I have no idea why the problem should affect some people and not others, but I will keep looking..