Primeiros Passos com o 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 256 KB de Flash, 32 KB de SRAM, 8 KB 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 (tão baixos quanto 45 μA), é ideal para aplicações alimentadas por bateria. Compartilhando o mesmo microcontrolador R7FA4M1AB3CNE de 32 bits do Arduino Uno R4, é nativamente compatível com a Arduino IDE e com a extensa linha de acessórios XIAO, tornando-se o ponto de partida perfeito para projetos de eletrônica.
Recursos
- Microcontrolador popular a bordo: 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 de trás em comparação com as placas XIAO anteriores (19 GPIOs no total), permitindo aplicações mais complexas.
- Recursos de segurança avançados: Criptografia em 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 a 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 do polegar: Medindo 21 x 17,8 mm, adotando o formato clássico XIAO da Seeed Studio, ideal para aplicações com restrições de espaço.
- Amigável para produção: Design SMD (Surface Mount Device) com todos os componentes na parte frontal e furos metalizados nas duas laterais, 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 indicativo 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 alimentação | |||
| GND | |||||
| 3V3 | 3V3_OUT | Saída de alimentação | |||
| 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 | Lê 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 Tipo-C
Alguns cabos USB só conseguem fornecer energia e não conseguem 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 é a Arduino IDE, portanto, como parte da preparação de software, você precisará concluir a instalação do Arduino.
Se esta for a sua primeira vez usando Arduino, recomendamos fortemente que você consulte Getting Started with Arduino.
- Passo 1. Baixe e instale a versão estável da Arduino IDE de acordo com o seu sistema operacional.
-
Passo 2. Abra o aplicativo Arduino.
-
Passo 3. Adicione o pacote da placa RA4M1 à sua IDE Arduino.
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-a.

-
Passo 4. Selecione sua placa e porta.
Na parte superior da IDE Arduino, 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 upload 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 conecte ao computador via cabo de dados. Solte o botão BOOT após conectar ao computador.
Reset
Quando o programa roda de forma anormal, você pode pressionar Reset uma vez durante a energização para que o XIAO reexecute o programa carregado.
Quando você mantém pressionada a tecla BOOT enquanto liga e depois pressiona a tecla Reset uma vez, 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. Abra 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.

Quando o programa for carregado 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 carregar programas para o XIAO RA4M1!
O LED só apagará quando o pino de LED do usuário no XIAO RA4M1 estiver definido em nível alto, e só acenderá quando o pino estiver definido em 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 por Adafruit_NeoPixel e instale a versão mais recente.
- Passo 2. Copie o seguinte código 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, ler a 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 na 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 na IDE Arduino.
#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
}
- Etapa 4. Selecione o modelo de placa como XIAO RA4M1 e selecione o número de porta correto para enviar o programa

Recursos
Design de Hardware
- 📄[Datasheet] Renesas RA4M1 Datasheet
- 📄[Schematic] XIAO RA4M1 Schematic
- 🗃️[PCB Design Files] XIAO RA4M1 KiCad Project
- 🗃️[PCB Design Libraries]
Solução de Problemas
P1: O que devo observar ao soldar pinos
Devido ao tamanho diminuto 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 disso serão de responsabilidade do usuário.
Suporte Técnico e Discussão de 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.
