Welcome to the comprehensive guide for the ESP32-C3 Super Mini board. This repository includes everything you need to get started and work with the ESP32-C3 Super Mini.
- Introduction
- Board Specifications
- Pinout Diagram and Details
- Getting Started
- Supported Interfaces
- Example Projects
- Troubleshooting
- References
- License
The ESP32-C3 Super Mini is a compact and versatile development board powered by the ESP32-C3 microcontroller. It offers robust Wi-Fi and Bluetooth Low Energy (BLE) connectivity, making it ideal for IoT, smart devices, and wireless sensor networks.
Key features include:
- Compact form factor with excellent GPIO access.
- RISC-V single-core processor for efficient performance.
- Comprehensive Wi-Fi and BLE 5.0 capabilities.
This guide will walk you through its setup, pinout, and how to create projects using the Arduino IDE.
Feature | Details |
---|---|
Microcontroller | ESP32-C3 FN4 (RISC-V single-core processor @160 MHz) |
Connectivity | Wi-Fi (2.4 GHz 802.11 b/g/n), BLE 5.0 |
GPIO Pins | 10 Digital I/O, 2 Analog inputs |
ADC | 6 channels of 12-bit SAR ADC |
Flash Memory | 4MB |
Power Supply | 5V via USB-C, onboard 3.3V regulator |
Operating Voltage | 3.3V |
Dimensions | Ultra-compact, ideal for space-constrained applications |
Pin Name | GPIO | Function |
---|---|---|
0 | GPIO0 | ADC1, PWM |
1 | GPIO1 | ADC1, PWM |
2 | GPIO2 | ADC1, Strapping Pin (Boot Mode) |
3 | GPIO3 | ADC1, PWM |
4 | GPIO4 | JTAG, ADC1 |
5 | GPIO5 | JTAG |
8 | GPIO8 | Status LED (inverted), Strapping Pin |
9 | GPIO9 | BOOT Button, Strapping Pin |
10 | GPIO10 | PWM |
20 | GPIO20 | General-purpose I/O |
21 | GPIO21 | General-purpose I/O |
- GPIO8: Connected to an inverted blue status LED.
- GPIO9: Connected to the BOOT button.
- JTAG Support: GPIO4–GPIO7 pins are reserved for debugging.
To get started with the ESP32-C3 Super Mini, you’ll need:
- ESP32-C3 Super Mini board
- Computer (Windows, macOS, or Linux)
- USB Type-C data cable (ensure it supports data transfer, not just power)
- Download the latest Arduino IDE from the official website.
- Follow the installation instructions for your operating system.
- For boards with CP210x or CH340 USB-to-UART bridge chips, install the respective drivers:
- Open the Arduino IDE and go to File > Preferences.
- In the "Additional Board Manager URLs" field, add:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
- Click OK to save your preferences.
- Go to Tools > Board > Boards Manager, search for "ESP32," and install the ESP32 by Espressif Systems package.
-
Connect your ESP32-C3 Super Mini to the computer.
-
Go to Tools > Port and select the corresponding serial port for your device. This will usually be COM3 or higher on Windows, and
/dev/ttyUSBx
or/dev/ttyACMx
on Linux/macOS.Optional: Enable USB CDC on Boot If you are experiencing issues with serial communication or your device is not being recognized correctly after a reset, you can enable the "USB CDC on Boot" option:
- Go to Tools > USB CDC on Boot.
- Select Enabled.
Note: Enabling "USB CDC on Boot" allows the USB connection to remain active during boot, which can help resolve issues where the serial port is not detected after the ESP32-C3 restarts.
- Open a new sketch in the Arduino IDE.
- Add a simple example like the Blink sketch (Blink Project).
- Click Upload to send the sketch to your ESP32-C3.
If everything is set up correctly, the LED on the ESP32-C3 should start blinking, indicating that the upload was successful.
The ESP32-C3 Super Mini supports a wide range of peripherals:
Interface | Description |
---|---|
Wi-Fi | 2.4 GHz b/g/n, WPA3 |
Bluetooth | BLE 5.0, long range |
UART | 2 interfaces |
SPI | 3 interfaces (SPI0, SPI1 reserved) |
I²C | Configurable on GPIO pins |
I²S | 1 interface (Full-duplex audio support) |
PWM | Up to 6 channels |
ADC | 6 channels, 12-bit resolution |
JTAG | Debugging via GPIO4–GPIO7 |
A basic example to blink an LED.
- Guide: Blink Project
- Code: blink.ino
Read temperature and humidity using DHT11/DHT22.
To read temperature and humidity data from a DHT11/DHT22 sensor and display these values on a web server.
- Guide: Read DHT11/DHT22 - Display Values Using Web Server
- Code: ESP32_C3_Super_Mini_with_DHT11_webServer.ino
-
Serial Port Not Detected:
- Ensure you’re using a data-capable USB cable.
- Reconnect the board and restart the Arduino IDE.
-
Sketch Upload Fails:
- Press and hold the BOOT button during upload.
- Verify correct board and port settings.
-
LED Not Blinking:
- Double-check the GPIO pin definitions in your sketch.
-
Use Serial Monitor:
- After uploading a sketch, open the Serial Monitor (
Tools > Serial Monitor
) to view any output. Make sure the baud rate is set to 115200 to match theSerial.begin(115200);
statement in your code.
Further Resources: ESP32 Troubleshooting Guide
- After uploading a sketch, open the Serial Monitor (
Contributions are welcome! Please fork this repository and submit a pull request with your improvements. Follow the contributing guidelines.
This project is licensed under the MIT License - see the LICENSE file for details.