Skip to main content

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
RAM32 KB SRAM
Flash256 KB
LEDs1x 用户 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 名称
5VVBUS电源输入/输出
GND
3V33V3_OUT电源输出
D0AnalogP014AN009GPIO, ADC0
D1AnalogP000AN000GPIO, ADC1
D2AnalogP001AN001GPIO, ADC2
D3AnalogP002AN002GPIO, ADC3
D4SDA1P206GPIO, I2C Data4
D5Analog,SCL1P100GPIO, I2C Clock, ADC5
D6TXD2P302SDA2GPIO, UART Transmit,I2C6
D7RXD2P301SCL2GPIO, UART Receive,I2C7
D8SPI1_SCKP111GPIO, SPI Clock8
D9SPI1_MISOP110CRX0GPIO, SPI Data,UART9
D10SPI1_MOSIP109CTX0GPIO, SPI Data,UART10
D11RX9P408GPIO, UART
D12TX9P409GPIO,UART
D13GPIOP013GPIO
D14GPIOP012GPIO
D15TXD0P101SDA0,AN021,SPI0_MOSIGPIO, UART Transmit, ADC,SPI,I2C
D16RXD0P104SCL0,SPI0_MISOGPIO,UART, SPI,I2C
D17CRX0P102AN020,SPI0_SCKGPIO, UART , ADC,SPI
D18CTX0P103AN019GPIO, SPI ,ADC,UART
ADC_BATP400读取电池电压值
ResetRES复位
BootP201进入 Boot 模式
RGB LEDP112RGB LED20
RGB LEDP500RGB LED EN21
CHARGE_LEDVBUSCHG-LED_Red
USER_LEDP011用户指示灯(Y)19

入门指南

硬件准备

你需要准备以下物品:


tip

有些 USB 线缆只能供电,不能传输数据。如果你没有 USB 线缆,或者不确定你的 USB 线缆是否可以传输数据,可以查看 Seeed USB Type-C support USB 3.1

软件准备

XIAO RA4M1 推荐使用 Arduino IDE 作为编程工具,因此在软件准备部分,你需要完成 Arduino 的安装。

tip

如果这是你第一次使用 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 模式。

到现在为止,我相信你已经对 XIAO RA4M1 的特性和硬件有了比较充分的了解。接下来,我们以最简单的 Blink 程序为例,为你的 XIAO RA4M1 完成第一次闪烁!

  • 步骤 1. 启动 Arduino 应用程序。
  • 步骤 2. 依次进入 File > Examples > 01.Basics > Blink,打开该示例程序。
  • 步骤 3. 将开发板型号选择为 XIAO RA4M1,并选择正确的端口号后上传程序。

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

恭喜你,你已经学会了如何为 XIAO RA4M1 编写并上传程序!

note

只有当 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 RA4M1Seeed 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,并选择正确的端口号来上传程序

资源

硬件设计

故障排查

Q1: 焊接引脚时需要注意什么

由于 XIAO RA4M1 体积非常小,在焊接排针时请务必小心,不要将不同的引脚焊接在一起,也不要让焊锡粘到屏蔽罩或其他元器件上。否则可能导致 XIAO 短路或无法正常工作,由此造成的后果将由用户自行承担。

技术支持与产品讨论

感谢您选择我们的产品!我们为您提供多种支持方式,以确保您在使用我们产品的过程中尽可能顺利。我们提供了多种沟通渠道,以满足不同的偏好和需求。

Loading Comments...