ESP32 C£ SuperMini displaying error messages when uploading a sketch

Hi,
even if i'm a newbie, before asking the forum for my problem I tried to search for relevant links and discussions concerning this kind of board that in Arduino IDE is called Nologo ESP32C3 Super Mini or MakerGO ESP32 C3 SuperMini.
I bought three of these boards from two different vendors and all of them show the same behaviour.
When connected through USB even a very simple sketch such as blink or printing some text to be read on the serial monitor gives, after the uploading, error messages that sometimes is:

A serial exception error occurred: Cannot configure port, something went wrong. `OSError(22, "I/O operation terminated due to thread exit or application request.", None, 995)`)
Note: This error originates from pySerial. It is likely not a problem with esptool, but with the hardware connection or drivers.
Failed uploading: uploading error: exit status 1

or the following message

A serial exception error occurred: Cannot configure port, something went wrong. Original message: PermissionError(13, 'A device connected to the system is not working.', None, 31)

I tried the following steps:

  • tried several USB cables
  • tried different ports (both 3.0 and 2.0)
  • in Board Configuration in Arduino IDE Tools enabled "USB CDC on Boot" and "Erase All Flash before Sketch Upload"
  • I tried different upload speeds.

The strange fact is that the sketches (blink and printing some text to be read in serial monitor) work fine while if I try to connect a display (I used a round TFT 240x240 with GC98A01 driver) at the first I was able to display text in different colors by using Adafruit_GC98A01A library ( but TT-eSPI was not working even when I downgraded the ESP core to 2.0.14 version), then stopped working.

Also puzzling for me is the message during uploading the sketches that seems to indicate that everything is fine. For example:

Sketch uses 301446 bytes (22%) of program storage space. Maximum is 1310720 bytes.
Global variables use 12960 bytes (3%) of dynamic memory, leaving 314720 bytes for local variables. Maximum is 327680 bytes.
esptool.py v4.8.1
Serial port COM7
Connecting...
Chip is ESP32-C3 (QFN32) (revision v0.4)
Features: WiFi, BLE, Embedded Flash 4MB (XMC)
Crystal is 40MHz
MAC: 94:a9:90:48:0f:b0
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Erasing flash (this may take a while)...
Chip erase completed successfully in 14.5 seconds.
Compressed 19520 bytes to 12595...
Writing at 0x00000000... (100 %)
Wrote 19520 bytes (12595 compressed) at 0x00000000 in 0.3 seconds (effective 490.9 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 146...
Writing at 0x00008000... (100 %)
Wrote 3072 bytes (146 compressed) at 0x00008000 in 0.1 seconds (effective 246.2 kbit/s)...
Hash of data verified.
Compressed 8192 bytes to 47...
Writing at 0x0000e000... (100 %)
Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.1 seconds (effective 487.7 kbit/s)...
Hash of data verified.
Compressed 302160 bytes to 165380...
Writing at 0x00010000... (9 %)
Writing at 0x0001bc90... (18 %)
Writing at 0x000243a7... (27 %)
Writing at 0x0002a3eb... (36 %)
Writing at 0x00030af4... (45 %)
Writing at 0x00037665... (54 %)
Writing at 0x0003daa4... (63 %)
Writing at 0x000440ed... (72 %)
Writing at 0x0004a399... (81 %)
Writing at 0x00050a0d... (90 %)
Writing at 0x00059484... (100 %)
Wrote 302160 bytes (165380 compressed) at 0x00010000 in 2.5 seconds (effective 983.3 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting with RTC WDT...

Since I'm completely out of ideas I'd be very grateful if some good Samaritan could help me showing where I'm making mistakes: I'm a newbie, but, alas, I'm also old -75- so be patient. By the way when I flashed one of these boards with Micropython I was able to create a datalogger with BME280 and RTC DS3231.
Thanks in advance for your help

How about trying this library: GitHub - DIYables/DIYables_TFT_Round
It is has a lot of tutorials and examples. The below is one:

Do I understand it correctly that you tried to connect something while your board was running the sketch? If so, never do that unless you know what you’re doing. If you use the wrong sequence it can kill your board or whatever you’re trying to connect