Stufin
Home Quick Cart Profile

Seeeduino XIAO compatible with Arduino

Buy Now on Stufin

Component Name

Seeeduino XIAO

Overview

The Seeeduino XIAO is a compact, high-performance microcontroller board compatible with Arduino, designed for IoT and robotics applications. This tiny board packs a punch, offering a range of features and capabilities that make it an ideal choice for prototyping, development, and production.

Functionality

The Seeeduino XIAO is a microcontroller board that can be used to develop a wide range of projects, from simple robots and IoT devices to complex automation systems. It is based on the Microchip SAMD21G18A microcontroller, which provides a high degree of flexibility and customizability.

The board can be programmed using the Arduino Integrated Development Environment (IDE), making it easy for developers to get started with their projects quickly. The Seeeduino XIAO supports a variety of programming languages, including C, C++, and Python.

Key Features

  • Microcontroller: Microchip SAMD21G18A, 32-bit ARM Cortex-M0+ processor
  • Clock Speed: 48 MHz
  • Flash Memory: 256 KB
  • SRAM: 32 KB
  • EEPROM: 4 KB
  • Operating Voltage: 3.3V
  • Input/Output Pins: 14 digital I/O pins, 5 analog input pins, 1 I2C, 1 SPI, 1 UART
  • Communication Protocols: UART, SPI, I2C, I2S
  • Analog-to-Digital Converter (ADC): 12-bit, 10 channels
  • Digital-to-Analog Converter (DAC): 10-bit, 1 channel
  • USB Interface: Native USB 2.0, compatible with USB 1.1 and 1.0
  • Reset Button: On-board reset button for easy programming and debugging
  • Breadboard-Friendly:Compact design with 0.1-inch spacing, making it easy to integrate into breadboard-based projects
  • Arduino Compatibility: Fully compatible with the Arduino ecosystem, including boards, shields, and libraries
  • Open-Source: Seeeduino XIAO is an open-source hardware platform, encouraging community involvement and collaboration

Length

27.8 mm (1.09 in)

Width

17.8 mm (0.7 in)

Height

7.6 mm (0.3 in)

Weight

5g (0.18 oz)

Applications

The Seeeduino XIAO is suitable for a wide range of applications, including

IoT devices and sensors

Robotics and automation systems

Wearable devices and accessories

Home automation and smart home systems

Prototyping and development boards

Educational projects and STEM education

Conclusion

The Seeeduino XIAO is a powerful and compact microcontroller board that offers a unique combination of performance, flexibility, and ease of use. Its compatibility with Arduino and open-source nature make it an ideal choice for IoT and robotics applications, while its small size and low power consumption make it suitable for wearable devices and battery-powered projects.

Pin Configuration

  • Seeeduino XIAO Compatible with Arduino: Pinout Explanation
  • The Seeeduino XIAO is a compact, high-performance microcontroller board compatible with Arduino, perfect for IoT and embedded system projects. With its tiny size and extensive features, it's an ideal choice for prototyping and development. In this documentation, we'll delve into the pinout of the Seeeduino XIAO, explaining each pin's function and how to connect them.
  • Pinout Structure:
  • The Seeeduino XIAO has a total of 30 pins, divided into three categories:
  • Digital Pins: 20 pins, labeled D0 to D19
  • Analog Pins: 6 pins, labeled A0 to A5
  • Power Pins: 4 pins, including VCC, GND, RST, and VIN
  • Digital Pins (D0-D19):
  • 1. D0 (TX): Transmit (TX) pin for serial communication. Used for sending data from the microcontroller.
  • 2. D1 (RX): Receive (RX) pin for serial communication. Used for receiving data by the microcontroller.
  • 3. D2: General-purpose digital input/output pin.
  • 4. D3: General-purpose digital input/output pin. Can be used as a PWM output.
  • 5. D4: General-purpose digital input/output pin.
  • 6. D5: General-purpose digital input/output pin. Can be used as a PWM output.
  • 7. D6: General-purpose digital input/output pin.
  • 8. D7: General-purpose digital input/output pin.
  • 9. D8: General-purpose digital input/output pin.
  • 10. D9: General-purpose digital input/output pin. Can be used as a PWM output.
  • 11. D10: General-purpose digital input/output pin. Can be used as a PWM output.
  • 12. D11: General-purpose digital input/output pin.
  • 13. D12: General-purpose digital input/output pin.
  • 14. D13: General-purpose digital input/output pin. Can be used as a PWM output.
  • 15. D14: General-purpose digital input/output pin.
  • 16. D15: General-purpose digital input/output pin.
  • 17. D16: General-purpose digital input/output pin.
  • 18. D17: General-purpose digital input/output pin.
  • 19. D18: General-purpose digital input/output pin.
  • 20. D19: General-purpose digital input/output pin.
  • Analog Pins (A0-A5):
  • 1. A0: Analog input pin.
  • 2. A1: Analog input pin.
  • 3. A2: Analog input pin.
  • 4. A3: Analog input pin.
  • 5. A4: Analog input pin. Also used as an I2C clock pin (SCL).
  • 6. A5: Analog input pin. Also used as an I2C data pin (SDA).
  • Power Pins:
  • 1. VCC: Power supply pin. Typically connected to a 5V power source.
  • 2. GND: Ground pin. Used as a reference point for the microcontroller.
  • 3. RST: Reset pin. Used to reset the microcontroller.
  • 4. VIN: Input voltage pin. Used to power the microcontroller.
  • Connecting the Pins:
  • When connecting pins on the Seeeduino XIAO, ensure that you:
  • Use a breadboard or PCB with compatible pin spacing.
  • Connect digital pins to compatible devices or modules, such as LEDs, sensors, or actuators.
  • Connect analog pins to analog devices or modules, such as potentiometers or sensors.
  • Connect power pins to a suitable power source, such as a USB cable or battery.
  • Be cautious when working with high-voltage or high-current devices, and ensure proper protection and isolation.
  • By understanding the pinout of the Seeeduino XIAO, you can effectively design and build a wide range of IoT and embedded system projects.

Code Examples

Seeeduino XIAO: A Compact and Powerful Arduino-Compatible Microcontroller
The Seeeduino XIAO is a tiny, feature-rich microcontroller board that is fully compatible with the Arduino platform. Its compact size, low power consumption, and rich peripheral set make it an ideal choice for a wide range of IoT projects.
Technical Specifications:
Microcontroller: Microchip ATSAMD21G18
 Operating Voltage: 3.3V
 Input Voltage: 5V
 Digital I/O Pins: 14
 Analog Input Pins: 6
 UARTs: 2
 SPI: 1
 I2C: 1
 I2S: 1
 PWM Pins: 10
 Flash Memory: 256KB
 SRAM: 32KB
Example 1: Blinking an LED using Seeeduino XIAO
Connect an LED to digital pin 13 and upload the following code to the Seeeduino XIAO board:
```c
const int ledPin = 13;   // choose the pin for the LED
void setup() {
  pinMode(ledPin, OUTPUT);  // set the pin as an output
}
void loop() {
  digitalWrite(ledPin, HIGH);   // turn the LED on
  delay(1000);               // wait 1 second
  digitalWrite(ledPin, LOW);    // turn the LED off
  delay(1000);               // wait 1 second
}
```
This code will blink an LED connected to digital pin 13 at a frequency of 1 Hz.
Example 2: Reading Analog Sensor Data using Seeeduino XIAO
Connect a potentiometer to analog input pin A0 and upload the following code to the Seeeduino XIAO board:
```c
const int sensorPin = A0;  // choose the pin for the sensor
int sensorValue = 0;      // variable to store the sensor value
void setup() {
  Serial.begin(9600);  // initialize serial communication
}
void loop() {
  sensorValue = analogRead(sensorPin);  // read the sensor value
  Serial.print("Sensor value: ");
  Serial.println(sensorValue);  // print the sensor value
  delay(100);                   // wait 100 ms before taking the next reading
}
```
This code will read the analog value from the potentiometer connected to pin A0 and print it to the serial monitor at a frequency of 10 Hz.
Example 3: Sending Data over I2C using Seeeduino XIAO
Connect an I2C device (e.g., an LCD display) to the Seeeduino XIAO board and upload the following code:
```c
#include <Wire.h>
const int i2cAddress = 0x27;  // I2C address of the device
void setup() {
  Wire.begin();  // initialize I2C communication
}
void loop() {
  Wire.beginTransmission(i2cAddress);
  Wire.write("Hello, world!");  // send data to the I2C device
  Wire.endTransmission();
  delay(1000);               // wait 1 second before sending the next message
}
```
This code will send the string "Hello, world!" to the I2C device connected to the Seeeduino XIAO board at a frequency of 1 Hz.
These examples demonstrate the versatility and ease of use of the Seeeduino XIAO microcontroller board. Its compact size, rich peripheral set, and Arduino compatibility make it an ideal choice for a wide range of IoT projects.