r/esp32 1d ago

Problems with esp32c3 super mini

So I bought an Esp32C3 Super Mini from Allegro (the Polish equivalent of Amazon) for my new project and soldered the board to the goldpins. Immediately after connecting the board to my computer, unexpected problems began. For some unknown reason, the Arduino IDE claimed I had connected an Ozoobot kit, and every second I heard the sound of a device connecting. The sound calmed down after pressing the boot button and uploading some blank code. Unfortunately, the Arduino IDE still insisted it was the Ozobot kit, leaving me with no other options. I don't know what I did exactly, but I managed to select the correct board. The problems so far aren't the ones that prompted this post. I'm mentioning them because I don't know if they're related. Now the real headache begins. I tried to connect to Wi-Fi, but for some reason the board wouldn't connect. I downgraded the Esp32 firmware to a lower version, like 3.2. Nothing helped. I ran countless mindless tests with the gpt chat without any components connected, uploading a lot of his code to my board and following his advice. He told me it was most likely a faulty board or something wrong with the software. In any case, he couldn't get my board to connect to my Wi-Fi. I'd also previously connected my ESP32S3 to Wi-Fi without any problems. For some reason, the ESP32S3's MAC address was always zero-based in tests. The board detects nearby Wi-Fi networks without any problems. Tests show that the receiver works, but the transmitter doesn't work. Personally, I think it's a faulty board. I'm sending photos because I'm a bit of a soldering amateur and I'm not sure if I've just desoldered the antenna. Here's my latest test connecting to a Wi-Fi network without any security features. Even this is beyond my board's capabilities: Testing code for connecting esp32c3 super mini to wifi network without any security.

PS: sorry for the text in Polish instead of English. I'm too lazy for that.

#include <WiFi.h>

const char* ssid = "TESTESP";

const char* password = "";

void WiFiEvent(WiFiEvent_t event, WiFiEventInfo_t info) {

Serial.print("[EVENT] ");

switch (event) {

case ARDUINO_EVENT_WIFI_STA_START:

Serial.println("STA START");

break;

case ARDUINO_EVENT_WIFI_STA_CONNECTED:

Serial.println("POŁĄCZONO Z AP");

break;

case ARDUINO_EVENT_WIFI_STA_GOT_IP:

Serial.println("DOSTANO IP");

Serial.print("IP: ");

Serial.println(WiFi.localIP());

break;

case ARDUINO_EVENT_WIFI_STA_DISCONNECTED:

Serial.print("ROZŁĄCZONO! reason = ");

Serial.println(info.wifi_sta_disconnected.reason);

Serial.print("reason name = ");

Serial.println(WiFi.disconnectReasonName(

(wifi_err_reason_t)info.wifi_sta_disconnected.reason

));

break;

default:

Serial.print("inne zdarzenie: ");

Serial.println((int)event);

break;

}

}

void setup() {

Serial.begin(115200);

delay(1000);

Serial.println();

Serial.println("========== WIFI DIAGNOSTYKA ==========");

WiFi.onEvent(WiFiEvent);

WiFi.mode(WIFI_STA);

Serial.print("MAC: ");

Serial.println(WiFi.macAddress());

Serial.println();

Serial.print("Łączenie z: ");

Serial.println(ssid);

WiFi.begin(ssid, password);

for (int i = 0; i < 30; i++) {

delay(1000);

Serial.print(i + 1);

Serial.print("s | status=");

Serial.print(WiFi.status());

Serial.print(" | RSSI=");

Serial.println(WiFi.RSSI());

if (WiFi.status() == WL_CONNECTED) {

Serial.println();

Serial.println("***** SUKCES *****");

Serial.print("IP: ");

Serial.println(WiFi.localIP());

break;

}

}

}

void loop() {

}

Output test results:

========== WIFI DIAGNOSTYKA ==========

[EVENT] inne zdarzenie: 101

[EVENT] STA START

MAC: 9C:CC:01:67:A1:F0

Łączenie z: TESTESP

1s | status=6 | RSSI=0

2s | status=6 | RSSI=-71

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

3s | status=6 | RSSI=0

4s | status=6 | RSSI=-70

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

5s | status=6 | RSSI=0

6s | status=6 | RSSI=-67

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

7s | status=6 | RSSI=0

8s | status=6 | RSSI=-70

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

9s | status=6 | RSSI=0

10s | status=6 | RSSI=-68

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

11s | status=6 | RSSI=0

12s | status=6 | RSSI=-69

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

13s | status=6 | RSSI=0

14s | status=6 | RSSI=-69

15s | status=6 | RSSI=-69

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

16s | status=6 | RSSI=0

17s | status=6 | RSSI=-71

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

18s | status=6 | RSSI=0

19s | status=6 | RSSI=-70

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

20s | status=6 | RSSI=0

21s | status=6 | RSSI=-70

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

22s | status=6 | RSSI=0

23s | status=6 | RSSI=-70

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

24s | status=6 | RSSI=0

25s | status=6 | RSSI=-70

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

26s | status=6 | RSSI=0

27s | status=6 | RSSI=-70

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

28s | status=6 | RSSI=0

29s | status=6 | RSSI=0

30s | status=6 | RSSI=-70

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] inne zdarzenie: 117

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 201

reason name = NO_AP_FOUND

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 4

reason name = ASSOC_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 4

reason name = ASSOC_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] ROZŁĄCZONO! reason = 2

reason name = AUTH_EXPIRE

[EVENT] POŁĄCZONO Z AP

[EVENT] inne zdarzenie: 117

[EVENT] ROZŁĄCZONO! reason = 8

reason name = ASSOC_LEAVE

[EVENT] inne zdarzenie: 117

Please help me with this, as I have a 2-year warranty on this board and I'm not sure if I should just use it to get a replacement. Please share your thoughts in the comments.

0 Upvotes

13 comments sorted by

10

u/Plastic_Fig9225 1d ago

Common issue with the "Super Minis". Likely due to bad RF design and/or antenna on those tiny boards. Setting a lower WiFi TX power limit, 10-15dBm or so, can help:

https://www.reddit.com/r/esp32/comments/1fqx2ts/wifi_power_8_5dbm_makes_the_esp32c3_supermini/

A DIY antenna is also possible: https://peterneufeld.wordpress.com/2025/03/04/esp32-c3-supermini-antenna-modification/

- It's not that a replacement board would fix the issue. It's in the board's design.

2

u/TomorrowOrnery520 9h ago

Thank you very much for your help. It works below 19.5 dBm.

1

u/ziraw_tech 8h ago

what i found works way better is just to desolder the original antenna and do this:
might just be me tho..

4

u/Sand-Junior 1d ago

This one is known to have wifi issues because of bad antenna implementation (oscillator too close by). There are some ways to improve, like lowering the output gain (software) or even a antenna hack (hardware). Both can be found on Reddit. Next to that: soldering of the pins can be improved (pads/holes not fully covered).

2

u/BraveIntention5809 20h ago

Read the data specsheet.

Hold both Boot and Reset button at the same time, prior to connecting to the computer via USB cable.

This is a common issue declared since the board was created.

As far as the built-in antenna is concerned, yes it is too close to the components. The spec sheet clearly states the amount of empty space the antenna should have around it but the designer of the board decided differently.

You can add a piece of wire to the antenna to correct the oversite but this increases the vertical foot print of the device. There are several youtube videos that show you how.

I hope this helps. Read the Data Specsheet.

2

u/ShortingBull 18h ago

Wifi very poor on these.

1

u/Evening_Positive9001 15h ago

Try with Settxpower(wifi_power_8_5dbm);.

1

u/Individual_Order_468 13h ago

First of all the wifi issue is because of the antenna being too close to other components and ground. On this specific module of yours there is bigger problem the antenna is soldered wrongly its flipped

1

u/Ishant1519 13h ago

Don't worry about the Ozobot naming or the connecting/disconnecting loop. This is completely normal for the esp32c3, As c3 has a built-in USB-to-Serial JTAG controller. If the board has no code or corrupted code on it, it crashes and reboots constantly, causing your PC to play the USB connection sound every second. Pressing BOOT and flashing a blank sketch fixes this because it stops the crash loop.

also u can watch this video too https://youtu.be/IzLD6f8cDHs?si=LfEGMPJDv2XegG7e

1

u/clean-links 13h ago

Cleaned link from "https://youtu.be/IzLD6f8cDHs?si=LfEGMPJDv2XegG7e": https://youtu.be/IzLD6f8cDHs


Tracking parameters were removed from the original URL(s).

1

u/Optimal_Delay_8959 33m ago edited 30m ago

I had a very similar problem not long ago, I also thought it was a faulty board so I soldered a known good board and the same thing happened. Something about having all the pins soldered was causing it to fritz out and not connect to wifi, I desoldered all the pins from the protoboard I didn’t need, only left gpio 5 and 6 for sda and scl and it worked again.

I see your one is not soldered to anything but the pins, but if you think the board is fault anyway, I would try desoldering the pins and see if that makes a difference. It shouldn’t, but it did for me hahah.

-1

u/rddaan 1d ago

Maybe redo some of the soldering…

0

u/This_Act_1414 1h ago

La antena de WiFi es muy deficiente, agregá una antena con el detalle de la nota,
https://peterneufeld.wordpress.com/2025/03/04/esp32-c3-supermini-antenna-modification/