1

I recently bought an esp32c3 supermini as they look really neat and small with slightly better specs over an esp8266. I used the arduino framework to be able to program the board, and installing the esp32 board definitions i can upload code to it successfully. Uploading blink works a charm (after updating the global defines for it to point at the right io for the LED_BUILTIN). Also using another sketch which exposes an access point and web page works.

However, when trying to monitor the board using Serial, I cant get any serial comms out of the device, in fact once I've flashed the device, it no longer comes up as a com port, the device comes up as an 'unrecognised usb device'.

Ive followed this guide but it didnt help. Specifically the part about setting the rts and dtr pins, and the programming speed to 115200. Ive stripped back some code to being as simple as it can be to print something to serial but it is still not coming through to the arduino monitor or to a putty serial terminal:

void setup()
{
    Serial.begin(115200);
}

void loop()
{
    Serial.println("hi");
    delay(1000);
}

Supplied schematic for the board: Schematic of esp32-c3 supermini Has anyone else experienced the same issue? any known fixes for this issue?

5
  • 4
    The supermini is probably using the USB JTAG interface, what is your Arduino IDE configuration? Tools->USB CDC On Boot: "Enabled", Tools->JTAG Adaptor: "Integrated USB TAG" Commented Sep 20, 2023 at 14:48
  • 1
    The ESP32-C3-12F that you linked to uses UART port via a USB-UART chip instead of using the native ESP32-C3 USB port, so the configuration is different. Commented Sep 20, 2023 at 14:56
  • I have just updated the question with the schematic supplied for my board. I cant see any usb-uart interfaces, and looks as though the usb lines are direct to the usb c port. I have tried switching the USB CDC setting between enabled and disabled, with no joy. Ill have a look at the jtag adapter setting when i get home. Commented Sep 21, 2023 at 0:16
  • 1
    GPIO21 (U0TXD in your schematic) and GPIO20 (U0RXD) is the UART interface (which the 12F design is using), GPIO18 and GPIO19 provided a native USB interface and is JTAG capable. Depend on the board you select from the IDE, the settings that I provided is when "ESP32-C3 Dev Module" is selected as the board. Commented Sep 21, 2023 at 0:20
  • Update: I installed the correct driver for the usb serial/jtag interface and now i can consistently program and it stays as an available com port. Still no luck with serial though. I must have some configuration issue somewhere Commented Sep 21, 2023 at 23:54

5 Answers 5

1

I used the suggestion presented in a comment by @hcheung and this worked fine for my supermini so I am adding it as an answer because it does not appear to have got any attention.

The supermini is probably using the USB JTAG interface, what is your Arduino IDE configuration? Tools->USB CDC On Boot: "Enabled", Tools->JTAG Adaptor: "Integrated USB TAG" – hcheung Sep 20, 2023 at 14:48

Edit

After a long debugging session with an ESP32-C3 Supermini, I have the following additional suggestions / information:

  1. Select this board in the IDE: ESP32C3 dev module
  2. This should be enabled in the IDE: USB CDC On Boot: "Enabled", however, the JTAG adapter should remain disabled.
  3. Serial.setTxTimeoutMs(0) may help if no serial monitor is active. See: https://github.com/espressif/arduino-esp32/pull/7583 . This can be used only if USB CDC On Boot is enabled.
  4. Using Serial.flush may cause the application to hang. See: https://github.com/espressif/arduino-esp32/issues/9172

Arduino IDE Tools menu

Sign up to request clarification or add additional context in comments.

Comments

0

After starting from a fresh install the serial monitor works just fine. I'm not sure which configuration option caused my issues but it had to be one of them. Thank you for the assistance

Comments

0

To get the Serial Monitor working with "ESP32 C3 SuperMini" do the following:-

On the Arduino IDE got "Tools", and change the default Upload Speed from "921600" to "115200".

The Serial Monitor will then work. Happy Monitoring.....

Comments

0

1. My ESP32 Super Mini accepts sketch from PC, but it does not communicate with Serial Monitor (Bd = 9600) though the onBoard LED (at GPIO8) blinks. Board: "ESP32C3 Dev Module" USB CDC on Boat: "Enabled" Port: "COM13 (ESP32S3 Dev Module)"

Sketch:

#define LED_BUILTIN 8

void setup() 
{
  Serial.begin(9600);
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() 
{
  digitalWrite(LED_BUILTIN, HIGH); // LED on (HIGH is the voltage level)
  delay(1000);                     // wait for a second
  digitalWrite(LED_BUILTIN, LOW);  // LED off by making the voltage LOW
  delay(1000);    
  Serial.println("Hello");
}

2. The following setup solved the problem. Board: "LOLIN C3 Mini" USB CDC on Boat: "Enabled" Port: "COM13 (ESP32S3 Dev Module)" Bd = 9600

Comments

0

After a long time triying to fix this, this worked for me as per the comment from @hcheung:

From the Arduino IDE menus, set:

Tools > USB CDC On Boot > Enabled
Tools > JTAG Adaptor > Integrated USB TAG

Restart the Arduino IDE

Worked fine for me after that.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.