Seeed Studio XIAO RA4M1 入门指南

介绍
XIAO RA4M1 将 Renesas 的 RA4M1 芯片(32 位 ARM® Cortex®-M4 MCU,最高 48 MHz)集成到经典的 XIAO 外形中。该开发板提供 256KB Flash、32KB SRAM、8KB EEPROM、USB 2.0 接口、复位和启动按键、3 个 LED、14 位 A/D 转换器、12 位 D/A 转换器以及 CAN BUS 接口。凭借板载充电电路和低功耗模式(最低可达 45μA),非常适合电池供电应用。它与 Arduino Uno R4 采用相同的 32 位 R7FA4M1AB3CNE 微控制器,原生兼容 Arduino IDE 以及丰富的 XIAO 配件,是电子项目的理想入门平台。
特性
- 流行微控制器板载: 由 Renesas RA4M1 提供动力,这是一款 32 位 ARM® Cortex®-M4 R7FA4M1AB3CNE MCU,最高运行频率 48 MHz,配备 256 KB Flash 和 32 KB SRAM。
- 突出的板载资源: 配备 14 位 ADC、12 位 DAC、CAN BUS、USB 2.0 和板载 RGB LED。
- 扩展 8 个新 IO: 与之前的 XIAO 板相比,在背面新增 8 个 IO 引脚(共 19 个 GPIO),可实现更复杂的应用。
- 强大的安全特性: 内置硬件加密、安全启动、密钥存储等功能,确保应用安全。
- 软件兼容性: 与 Arduino IDE 完全兼容,可无缝进行项目开发和原型制作。
- 高效电源设计: 提供 4 种工作模式,在深度睡眠时功耗低至 45μA,并支持锂电池充电管理。
- 紧凑拇指大小设计: 尺寸为 21 x 17.8mm,采用 Seeed Studio 经典 XIAO 外形,非常适合对空间敏感的应用。
- 适合量产: 采用表面贴装器件(SMD)设计,所有元件位于正面,两侧带有邮票孔,便于高效量产。
规格参数
| 产品 | XIAO RA4M1 |
|---|---|
| 处理器 | RA4M1 - 32-bit Microcontrollers with 48MHz Arm Cortex-M4 and LCD Controller and Cap Touch for HMI - Renesas 48-MHz Arm® Cortex®-M4 内核,带 FPU |
| RAM | 32 KB SRAM |
| Flash | 256 KB |
| LEDs | 1x 用户 LED 1x 电源 LED 1x RGB LED |
| 接口 | 19 IOs: 6x 模拟 19x 数字 2x IIC 2x UART 2x SPI |
| 按键 | 1x RESET 按键 1x BOOT 按键 |
| 安全性 | AES128/256 |
| 低功耗(典型) | 42.6μ[email protected] |
| 软件兼容性 | Arduino IDE |
| 工作温度 | -20°C~70°C |
| 尺寸 | 21×17.8 mm |
硬件概览
在开始之前,了解产品的一些基本参数非常重要。下表提供了有关 Seeed Studio XIAO RA4M1 特性的相关信息。


| XIAO RA4M1 正面标注示意图 |
|---|
| XIAO RA4M1 引脚列表 |
引脚映射
| XIAO Pin | 功能 | 芯片引脚 | 复用功能 | 描述 | Arduino 名称 |
|---|---|---|---|---|---|
| 5V | VBUS | 电源输入/输出 | |||
| GND | |||||
| 3V3 | 3V3_OUT | 电源输出 | |||
| D0 | Analog | P014 | AN009 | GPIO, ADC | 0 |
| D1 | Analog | P000 | AN000 | GPIO, ADC | 1 |
| D2 | Analog | P001 | AN001 | GPIO, ADC | 2 |
| D3 | Analog | P002 | AN002 | GPIO, ADC | 3 |
| D4 | SDA1 | P206 | GPIO, I2C Data | 4 | |
| D5 | Analog,SCL1 | P100 | GPIO, I2C Clock, ADC | 5 | |
| D6 | TXD2 | P302 | SDA2 | GPIO, UART Transmit,I2C | 6 |
| D7 | RXD2 | P301 | SCL2 | GPIO, UART Receive,I2C | 7 |
| D8 | SPI1_SCK | P111 | GPIO, SPI Clock | 8 | |
| D9 | SPI1_MISO | P110 | CRX0 | GPIO, SPI Data,UART | 9 |
| D10 | SPI1_MOSI | P109 | CTX0 | GPIO, SPI Data,UART | 10 |
| D11 | RX9 | P408 | GPIO, UART | ||
| D12 | TX9 | P409 | GPIO,UART | ||
| D13 | GPIO | P013 | GPIO | ||
| D14 | GPIO | P012 | GPIO | ||
| D15 | TXD0 | P101 | SDA0,AN021,SPI0_MOSI | GPIO, UART Transmit, ADC,SPI,I2C | |
| D16 | RXD0 | P104 | SCL0,SPI0_MISO | GPIO,UART, SPI,I2C | |
| D17 | CRX0 | P102 | AN020,SPI0_SCK | GPIO, UART , ADC,SPI | |
| D18 | CTX0 | P103 | AN019 | GPIO, SPI ,ADC,UART | |
| ADC_BAT | P400 | 读取电池电压值 | |||
| Reset | RES | 复位 | |||
| Boot | P201 | 进入 Boot 模式 | |||
| RGB LED | P112 | RGB LED | 20 | ||
| RGB LED | P500 | RGB LED EN | 21 | ||
| CHARGE_LED | VBUS | CHG-LED_Red | |||
| USER_LED | P011 | 用户指示灯(Y) | 19 |
入门指南
硬件准备
你需要准备以下物品:
- 1 x Seeed Studio XIAO RA4M1
- 1 x 电脑
- 1 x USB Type-C 线缆
有些 USB 线缆只能供电,不能传输数据。如果你没有 USB 线缆,或者不确定你的 USB 线缆是否可以传输数据,可以查看 Seeed USB Type-C support USB 3.1。
软件准备
XIAO RA4M1 推荐使用 Arduino IDE 作为编程工具,因此在软件准备部分,你需要完成 Arduino 的安装。
如果这是你第一次使用 Arduino,我们强烈建议你参考 Getting Started with Arduino。
- 步骤 1. 根据您的操作系统下载并安装稳定版本的 Arduino IDE。
-
步骤 2. 启动 Arduino 应用程序。
-
步骤 3. 将 RA4M1 开发板包添加到你的 Arduino IDE 中。
依次进入 File > Preferences,在 "Additional Boards Manager URLs" 中填入下面的 URL: https://files.seeedstudio.com/arduino/package_renesas_1.2.0_index.json

依次进入 Tools > Board > Boards Manager...,在搜索框中输入关键字 RA4M1,选择最新版本的 Seeed Renesas Board 并安装。

-
步骤 4. 选择你的开发板和端口。
在 Arduino IDE 顶部,你可以在左侧的开发板中搜索 xiao,选择 XIAO_RA4M1,并直接选择端口。

BootLoader 模式
有时,使用错误的程序会导致 XIAO 丢失端口或无法正常工作。常见问题包括:
- XIAO 已连接到电脑,但找不到端口号。
- XIAO 已连接并出现端口号,但程序上传失败。
当你遇到以上两种情况时,可以尝试让 XIAO 进入 BootLoader 模式,这可以解决大多数设备无法识别和上传失败的问题。具体方法如下:
- 方法 1. 按住 XIAO RA4M1 上的
BOOT按钮不要松开。 - 方法 2. 按住
BOOT按钮,然后通过数据线连接电脑,连接电脑后再松开 BOOT 按钮。
复位
当程序运行异常时,你可以在上电时按一次 Reset,让 XIAO 重新执行已上传的程序。
当你在上电时按住 BOOT 键,然后再按一次 Reset 键,也可以进入 BootLoader 模式。
运行你的第一个 Blink 程序
到现在为止,我相信你已经对 XIAO RA4M1 的特性和硬件有了比较充分的了解。接下来,我们以最简单的 Blink 程序为例,为你的 XIAO RA4M1 完成第一次闪烁!
- 步骤 1. 启动 Arduino 应用程序。
- 步骤 2. 依次进入 File > Examples > 01.Basics > Blink,打开该示例程序。

- 步骤 3. 将开发板型号选择为 XIAO RA4M1,并选择正确的端口号后上传程序。

当程序成功上传后,你会看到如下输出信息,并且可以观察到 XIAO RA4M1 右侧的橙色 LED 正在闪烁。

恭喜你,你已经学会了如何为 XIAO RA4M1 编写并上传程序!
只有当 XIAO RA4M1 上的用户 LED 引脚被设置为高电平时,LED 才会熄灭;当该引脚被设置为低电平时,LED 才会点亮。
玩转 RGB LED
XIAO RA4M1 自带一个可控的内置 RGB LED,下面是一个示例,用于在红、绿、蓝三种颜色之间平滑切换。
- 步骤 1. 下载
Adafruit_NeoPixel库
依次进入 Sketch > Include Liarbry > Manage Libraries...,搜索 Adafruit_NeoPixel,安装最新版本。
- 步骤 2. 将以下代码复制到一个新的草稿中:
#include <Adafruit_NeoPixel.h>
#define LED_PIN RGB_BUILTIN // Define the pin for the built-in RGB LED
#define NUM_PIXELS 1 // Number of WS2812 LEDs
Adafruit_NeoPixel pixels(NUM_PIXELS, LED_PIN, NEO_GRB + NEO_KHZ800);
void setup() {
pinMode(PIN_RGB_EN, OUTPUT); // Set up the power pin
digitalWrite(PIN_RGB_EN, HIGH); //Turn on power to the LED
pixels.begin(); // Initialize the NeoPixel library
}
void loop() {
// Transition from Red to Green
for (int i = 0; i <= 255; i++) {
pixels.setPixelColor(0, pixels.Color(255 - i, i, 0)); // Red decreases, Green increases
pixels.show();
delay(10); // Adjust delay for smoothness
}
// Transition from Green to Blue
for (int i = 0; i <= 255; i++) {
pixels.setPixelColor(0, pixels.Color(0, 255 - i, i)); // Green decreases, Blue increases
pixels.show();
delay(10); // Adjust delay for smoothness
}
// Transition from Blue to Red
for (int i = 0; i <= 255; i++) {
pixels.setPixelColor(0, pixels.Color(i, 0, 255 - i)); // Blue decreases, Red increases
pixels.show();
delay(10); // Adjust delay for smoothness
}
}
- 步骤 3. 将开发板型号选择为 XIAO RA4M1,并选择正确的端口号后上传程序。

电池与电源管理
是否可以在没有额外元件的情况下读取电池电压?可以,在 XIAO RA4M1 上,这比以往更简单。在之前的 XIAO 系列成员(例如 XIAO ESP32C3)中,读取电池电压需要通过电阻手动连接到 A0。
而在 XIAO RA4M1 上,这个过程被简化了。你现在可以直接使用 BAT_DET_PIN/P105 引脚读取电池电压等级,从而简化你的设计与开发。只需记得将 BAT_READ_EN/P400 引脚设置为高电平,因为这是启用电池电量读取所必需的。
- 步骤 1. 硬件准备
| Seeed Studio XIAO RA4M1 | Seeed Studio Expansion Base for XIAO with Grove OLED |
|---|---|
![]() | ![]() |
XIAO 扩展板上的 OLED 显示屏使用 I2C 协议,并通过板载的 I2C 电路连接到 XIAO 的 I2C 接口。因此,我们可以直接将 XIAO 插到扩展板上,并通过编程在屏幕上显示内容。
- 步骤 2. 安装 u8g2 库。
- 步骤 3. 复制代码并粘贴到 Arduino IDE 中。
#include <Arduino.h>
#include <U8x8lib.h>
#include <Wire.h>
U8X8_SSD1306_128X64_NONAME_HW_I2C u8x8(/* clock=*/ WIRE_SCL_PIN, /* data=*/ WIRE_SDA_PIN, /* reset=*/ U8X8_PIN_NONE); // OLEDs without Reset of the Display
#define enablePin BAT_READ_EN // Pin for enabling battery voltage reading
#define adcPin BAT_DET_PIN // Analog input pin (GPIO29 in your case)
const float referenceVoltage = 3.3; // Reference voltage for the ADC
const float voltageDivider = 2.0; // Voltage divider factor
void setup() {
Serial.begin(9600); // Initialize serial communication at 9600 baud
pinMode(enablePin, OUTPUT); // Set the enable pin as an output
digitalWrite(enablePin, HIGH); // Set the pin high to enable battery voltage reading
u8x8.begin();
u8x8.setFlipMode(1); // set number from 1 to 3, the screen word will rotary 180
u8x8.setFont(u8x8_font_chroma48medium8_r);
}
void loop() {
int rawValue = analogRead(adcPin); // Read the analog input value
float voltage = rawValue * (referenceVoltage / 1023.0) * voltageDivider; // Calculate the voltage
// Print the raw value and the calculated voltage
u8x8.setCursor(0, 0);
u8x8.print("Raw value:0x");
u8x8.print(rawValue, HEX);
u8x8.setCursor(0, 2);
u8x8.print("Voltage:");
u8x8.print(voltage, 2);
u8x8.print("V");
delay(500); // Delay for 500 milliseconds
}
- 步骤 4. 将开发板型号选择为 XIAO RA4M1,并选择正确的端口号来上传程序

资源
硬件设计
- 📄[数据手册] Renesas RA4M1 Datasheet
- 📄[原理图] XIAO RA4M1 Schematic
- 🗃️[PCB 设计文件] XIAO RA4M1 KiCad Project
- 🗃️[PCB 设计库]
故障排查
Q1: 焊接引脚时需要注意什么
由于 XIAO RA4M1 体积非常小,在焊接排针时请务必小心,不要将不同的引脚焊接在一起,也不要让焊锡粘到屏蔽罩或其他元器件上。否则可能导致 XIAO 短路或无法正常工作,由此造成的后果将由用户自行承担。
技术支持与产品讨论
感谢您选择我们的产品!我们为您提供多种支持方式,以确保您在使用我们产品的过程中尽可能顺利。我们提供了多种沟通渠道,以满足不同的偏好和需求。
