Seeed Studio XIAO RA4M1 入門ガイド

はじめに
XIAO RA4M1は、RenesasのRA4M1チップ(最大48MHzの32ビットARM® Cortex®-M4 MCU)を従来の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を搭載、最大48MHzで動作する32ビットARM® Cortex®-M4 R7FA4M1AB3CNE MCU、256KBのFlashメモリ、32KBのSRAMを搭載。
- 注目のオンボードリソース: 14ビットADC、12ビットDAC、CAN BUS、USB 2.0、オンボードRGB LEDを装備。
- 8つの新しいIOを拡張: 従来のXIAOボードと比較して背面に8つの新しいIOピンを追加(合計19 GPIO)、より複雑なアプリケーションを可能にします。
- 強力なセキュリティ機能: ハードウェア暗号化、セキュアブート、キーストレージ、その他の機能を内蔵してアプリケーションのセキュリティを確保。
- ソフトウェア互換性: Arduino IDEと完全互換でシームレスなプロジェクト開発とプロトタイピングが可能。
- 効率的な電源設計: ディープスリープ時最低45μAの消費電力で4つの動作モードを提供し、リチウムバッテリー充電管理をサポート。
- コンパクトな親指サイズ設計: 21 x 17.8mmのサイズで、Seeed Studioの従来のXIAOフォームファクターを採用、スペースを重視するアプリケーションに最適。
- 量産対応: 表面実装デバイス(SMD)設計で、すべてのコンポーネントが前面にあり、両側にスタンプホールがあり、効率的な大量生産を促進。
仕様
製品 | XIAO RA4M1 |
---|---|
プロセッサ | Renesas RA4M1 |
48MHz Arm® Cortex®-M4コア | |
RAM | 32 KB SRAM |
Flash | 256 KB |
LED | 1 ユーザーLED、1 電源LED、1 RGB LED |
インターフェース | 19ピン:14xアナログ、19xデジタル、2x IIC、2x UART、2x SPI |
ボタン | 1 RESETボタン、1 BOOTボタン |
セキュリティ | AES128/256 |
低消費電力 | 45μA |
ソフトウェア互換性 | Arduino IDE |
動作温度 | -20°C-70°C |
寸法 | 21x17.8 mm |
電源 | Type-C: 5V BAT: 3.8V |
ハードウェア概要
すべてを始める前に、製品の基本的なパラメータを把握することが非常に重要です。以下の表は、Seeed Studio XIAO RA4M1の特性に関する情報を提供します。


XIAO RA4M1 フロント表示図 |
---|
XIAO RA4M1 ピンリスト |
はじめに
ハードウェアの準備
以下を準備する必要があります:
- 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. Arduino IDEにRA4M1ボードパッケージを追加します。
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が接続され、ポート番号が表示されるが、プログラムのアップロードに失敗する。
上記の2つの状況に遭遇した場合、XIAOをBootLoaderモードにすることで、デバイスが認識されない問題やアップロード失敗の問題の大部分を解決できます。具体的な方法は:
- 方法 1. XIAO RA4M1の
BOOT
ボタンを離さずに押し続けます。 - 方法 2.
BOOT
ボタンを押し続けた状態で、データケーブルでコンピュータに接続します。コンピュータに接続後、BOOTボタンを離します。
Reset
プログラムが異常に動作した場合、電源投入時に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は消灯し、ピンがローレベルに設定されたときのみ点灯します。
RGB LEDで遊ぶ
XIAO RA4M1には制御可能な内蔵RGB LEDが搭載されています。以下は、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
}
}
- Step 3. ボードモデルを XIAO RA4M1 に選択し、正しいポート番号を選択してプログラムをアップロードします。

バッテリー&電源管理
追加のコンポーネントなしでバッテリー電圧を読み取ることは可能でしょうか?はい、XIAO RA4M1 を使用すれば、これまで以上に簡単です。XIAO ESP32C3 などの以前の XIAO ファミリーメンバーでは、バッテリー電圧を読み取るには抵抗を使用して A0 に手動で接続する必要がありました。
しかし、XIAO RA4M1 では、このプロセスが簡素化されています。BAT_DET_PIN/P105
ピンを直接使用してバッテリー電圧レベルを読み取ることができるようになり、設計と開発が合理化されます。バッテリーレベルの読み取りを有効にするために必要なので、BAT_READ_EN/P400
ピンを high に設定することを忘れないでください。
- Step 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 に選択し、正しいポート番号を選択してプログラムをアップロードします

リソース
- 📄 [PDF] RA4M1 データシート
- 📄 [PDF] Seeed Studio XIAO RA4M1 回路図
- 📄 [ZIP] KiCAD ライブラリ
- 🔗 [Kicad] Seeed Studio XIAO RA4M1 フットプリント
トラブルシューティング
Q1: ピンをはんだ付けする際に注意すべき点は何ですか
XIAO RA4M1 の小型サイズのため、ヘッダーをはんだ付けする際は注意してください。異なるピン同士をくっつけたり、はんだをシールドや他の部品に付着させたりしないでください。そうしないと、XIAO がショートしたり正常に動作しなくなる可能性があり、これによって生じる結果はユーザーの責任となります。
技術サポート & 製品ディスカッション
弊社製品をお選びいただき、ありがとうございます!弊社製品での体験が可能な限りスムーズになるよう、さまざまなサポートを提供しています。異なる好みやニーズに対応するため、複数のコミュニケーションチャンネルを提供しています。