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

Seeed Studio XIAO RP2040 入門ガイド

pir

概要

Seeed Studio XIAO RP2040 シリーズには、XIAO RP2040XIAO 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

オンボード

User LED × 1
Power LED × 1
Green LED × 1
Blue LED × 1
Red LED × 1
RGB LED × 1
Reset ボタン × 1
Boot ボタン × 1

User LED × 1
Power LED × 1
Charge LED(バッテリー充電インジケータ)× 1
RGB LED × 1
Reset ボタン × 1
Boot ボタン × 1

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

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

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外部ピンとしては使用不可
D12GPIOGPIO18Plus 専用拡張 GPIO
D13SCL1GPIO21Plus 専用 I2C1 クロック
D14SDA1GPIO20Plus 専用 I2C1 データ
D15GPIOGPIO19Plus 専用拡張 GPIO
D16GPIOGPIO22Plus 専用拡張 GPIO
D17GPIOGPIO23Plus 専用拡張 GPIO
D18外部ピンとしては使用不可
D19GPIOGPIO5Plus 専用拡張 GPIO
D20GPIOGPIO13Plus 専用拡張 GPIO
D21GPIOGPIO14Plus 専用拡張 GPIO
D22GPIOGPIO15Plus 専用拡張 GPIO
D23GPIOGPIO16Plus 専用拡張 GPIO
D24GPIOGPIO17Plus 専用拡張 GPIO
D25GPIOGPIO10Plus 専用拡張 GPIO
D26GPIOGPIO9Plus 専用拡張 GPIO
D27GPIOGPIO8Plus 専用拡張 GPIO
ResetRUNRUNRUNリセット入力
BootRP2040_BOOTRP2040_BOOTRP2040_BOOTブートローダーモードに入る
USER_LED_R赤チャンネルGPIO17XIAO RP2040 上の RGB LED 赤チャンネルを直接制御
USER_LED_G緑チャンネルGPIO16XIAO RP2040 上の RGB LED 緑チャンネルを直接制御
USER_LED_G青チャンネルGPIO25XIAO RP2040 上の RGB LED 青チャンネルを直接制御
RGB_LEDWS2812B データGPIO12/NEOPIX単線 WS2812B カラーデータ制御
RGB_ENWS2812B イネーブルGPIO11WS2812B 電源を有効化;カラーデータピンではない
User LEDユーザー制御 LEDGPIO25XIAO 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

ハードウェア設計

XIAO RP2040 Plus

ハードウェア設計

コース用リソース

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

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

Loading Comments...