Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use XIAO ESP32C3: Examples, Pinouts, and Specs

Image of XIAO ESP32C3
Cirkit Designer LogoDesign with XIAO ESP32C3 in Cirkit Designer

Introduction

The XIAO ESP32C3 is a compact and powerful microcontroller board developed by Seeed Studio. It is based on the ESP32-C3 chip, which features integrated Wi-Fi and Bluetooth Low Energy (BLE) capabilities. This board is designed for IoT (Internet of Things) applications, offering a small form factor, low power consumption, and robust wireless connectivity. Its versatility makes it suitable for a wide range of projects, including smart home devices, wearable electronics, and wireless sensor networks.

Explore Projects Built with XIAO ESP32C3

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Xiao ESP32 C3 and Adafruit RFM9x LoRa Radio Communication Module
Image of LoRa: A project utilizing XIAO ESP32C3 in a practical application
This circuit connects a Xiao ESP32 C3 microcontroller to an Adafruit RFM9x LoRa Radio module. The ESP32 C3 provides power to the LoRa module and interfaces with it using SPI communication (SCK, MISO, MOSI, CS) and control lines (RST, DIO0). This setup is likely intended for wireless communication using LoRa technology, with the ESP32 handling data processing and network protocol tasks.
Cirkit Designer LogoOpen Project in Cirkit Designer
Xiao ESP32 C3 Based Temperature and Humidity Monitoring System
Image of DHT-11: A project utilizing XIAO ESP32C3 in a practical application
This circuit features a Xiao ESP32 C3 microcontroller connected to a DHT11 Humidity and Temperature Sensor. The ESP32 C3 provides power to the DHT11 sensor through its VUSB pin and receives data from the sensor's DATA pin via the ESP32's D2 pin. The circuit is designed to measure environmental temperature and humidity, with the microcontroller processing and potentially communicating the sensor data.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32C3 and LoRa-Enabled Environmental Sensing Node
Image of temperature_KA: A project utilizing XIAO ESP32C3 in a practical application
This circuit features an ESP32C3 Supermini microcontroller connected to a LORA_RA02 module and a DHT11 temperature and humidity sensor. The ESP32C3 handles communication with the LORA module via SPI (using GPIO05, GPIO06, GPIO10, and GPIO04 for MISO, MOSI, NSS, and SCK respectively) and GPIO01 and GPIO02 for additional control signals. The DHT11 sensor is interfaced through GPIO03 for data reading, and all components share a common power supply through the 3.3V and GND pins.
Cirkit Designer LogoOpen Project in Cirkit Designer
Wi-Fi Controlled Transistor Array with XIAO ESP32C3
Image of resisto: A project utilizing XIAO ESP32C3 in a practical application
This circuit features an XIAO ESP32C3 microcontroller interfaced with multiple PNP transistors and resistors to control various outputs. The microcontroller's GPIO pins are connected to the bases of the transistors through resistors, allowing it to switch the transistors on and off, while capacitors are used for filtering and stabilization.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with XIAO ESP32C3

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of LoRa: A project utilizing XIAO ESP32C3 in a practical application
Xiao ESP32 C3 and Adafruit RFM9x LoRa Radio Communication Module
This circuit connects a Xiao ESP32 C3 microcontroller to an Adafruit RFM9x LoRa Radio module. The ESP32 C3 provides power to the LoRa module and interfaces with it using SPI communication (SCK, MISO, MOSI, CS) and control lines (RST, DIO0). This setup is likely intended for wireless communication using LoRa technology, with the ESP32 handling data processing and network protocol tasks.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of DHT-11: A project utilizing XIAO ESP32C3 in a practical application
Xiao ESP32 C3 Based Temperature and Humidity Monitoring System
This circuit features a Xiao ESP32 C3 microcontroller connected to a DHT11 Humidity and Temperature Sensor. The ESP32 C3 provides power to the DHT11 sensor through its VUSB pin and receives data from the sensor's DATA pin via the ESP32's D2 pin. The circuit is designed to measure environmental temperature and humidity, with the microcontroller processing and potentially communicating the sensor data.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of temperature_KA: A project utilizing XIAO ESP32C3 in a practical application
ESP32C3 and LoRa-Enabled Environmental Sensing Node
This circuit features an ESP32C3 Supermini microcontroller connected to a LORA_RA02 module and a DHT11 temperature and humidity sensor. The ESP32C3 handles communication with the LORA module via SPI (using GPIO05, GPIO06, GPIO10, and GPIO04 for MISO, MOSI, NSS, and SCK respectively) and GPIO01 and GPIO02 for additional control signals. The DHT11 sensor is interfaced through GPIO03 for data reading, and all components share a common power supply through the 3.3V and GND pins.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of resisto: A project utilizing XIAO ESP32C3 in a practical application
Wi-Fi Controlled Transistor Array with XIAO ESP32C3
This circuit features an XIAO ESP32C3 microcontroller interfaced with multiple PNP transistors and resistors to control various outputs. The microcontroller's GPIO pins are connected to the bases of the transistors through resistors, allowing it to switch the transistors on and off, while capacitors are used for filtering and stabilization.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications and Use Cases

  • IoT devices and smart home automation
  • Wearable technology
  • Wireless data logging and monitoring
  • Remote control systems
  • Prototyping for Wi-Fi and BLE-enabled projects

Technical Specifications

The following table outlines the key technical specifications of the XIAO ESP32C3:

Specification Details
Microcontroller ESP32-C3 RISC-V single-core processor
Clock Speed Up to 160 MHz
Flash Memory 4 MB
SRAM 400 KB
Wireless Connectivity Wi-Fi 802.11 b/g/n (2.4 GHz), Bluetooth 5.0 BLE
Operating Voltage 3.3V
Input Voltage Range 5V (via USB-C)
GPIO Pins 11 (including ADC, PWM, I2C, SPI, UART)
USB Interface USB-C (supports programming and power supply)
Dimensions 21 x 17.5 mm
Power Consumption Ultra-low power consumption in deep sleep mode (as low as 44 µA)
Operating Temperature -40°C to 85°C

Pin Configuration and Descriptions

The XIAO ESP32C3 features 11 GPIO pins with multiple functionalities. The pinout is as follows:

Pin Name Function(s) Description
1 3V3 Power 3.3V power output
2 GND Ground Ground connection
3 D0 GPIO0, ADC, UART RX General-purpose I/O, analog input, UART receive
4 D1 GPIO1, ADC, UART TX General-purpose I/O, analog input, UART transmit
5 D2 GPIO2, PWM, I2C SDA General-purpose I/O, PWM, I2C data line
6 D3 GPIO3, PWM, I2C SCL General-purpose I/O, PWM, I2C clock line
7 D4 GPIO4, SPI CS General-purpose I/O, SPI chip select
8 D5 GPIO5, SPI CLK General-purpose I/O, SPI clock
9 D6 GPIO6, SPI MOSI General-purpose I/O, SPI master out/slave in
10 D7 GPIO7, SPI MISO General-purpose I/O, SPI master in/slave out
11 RST Reset Resets the microcontroller

Usage Instructions

How to Use the XIAO ESP32C3 in a Circuit

  1. Powering the Board:

    • Connect the XIAO ESP32C3 to your computer or power source using a USB-C cable. The board operates at 3.3V internally but accepts 5V input via USB.
  2. Programming the Board:

    • The XIAO ESP32C3 is compatible with the Arduino IDE, PlatformIO, and ESP-IDF. Install the necessary board support package (BSP) for ESP32-C3 in your chosen development environment.
  3. Connecting Peripherals:

    • Use the GPIO pins to connect sensors, actuators, or other peripherals. Ensure that the voltage levels of connected devices are compatible with the 3.3V logic of the XIAO ESP32C3.
  4. Uploading Code:

    • Write your code in the Arduino IDE or another supported environment. Select the correct board and port, then upload the code to the XIAO ESP32C3.

Important Considerations and Best Practices

  • Voltage Levels: Ensure that all connected peripherals operate at 3.3V logic levels to avoid damaging the board.
  • Deep Sleep Mode: Use the deep sleep mode to minimize power consumption in battery-powered applications.
  • Pin Multiplexing: Many pins have multiple functions (e.g., GPIO, ADC, UART). Configure the pins appropriately in your code to avoid conflicts.
  • Antenna Placement: Avoid placing metal objects near the onboard antenna to ensure optimal Wi-Fi and Bluetooth performance.

Example Code for Arduino IDE

The following example demonstrates how to blink an LED connected to GPIO2 (D2):

// Define the pin for the LED
const int ledPin = 2; // GPIO2 (D2) on the XIAO ESP32C3

void setup() {
  // Initialize the LED pin as an output
  pinMode(ledPin, OUTPUT);
}

void loop() {
  // Turn the LED on
  digitalWrite(ledPin, HIGH);
  delay(1000); // Wait for 1 second

  // Turn the LED off
  digitalWrite(ledPin, LOW);
  delay(1000); // Wait for 1 second
}

Troubleshooting and FAQs

Common Issues and Solutions

  1. The board is not detected by the computer:

    • Ensure that the USB-C cable supports data transfer (not just charging).
    • Check if the correct drivers for the XIAO ESP32C3 are installed on your computer.
  2. Code upload fails:

    • Verify that the correct board and port are selected in the Arduino IDE.
    • Press and hold the reset button while uploading the code to enter bootloader mode.
  3. Wi-Fi or Bluetooth is not working:

    • Ensure that the onboard antenna is not obstructed by metal objects.
    • Check your code for proper initialization of Wi-Fi or Bluetooth modules.
  4. Peripherals are not responding:

    • Double-check the wiring and ensure that the peripherals are compatible with 3.3V logic.
    • Verify that the correct GPIO pins are used in your code.

FAQs

Q: Can I power the XIAO ESP32C3 with a battery?
A: Yes, you can power the board using a 3.7V LiPo battery connected to the 3V3 and GND pins. Ensure proper voltage regulation.

Q: Is the XIAO ESP32C3 compatible with Arduino libraries?
A: Yes, the XIAO ESP32C3 is compatible with most Arduino libraries, especially those designed for ESP32-based boards.

Q: How do I reset the board?
A: Press the reset button (RST) on the board to restart the microcontroller.

Q: Can I use the XIAO ESP32C3 for machine learning applications?
A: Yes, the ESP32-C3 chip supports lightweight machine learning models, making it suitable for edge AI applications.