Introdução ao Seeed Studio XIAO RA4M1

Introdução
O XIAO RA4M1 integra o chip RA4M1 da Renesas (MCU ARM® Cortex®-M4 de 32 bits de até 48 MHz) no formato clássico do XIAO. Esta placa de desenvolvimento oferece 256KB de Flash, 32KB de SRAM, 8KB de EEPROM, um conector USB 2.0, botões de reset e boot, 3 LEDs, um conversor A/D de 14 bits, um conversor D/A de 12 bits e uma interface CAN BUS. Com circuito de carregamento integrado e modos de baixo consumo (até 45μA), é ideal para aplicações alimentadas por bateria. Compartilhando o mesmo microcontrolador de 32 bits R7FA4M1AB3CNE do Arduino Uno R4, é nativamente compatível com o Arduino IDE e com a ampla gama de acessórios XIAO, tornando-se o ponto de partida perfeito para projetos de eletrônica.
Recursos
- Microcontrolador popular onboard: Alimentado pelo Renesas RA4M1, um MCU R7FA4M1AB3CNE ARM® Cortex®-M4 de 32 bits operando a até 48 MHz, com 256 KB de memória Flash e 32 KB de SRAM.
- Recursos destacados onboard: Equipado com ADC de 14 bits, DAC de 12 bits, CAN BUS, USB 2.0 e um LED RGB onboard.
- 8 novos IOs expandidos: Adiciona 8 novos pinos de IO na parte traseira em comparação com as placas XIAO anteriores (19 GPIOs no total), permitindo aplicações mais complexas.
- Recursos de segurança avançados: Criptografia por hardware integrada, boot seguro, armazenamento de chaves e outras funções para garantir a segurança da aplicação.
- Compatibilidade de software: Totalmente compatível com o Arduino IDE para desenvolvimento e prototipagem de projetos sem complicações.
- Projeto de energia eficiente: Oferece 4 modos de operação com consumo de energia tão baixo quanto 45μA em deep sleep e suporta gerenciamento de carga de bateria de lítio.
- Design compacto do tamanho de um polegar: Medindo 21 x 17,8 mm, adotando o formato clássico XIAO da Seeed Studio, ideal para aplicações com restrição de espaço.
- Amigável para produção: Design SMD (Surface Mount Device) com todos os componentes na frente e furos em forma de selo em ambos os lados, facilitando a produção em massa eficiente.
Especificações
| Produto | XIAO RA4M1 |
|---|---|
| Processador | RA4M1 - 32-bit Microcontrollers with 48MHz Arm Cortex-M4 and LCD Controller and Cap Touch for HMI - Renesas Núcleo Arm® Cortex®-M4 de 48 MHz com FPU |
| RAM | 32 KB SRAM |
| Flash | 256 KB |
| LEDs | 1x LED de usuário 1x LED de alimentação 1x LED RGB |
| Interfaces | 19 IOs: 6x Analógico 19x Digital 2x IIC 2x UART 2x SPI |
| Botões | 1x Botão RESET 1x Botão BOOT |
| Segurança | AES128/256 |
| Baixo consumo (típ.) | 42.6μ[email protected] |
| Compatibilidade de software | Arduino IDE |
| Temperatura de trabalho | -20°C~70°C |
| Dimensões | 21×17,8 mm |
Visão geral de hardware
Antes de começar, é essencial conhecer alguns parâmetros básicos do produto. A tabela a seguir fornece informações sobre as características do Seeed Studio XIAO RA4M1.


| Diagrama de indicação frontal do XIAO RA4M1 |
|---|
| Lista de pinos do XIAO RA4M1 |
Mapa de pinos
| Pino XIAO | Função | Pino do chip | Funções alternativas | Descrição | Nome Arduino |
|---|---|---|---|---|---|
| 5V | VBUS | Entrada/Saída de energia | |||
| GND | |||||
| 3V3 | 3V3_OUT | Saída de energia | |||
| D0 | Analógico | P014 | AN009 | GPIO, ADC | 0 |
| D1 | Analógico | P000 | AN000 | GPIO, ADC | 1 |
| D2 | Analógico | P001 | AN001 | GPIO, ADC | 2 |
| D3 | Analógico | P002 | AN002 | GPIO, ADC | 3 |
| D4 | SDA1 | P206 | GPIO, dados I2C | 4 | |
| D5 | Analógico,SCL1 | P100 | GPIO, clock I2C, ADC | 5 | |
| D6 | TXD2 | P302 | SDA2 | GPIO, transmissão UART,I2C | 6 |
| D7 | RXD2 | P301 | SCL2 | GPIO, recepção UART,I2C | 7 |
| D8 | SPI1_SCK | P111 | GPIO, clock SPI | 8 | |
| D9 | SPI1_MISO | P110 | CRX0 | GPIO, dados SPI,UART | 9 |
| D10 | SPI1_MOSI | P109 | CTX0 | GPIO, dados SPI,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, transmissão UART, 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 | Ler o valor de tensão da bateria | |||
| Reset | RES | RESET | |||
| Boot | P201 | Entrar no modo Boot | |||
| RGB LED | P112 | LED RGB | 20 | ||
| RGB LED | P500 | RGB LED EN | 21 | ||
| CHARGE_LED | VBUS | CHG-LED_Vermelho | |||
| USER_LED | P011 | Luz de usuário (Y) | 19 |
Primeiros passos
Preparação de hardware
Você precisa preparar o seguinte:
- 1 x Seeed Studio XIAO RA4M1
- 1 x Computador
- 1 x Cabo USB Type-C
Alguns cabos USB podem apenas fornecer energia e não transferir dados. Se você não tiver um cabo USB ou não souber se o seu cabo USB pode transmitir dados, você pode conferir o Seeed USB Type-C support USB 3.1.
Preparação de software
A ferramenta de programação recomendada para o XIAO RA4M1 é o Arduino IDE, portanto, como parte da preparação de software, você precisará concluir a instalação do Arduino.
Se esta é a sua primeira vez usando o Arduino, recomendamos fortemente que você consulte Getting Started with Arduino.
- Passo 1. Baixe e instale a versão estável do Arduino IDE de acordo com o seu sistema operacional.
-
Passo 2. Inicie o aplicativo Arduino.
-
Passo 3. Adicione o pacote da placa RA4M1 ao seu Arduino IDE.
Navegue até File > Preferences e preencha "Additional Boards Manager URLs" com a URL abaixo: https://files.seeedstudio.com/arduino/package_renesas_1.2.0_index.json

Navegue até Tools > Board > Boards Manager..., digite a palavra‑chave RA4M1 na caixa de pesquisa, selecione a versão mais recente de Seeed Renesas Board e instale.

-
Passo 4. Selecione sua placa e porta.
Na parte superior do Arduino IDE, você pode pesquisar por xiao na placa de desenvolvimento à esquerda, selecionar XIAO_RA4M1 e selecionar diretamente a porta.

Modo BootLoader
Às vezes, usar o programa errado pode fazer com que o XIAO perca sua porta ou não funcione corretamente. Problemas comuns incluem:
- O XIAO está conectado ao computador, mas nenhum número de porta é encontrado.
- O XIAO está conectado e um número de porta aparece, mas o envio do programa falha.
Quando você encontrar as duas situações acima, pode tentar colocar o XIAO no modo BootLoader, o que pode resolver a maioria dos problemas de dispositivos não reconhecidos e falhas de upload. O método específico é:
- Método 1. Pressione e segure o botão
BOOTno XIAO RA4M1 sem soltá‑lo. - Método 2. Mantenha o botão
BOOTpressionado e então conecte ao computador via cabo de dados. Solte o botão BOOT após conectar ao computador.
Reset
Quando o programa é executado de forma anormal, você pode pressionar Reset uma vez durante a energização para que o XIAO execute novamente o programa enviado.
Quando você pressiona e mantém pressionada a tecla BOOT enquanto liga e, em seguida, pressiona a tecla Reset uma vez, você também pode entrar no modo BootLoader.
Execute seu primeiro programa Blink
Até agora, acredito que você já tenha uma boa compreensão dos recursos e do hardware do XIAO RA4M1. Em seguida, vamos pegar o programa Blink mais simples como exemplo e realizar o primeiro piscar para o seu XIAO RA4M1!
- Passo 1. Inicie o aplicativo Arduino.
- Passo 2. Navegue até File > Examples > 01.Basics > Blink e abra o programa.

- Passo 3. Selecione o modelo de placa como XIAO RA4M1 e selecione o número de porta correto para enviar o programa.

Depois que o programa for enviado com sucesso, você verá a seguinte mensagem de saída e poderá observar que o LED laranja no lado direito do XIAO RA4M1 está piscando.

Parabéns, você aprendeu como escrever e enviar programas para o XIAO RA4M1!
O LED só apagará quando o pino do LED de usuário no XIAO RA4M1 estiver configurado para nível alto, e só acenderá quando o pino estiver configurado para nível baixo.
Brinque com LEDs RGB
O XIAO RA4M1 vem com um LED RGB integrado que você pode controlar; a seguir está um exemplo de como alterar suavemente a cor do LED entre vermelho, verde e azul.
- Passo 1. Baixe a biblioteca
Adafruit_NeoPixel
Navegue até Sketch > Include Liarbry > Manage Libraries..., pesquise Adafruit_NeoPixel e instale a versão mais recente.
- Passo 2. Copie o código a seguir para um novo sketch:
#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
}
}
- Passo 3. Selecione o modelo de placa como XIAO RA4M1 e selecione o número de porta correto para enviar o programa.

Bateria e Gerenciamento de Energia
É possível ler a tensão da bateria sem componentes extras? Sim, com o XIAO RA4M1 isso é mais fácil do que nunca. Em membros anteriores da família XIAO, como o XIAO ESP32C3, a leitura da tensão da bateria exigia conexão manual ao A0 com um resistor.
Mas com o XIAO RA4M1, esse processo é simplificado. Agora você pode usar diretamente o pino BAT_DET_PIN/P105 para ler o nível de tensão da bateria, simplificando seu design e desenvolvimento. Apenas lembre‑se de definir o pino BAT_READ_EN/P400 para alto, pois é necessário para habilitar a leitura do nível da bateria.
- Passo 1. Preparação de hardware
| Seeed Studio XIAO RA4M1 | Seeed Studio Expansion Base for XIAO with Grove OLED |
|---|---|
![]() | ![]() |
O display OLED na placa de expansão XIAO usa o protocolo I2C e é conectado à interface I2C do XIAO através do circuito I2C na placa. Portanto, podemos conectar diretamente o XIAO à placa de expansão e programá‑lo para exibir conteúdo na tela.
- Passo 2. Instale a biblioteca u8g2.
- Passo 3. Copie o código e cole no 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
}
- Passo 4. Selecione o modelo de placa como XIAO RA4M1 e selecione a porta correta para fazer o upload do programa

Recursos
Design de hardware
- 📄[Datasheet] Renesas RA4M1 Datasheet
- 📄[Esquemático] XIAO RA4M1 Schematic
- 🗃️[Arquivos de design de PCB] XIAO RA4M1 KiCad Project
- 🗃️[Bibliotecas de design de PCB]
Solução de problemas
P1: O que devo observar ao soldar pinos
Devido ao tamanho reduzido do XIAO RA4M1, tenha cuidado ao soldar os headers, não junte pinos diferentes e não deixe a solda encostar no shield ou em outros componentes. Caso contrário, isso pode fazer com que o XIAO entre em curto-circuito ou não funcione corretamente, e as consequências causadas por isso serão de responsabilidade do usuário.
Suporte técnico e discussão sobre o produto
Obrigado por escolher nossos produtos! Estamos aqui para oferecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.
