メインコンテンツまでスキップ

Seeed Studio XIAO RP2040 シリーズ入門ガイド

Seeed Studio XIAO RP2040Seeed Studio XIAO RP2040 Plus

概要​

Seeed Studio XIAO RP2040 シリーズには、XIAO RP2040 と XIAO RP2040 Plus が含まれます。両方のボードは同じ Raspberry Pi RP2040 マイクロコントローラを搭載しており、最大 133 MHz で動作するデュアルコア Arm Cortex-M0+ プロセッサと 264 KB の SRAM を備えています。各ボードには 2 MB のオンボード Flash メモリも搭載されています。その結果、同じコア処理性能を発揮し、同一の RP2040 ソフトウェアエコシステムを共有します。

2 つのボードの主な違いは、外部に引き出された GPIO の数、利用可能な周辺接続、およびオンボードの電源管理機能です。

標準の XIAO RP2040 は一般的な 14 ピンの XIAO フットプリントを採用しており、11 本の GPIO ピンと 3 本の電源ピンで構成されています。11 本のデジタル I/O ピンはすべて PWM に対応しており、そのうち 4 本はアナログ入力もサポートします。このボードは、コンパクトな 21 × 17.8 mm のフォームファクタで I2C、UART、SPI、SWD インターフェースを提供します。

XIAO RP2040 Plus は同じ 14 ピンの XIAO レイアウトを維持しつつ、ボードの背面と側面に 15 個の GPIO はんだパッドを追加しています。これにより、外部に引き出されたデジタル I/O ピンの総数は 11 本から 26 本に増加します。また、第 2 の I2C インターフェース、専用の USB D+/D− パッド、BAT+、BAT−、BAT_EN を含むバッテリー関連の接続も追加されています。

バッテリー駆動アプリケーション向けに、XIAO RP2040 Plus にはオンボード PMIC、充電インジケータ、および BAT から 3V3 への逆流保護が統合されています。これらの追加機能により、Plus バージョンはカスタムキャリアボード、SMD 実装、バッテリー駆動デバイス、より多くの I/O リソースを必要とするプロジェクトにより適しています。

Seeed Studio XIAO RP2040 は Seeed Studio XIAO 拡張ボードと互換性があります。

特徴​

  • 高性能 RP2040 MCU: 最大 133 MHz で動作するデュアルコア Arm Cortex-M0+ プロセッサ
  • 豊富なメモリリソース: 264 KB の SRAM と 2 MB のオンボード Flash メモリ
  • 幅広いソフトウェア互換性: Arduino、PlatformIO、MicroPython、CircuitPython、TinyGo、Rust、Zephyr などをサポート
  • 共通の XIAO フットプリント: 両バージョンとも標準の 14 ピン XIAO レイアウトを採用し、11 本の GPIO ピンと 3 本の電源ピンを備える
  • コンパクトなフォームファクタ: ウェアラブル機器やスペースに制約のある用途向けの親指サイズ 21 × 17.8 mm デザイン
  • 標準 XIAO RP2040 インターフェース: 11 本のデジタル I/O ピン、4 本のアナログ入力ピン、11 本の PWM 対応ピン、I2C、UART、SPI、SWD
  • 拡張された XIAO RP2040 Plus の I/O: 合計 26 本のデジタル I/O ピンとなる 15 個の GPIO パッドを追加し、第 2 の I2C インターフェースと専用 USB D+/D− パッドを搭載
  • 統合バッテリー管理: XIAO RP2040 Plus はオンボード PMIC、充電インジケータ、専用バッテリー端子、および BAT から 3V3 への逆流保護を備える
  • 柔軟な実装オプション: ブレッドボード対応の共通ピンに加え、キャッスレーテッドエッジと SMD 対応パッドによりカスタムキャリアボードに対応

仕様​

製品名Seeed Studio XIAO RP2040Seeed Studio XIAO RP2040 Plus
チップセット

Raspberry Pi RP2040

プロセッサデュアル Cortex-M0+(最大 133 MHz)
RAM264 KB SRAM
Flash2 MB オンボード Flash
インターフェース

GPIO ピン × 14
デジタルピン × 11
アナログピン × 4
PWM ピン × 11
I2C × 1
UART × 1
SPI × 1

GPIO ピン × 29
追加 GPIO パッド × 15
デジタルピン × 26
アナログピン × 4
PWM × 26
I2C × 2
UART × 1
SPI × 1

オンボード

ユーザー LED × 1
電源 LED × 1
緑色 LED × 1
青色 LED × 1
赤色 LED × 1
RGB LED × 1
リセットボタン × 1
Boot ボタン × 1

ユーザー LED × 1
電源 LED × 1
充電 LED(バッテリー充電インジケータ)× 1
RGB LED × 1
リセットボタン × 1
Boot ボタン × 1

バッテリー管理(PMIC)なしオンボード PMIC
電源

入力電圧(Type-C):5V
入力電圧(BAT):3.7V ~ 4.2 V

BAT から 3V3 への逆流保護なしあり
ソフトウェア互換性

Arduino、PlatformIO、MicroPython、CircuitPython、TinyGo、Rust、Zephyr、および 今後追加予定

動作温度-40°C ~ 85°C
寸法21 x 17.8mm
バリエーション

Seeed Studio XIAO RP2040 3 個パック

Seeed Studio XIAO RP2040 事前はんだ付け済み

Seeed Studio XIAO RP2040 Plus

ハードウェア概要​

XIAO RP2040 表面​

XIAO RP2040 裏面​

注意

一般的な I/O ピンについて: MCU の動作電圧は 3.3V です。一般的な I/O ピンに接続される入力電圧が 3.3V を超えると、チップが損傷する可能性があります。

電源ピンについて: 内蔵の DC-DC コンバータ回路により 5V を 3.3V に変換できるため、VIN-PIN および 5V-PIN を介して 5V 電源でデバイスに給電できます。

XIAO RP2040 は現在、バッテリー電源のみをサポートしており、バッテリー接続中に Type-C を接続することはできません。安全上のリスクとなる可能性があります。

使用時には十分ご注意いただき、シールドカバーを取り外さないでください。

ピンマップ​

XIAO ピン機能XIAO RP2040XIAO RP2040 Plus説明
5VVBUSVBUSVBUSUSB 5 V 電源入力/出力
GNDGNDGNDGNDグラウンド
3V33V3_OUT3V3_OUT3V3_OUT3.3 V 電源出力
D0A0GPIO26GPIO26GPIO、ADC0
D1A1GPIO27GPIO27GPIO、ADC1
D2A2GPIO28GPIO28GPIO、ADC2
D3A3GPIO29GPIO29GPIO、ADC3
D4SDA0GPIO6GPIO6GPIO、I2C0 データ
D5SCL0GPIO7GPIO7GPIO、I2C0 クロック
D6TXGPIO0GPIO0GPIO、UART 送信
D7RXGPIO1GPIO1GPIO、UART 受信
D8SCKGPIO2GPIO2GPIO、SPI クロック
D9MISOGPIO4GPIO4GPIO、SPI データ入力
D10MOSIGPIO3GPIO3GPIO、SPI データ出力
D11———外部ピンとしては使用不可
D12GPIO—GPIO18Plus 専用拡張 GPIO
D13SCL1—GPIO21Plus 専用 I2C1 クロック
D14SDA1—GPIO20Plus 専用 I2C1 データ
D15GPIO—GPIO19Plus 専用拡張 GPIO
D16GPIO—GPIO22Plus 専用拡張 GPIO
D17GPIO—GPIO23Plus 専用拡張 GPIO
D18———外部ピンとしては使用不可
D19GPIO—GPIO5Plus 専用拡張 GPIO
D20GPIO—GPIO13Plus 専用拡張 GPIO
D21GPIO—GPIO14Plus 専用拡張 GPIO
D22GPIO—GPIO15Plus 専用拡張 GPIO
D23GPIO—GPIO16Plus 専用拡張 GPIO
D24GPIO—GPIO17Plus 専用拡張 GPIO
D25GPIO—GPIO10Plus 専用拡張 GPIO
D26GPIO—GPIO9Plus 専用拡張 GPIO
D27GPIO—GPIO8Plus 専用拡張 GPIO
ResetRUNRUNRUNリセット入力
BootRP2040_BOOTRP2040_BOOTRP2040_BOOTブートローダーモードに入る
USER_LED_R赤チャンネルGPIO17—XIAO RP2040 上の RGB LED 赤チャンネルを直接制御
USER_LED_G緑チャンネルGPIO16—XIAO RP2040 上の RGB LED 緑チャンネルを直接制御
USER_LED_G青チャンネルGPIO25—XIAO RP2040 上の RGB LED 青チャンネルを直接制御
RGB_LEDWS2812B データ—GPIO12/NEOPIX単線 WS2812B カラーデータ制御
RGB_ENWS2812B 有効—GPIO11WS2812B 電源を有効化するピン(カラーデータピンではない)
User LEDユーザー制御 LED—GPIO25XIAO RP2040 Plus 上の独立したユーザー LED
BAT_ENバッテリー有効—GPIO24Plus 上のバッテリー電源制御
CHARGE_LED充電インジケータ——ハードウェア制御の充電状態 LED(ユーザー GPIO ではない)
SWDIOSWD デバッグSWDIORP2040_SWDIOSerial Wire Debug データ
SWCLKSWD デバッグSWCLKRP2040_SWCLKSerial Wire Debug クロック
USB_D+USB-USB_DPUSB 1.1 フルスピード データ(プラス)
USB_D-USB-USB_DMUSB 1.1 フルスピード データ(マイナス)

ブートローダーモードに入る​

ユーザーのプログラミング処理が失敗した場合、Seeed Studio XIAO RP2040 のポートが消えてしまうことがあります。次の操作を行うことで、この問題を解決できます。

  • B ボタンを長押しします。
  • Seeed Studio XIAO PR2040 をコンピュータに接続します。
  • コンピュータにディスクドライブが表示されます。

この時点で、チップはブートローダーモードに入り、書き込みポートが再び表示されます。RP2040 チップには 2 つのパーティションがあり、1 つはブートローダー、もう 1 つはユーザープログラムです。製品は工場出荷時に、システムメモリ内にブートローダーコードが書き込まれています。上記の手順を実行することで、モードを切り替えることができます。

リセット​

Seeed Studio XIAO RP2040 をリセットしたい場合は、次の手順を実行してください。

  • Seeed Studio XIAO RP2040 をコンピュータに接続します。
  • R ピンを1 回押します。

注意:内蔵のプログラマブル単色 LED(赤、青、緑)は、Arduino 上のものとは動作が逆になっています。Seeed Studio XIAO RP2040 では、そのピンを Low に引き下げることで有効になります。

pir

バッテリーの使用​

注記

背面に BAT バッテリーコネクタを備えているのは XIAO RP2040 Plus のみですので、ご注意ください。

XIAO RP2040 Plus は、3.7V リチウムバッテリーを電源入力として使用することができます。配線方法については、以下の図を参照してください。


注意

はんだ付けの際には、正極と負極を短絡させてバッテリーや機器を損傷しないよう十分注意してください。バッテリーに電力が残っている場合は、決して基板にはんだ付けしないでください。基板を焼損するおそれがあります。回路に通電した状態で短絡させることは重大なリスクを伴うため、アダプタの使用を推奨します。

バッテリー電圧読み取り例​

回路図によると、XIAO RP2040 Plus は SGM40567-4.2XG/TR リチウムイオンバッテリーチャージャ IC を使用して、単セルリチウムイオンバッテリーに定電流・定電圧充電を行います。充電状態は点滅する Charge_LED によって示されます。

バッテリー電圧測定回路は、TPS22916CNYFPR ロードスイッチを使用して測定経路を有効または無効にします。バッテリー電圧を測定する必要があるとき、MCU は BAT_EN (GPIO24) を介して測定経路を有効にし、スタンバイモード中のバッテリー消費を低減します。

さらに、SGM4875XXDM6G/TR アナログスイッチを使用して ADC 入力チャネルを切り替えます。GPIO24/BAT_EN によって制御され、バッテリー測定信号と別のアナログ入力信号のどちらを A3 (GPIO29) ADC ピンに接続するかを選択し、ADC ピンを多重利用できるようにします。

ヒント

A3 ピンを ADC 入力としてバッテリー電圧の測定に使用している場合、同時に汎用 I/O ピンとして使用することはできません。ピン割り当ての際には必ずこの点を考慮してください。


バッテリー電圧は抵抗分圧回路を用いて測定されます。ADC が読み取る電圧は実際のバッテリー電圧の半分であるため、ソフトウェア側で ADC の測定値に 2 を掛けて実際のバッテリー電圧を求める必要があります。

バッテリー読み取り例
constexpr float ADC_VREF = 3.3f;
constexpr float ADC_MAX = 4095.0f;
constexpr float DIVIDER_RATIO = 2.0f; // 10k / 10k voltage divider

float readBatteryVoltage() {
// Enable voltage divider circuit and analog switch simultaneously
digitalWrite(BAT_EN, HIGH);

// Wait for U2 output, RC filter and ADC input to stabilize
delay(10);

// Discard one possibly stale ADC reading
analogRead(A3);

// Multiple sampling and averaging to reduce noise
uint32_t sum = 0;
constexpr int samples = 16;

for (int i = 0; i < samples; i++) {
sum += analogRead(A3);
delay(2);
}

// Turn off immediately after measurement to avoid continuous power consumption by divider resistors
digitalWrite(BAT_EN, LOW);

float adcRaw = sum / (float)samples;
float a3Voltage = adcRaw * ADC_VREF / ADC_MAX;

return a3Voltage * DIVIDER_RATIO;
}

void setup() {
Serial.begin(115200);

pinMode(BAT_EN, OUTPUT);
digitalWrite(BAT_EN, LOW); // Disable detection circuit by default

analogReadResolution(12); // RP2040 Plus ADC: 0~4095
}

void loop() {
float batteryVoltage = readBatteryVoltage();

Serial.print("Battery: ");
Serial.print(batteryVoltage, 3);
Serial.println(" V");

delay(1000);
}

注記

低消費電力アプリケーションでは、バッテリー電圧の測定が完了したら BAT_EN を無効にして、分圧抵抗による静止電力消費を低減してください。

  • バッテリー充電中は Charge_LED が点滅します。

  • バッテリー電圧測定結果:リチウムイオンバッテリーの測定電圧は、バッテリーに印字されている公称値と異なる場合があります。必ず実際の測定値を参照してください。

回路図オンラインビューア​

リソース​

XIAO RP2040​

ハードウェア設計

メカ設計

XIAO RP2040 Plus​

ハードウェア設計

コース用リソース​

技術サポート & 製品ディスカッション​

弊社製品をお選びいただきありがとうございます。私たちは、製品をできるだけスムーズにご利用いただけるよう、さまざまなサポートを提供しています。お好みやニーズに応じて選択いただけるよう、複数のコミュニケーションチャネルを用意しています。

Loading Comments...