Skip to content
EESP32S Wiki
Documentation/ESP32-C3 Supermini: Arduino Setup, USB & Wi-Fi Test
PRODUCT DOCUMENTATION

ESP32-C3 Supermini: Arduino Setup, USB & Wi-Fi Test

Program the ESP32-C3 Supermini, verify USB serial output, scan Wi-Fi and recover a board that will not upload.

Updated Oct 21, 2026 · View product ↗
On this pageIdentify the ESP32-C3 SuperminiConnect USB and install Arduino supportChoose the C3 board settingsUpload the first programRun a Wi-Fi scanRecover a board that will not uploadConnect a sensor and avoid pin conflictsTroubleshooting checklistReferences and next stepsRelated products
ESP32-C3 Supermini Development Board — product reference photo
Product reference photo. Confirm the markings, fitted components and revision of your own hardware.

Start with a known USB data cable and the board on its own. Keep a note of your exact product variant, Arduino-ESP32 package version and Tools settings so the setup can be reproduced.

Identify the ESP32-C3 Supermini

This guide covers the ESP32-C3 Supermini product and the related C3 SuperMini listing linked below. Header soldering and PCB details can vary. Confirm the chip marking says ESP32-C3; an ESP32-S3 Supermini or C6 Supermini needs a different board target. Only the GPIOs physically exposed on your PCB are available at its headers.

Connect USB and install Arduino support

  1. Disconnect sensors and jumper wires for the first upload. Connect the board directly to your computer with a data-capable USB-C cable.
  2. Install Arduino IDE 2 and the stable esp32 by Espressif Systems package using our Arduino setup guide.
  3. Compare the port list with the board unplugged and plugged in. Select the port belonging to this board.

Common Supermini boards connect USB directly to the chip. If your revision instead has a USB-to-UART bridge, identify that bridge before choosing a driver or USB settings. A USB-C connector alone does not identify the USB interface.

Choose the C3 board settings

Arduino option Starting point
Board Matching manufacturer profile, or ESP32C3 Dev Module
USB CDC On Boot Enabled when using the chip's native USB connector for Serial
Flash size The linked C3 listings specify 4 MB; confirm your actual variant
Other settings Keep profile defaults for the first serial test
Serial Monitor 115200 baud

Select a C3 target even if the port appears as an unknown device. Do not copy PSRAM settings from an ESP32-S3 tutorial.

Upload the first program

Create a new sketch, paste this program, click Verify and then Upload. Reopen the port if it changes after flashing, open Serial Monitor and press Reset once. A repeating uptime line is the success check; an onboard LED is not required.

#include <Arduino.h>

void setup() {
  Serial.begin(115200);
  const unsigned long started = millis();
  while (!Serial && millis() - started < 3000) delay(10);
  Serial.printf("Chip: %s\n", ESP.getChipModel());
  Serial.printf("Flash detected: %lu bytes\n",
                (unsigned long)ESP.getFlashChipSize());
}

void loop() {
  Serial.printf("Running: %lu seconds\n", millis() / 1000UL);
  delay(1000);
}

The detected flash size is useful when checking your selected flash setting. This test checks the processor, upload path and serial output; it does not measure battery consumption or verify external peripherals.

Run a Wi-Fi scan

Replace the sketch with this example. It scans nearby 2.4 GHz networks without needing a network password. The output lists network names and received signal levels; a more negative dBm value indicates a weaker received signal.

#include <Arduino.h>
#include <WiFi.h>

void setup() {
  Serial.begin(115200);
  const unsigned long started = millis();
  while (!Serial && millis() - started < 3000) delay(10);
  WiFi.mode(WIFI_STA);
  WiFi.disconnect();
  delay(200);
}

void loop() {
  const int count = WiFi.scanNetworks();
  if (count < 0) {
    Serial.println("Scan failed; reset and check board settings.");
  } else {
    Serial.printf("Networks found: %d\n", count);
    for (int i = 0; i < count; ++i) {
      Serial.printf("%s : %d dBm\n",
                    WiFi.SSID(i).c_str(), (int)WiFi.RSSI(i));
    }
  }
  WiFi.scanDelete();
  delay(10000);
}

Recover a board that will not upload

  1. Close Serial Monitor and other programs using the port.
  2. Hold BOOT, press and release Reset, then release BOOT.
  3. Check the port list again and select the download-mode port.
  4. Upload the serial test. After it finishes, press Reset without holding BOOT.

On C3 boards, BOOT normally controls GPIO9. Keep external wiring off boot-strapping pins during recovery. If no Reset button is present, follow the revision's power-on/BOOT procedure.

Connect a sensor and avoid pin conflicts

Use GPIO numbers from the PCB's own pinout, not the physical header position. ESP32 signals use 3.3 V logic. Leave GPIO18/19 available when the board uses native USB. Check boot-strapping pins before connecting circuits that pull a signal high or low.

For a first practical project, continue with our SHT40 / SHT41 / SHT45 wiring and temperature-reading guide. Its example explicitly selects SDA and SCL in code.

Troubleshooting checklist

Symptom What to check
No port Data cable, USB socket and download mode; a power LED only confirms some power is present.
Upload completes, Serial is blank USB CDC On Boot, current port, monitor speed, and Reset after opening the monitor.
Wrong chip message Choose ESP32C3 Dev Module or the correct C3-specific profile.
No networks found Retry close to a 2.4 GHz access point and check power and antenna clearance.
LED does not blink LED pin, polarity and type vary by revision. Use the serial test to establish basic operation first.

References and next steps

Need help? Send the product link, board photographs, package version, selected Tools options and complete error output to ESP32S support.

Need help with your board?

Share the product link, hardware revision, software version and any error messages.

Contact ESP32S support →
Shop
Sidebar
Wishlist
0 items Cart
My account
Rates by ExchangeRate-API