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

How to Use XIAO ESP32 C3: Examples, Pinouts, and Specs

Image of XIAO ESP32 C3
Cirkit Designer LogoDesign with XIAO ESP32 C3 in Cirkit Designer

Introduction

The XIAO ESP32 C3 is a compact and powerful microcontroller board developed by Seeed Studio, featuring the ESP32-C3 chip. This board is designed for IoT (Internet of Things) applications, offering built-in Wi-Fi and Bluetooth Low Energy (BLE) capabilities. Its small form factor and robust performance make it ideal for projects requiring wireless connectivity, such as smart home devices, wearables, and remote monitoring systems.

Explore Projects Built with XIAO ESP32 C3

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 Based Temperature and Humidity Monitoring System
Image of DHT-11: A project utilizing XIAO ESP32 C3 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
Xiao ESP32 C3 and Adafruit RFM9x LoRa Radio Communication Module
Image of LoRa: A project utilizing XIAO ESP32 C3 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
ESP32C3 and LoRa-Enabled Environmental Sensing Node
Image of temperature_KA: A project utilizing XIAO ESP32 C3 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
Xiao ESP32 C3 and ADS1115-Based Light Intensity Data Logger
Image of Thesis Project: A project utilizing XIAO ESP32 C3 in a practical application
This circuit features a Xiao ESP32 C3 microcontroller interfaced with an Adafruit ADS1115 16-bit ADC via I2C for reading analog signals from a phototransistor. The phototransistor's output is conditioned by a resistor and fed into the ADC, which converts the light intensity into a digital signal. The ESP32 C3 reads the ADC values and outputs the readings to the serial monitor, allowing for light intensity monitoring.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with XIAO ESP32 C3

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 DHT-11: A project utilizing XIAO ESP32 C3 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 LoRa: A project utilizing XIAO ESP32 C3 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 temperature_KA: A project utilizing XIAO ESP32 C3 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 Thesis Project: A project utilizing XIAO ESP32 C3 in a practical application
Xiao ESP32 C3 and ADS1115-Based Light Intensity Data Logger
This circuit features a Xiao ESP32 C3 microcontroller interfaced with an Adafruit ADS1115 16-bit ADC via I2C for reading analog signals from a phototransistor. The phototransistor's output is conditioned by a resistor and fed into the ADC, which converts the light intensity into a digital signal. The ESP32 C3 reads the ADC values and outputs the readings to the serial monitor, allowing for light intensity monitoring.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications and Use Cases

  • IoT devices and smart home automation
  • Wearable electronics
  • Wireless sensor networks
  • Remote data logging and monitoring
  • Prototyping for Wi-Fi and BLE-enabled projects

Technical Specifications

The following table outlines the key technical details of the XIAO ESP32 C3:

Parameter Specification
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), BLE 5.0
Operating Voltage 3.3 V
Input Voltage Range 5 V (via USB-C)
GPIO Pins 11 (including ADC, PWM, I2C, SPI, UART)
ADC Resolution 12-bit
Dimensions 21 x 17.5 mm
USB Interface USB-C
Power Consumption Ultra-low power modes supported

Pin Configuration and Descriptions

The XIAO ESP32 C3 features a total of 11 GPIO pins, which are multifunctional and can be configured for various purposes. Below is the pinout description:

Pin Name Function
1 3V3 3.3V power output
2 GND Ground
3 D0 GPIO0, ADC, UART RX
4 D1 GPIO1, ADC, UART TX
5 D2 GPIO2, ADC, PWM
6 D3 GPIO3, ADC, PWM
7 D4 GPIO4, ADC, PWM
8 D5 GPIO5, ADC, PWM
9 D6 GPIO6, I2C SDA
10 D7 GPIO7, I2C SCL
11 RST Reset pin

Usage Instructions

How to Use the XIAO ESP32 C3 in a Circuit

  1. Powering the Board:

    • Use a USB-C cable to power the board via a 5V USB power source.
    • Alternatively, supply 3.3V directly to the 3V3 pin.
  2. Connecting Peripherals:

    • Use the GPIO pins for interfacing with sensors, actuators, or other devices.
    • Configure the pins as input or output in your code, depending on the application.
  3. Programming the Board:

    • Install the Arduino IDE and add the ESP32 board package.
    • Select "ESP32C3 Dev Module" as the board in the Arduino IDE.
    • Connect the board to your computer via USB-C and upload your code.

Important Considerations and Best Practices

  • Ensure the input voltage does not exceed the specified range to avoid damaging the board.
  • Use level shifters if interfacing with devices operating at different voltage levels.
  • Avoid drawing excessive current from the GPIO pins (maximum 40 mA per pin).
  • Use pull-up or pull-down resistors for stable input signals when required.

Example Code for Arduino UNO Integration

Below is an example of using the XIAO ESP32 C3 to read an analog sensor and send data over Wi-Fi:

#include <WiFi.h> // Include the Wi-Fi library

// Replace with your Wi-Fi credentials
const char* ssid = "Your_SSID";
const char* password = "Your_PASSWORD";

void setup() {
  Serial.begin(115200); // Initialize serial communication
  pinMode(2, INPUT);    // Set GPIO2 (D2) as input for the sensor

  // Connect to Wi-Fi
  Serial.print("Connecting to Wi-Fi");
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("\nConnected to Wi-Fi");
}

void loop() {
  int sensorValue = analogRead(2); // Read analog value from GPIO2
  Serial.print("Sensor Value: ");
  Serial.println(sensorValue);

  delay(1000); // Wait for 1 second before the next reading
}

Troubleshooting and FAQs

Common Issues and Solutions

  1. The board is not detected by the computer:

    • Ensure the USB-C cable is a data cable, not just a charging cable.
    • Check if the correct drivers for the ESP32-C3 are installed on your computer.
  2. Wi-Fi connection fails:

    • Double-check the SSID and password in your code.
    • Ensure the Wi-Fi network is operating on the 2.4 GHz band (not 5 GHz).
  3. 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.

FAQs

Q: Can I power the XIAO ESP32 C3 with a battery?
A: Yes, you can use a 3.7V LiPo battery with a suitable voltage regulator to supply 3.3V to the 3V3 pin.

Q: Does the board support OTA (Over-The-Air) updates?
A: Yes, the ESP32-C3 chip supports OTA updates, which can be implemented in your code.

Q: What is the maximum range of the Wi-Fi and BLE?
A: The range depends on environmental factors, but typically Wi-Fi can reach up to 50 meters indoors and BLE up to 10 meters.

This concludes the documentation for the XIAO ESP32 C3.