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

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

Seeed Studio XIAO RP2040Seeed Studio XIAO RP2040 Plus

概要

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 Pin x14
Digital Pin × 11
Analog Pin × 4
PWM Pin × 11
I2C × 1
UART × 1
SPI × 1

GPIO Pin x29
Additional GPIO Pad × 15
Digital Pin x26
Analog Pin × 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 Button × 1
Boot Button × 1

User LED × 1
Power LED × 1
Charge LED (Battery Charging Indicator) × 1
RGB LED × 1
Reset Button × 1
Boot Button × 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 3PCS パック

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_RRed channelGPIO17XIAO RP2040 上の RGB LED 赤チャンネルを直接制御
USER_LED_GGreen channelGPIO16XIAO RP2040 上の RGB LED 緑チャンネルを直接制御
USER_LED_GBlue channelGPIO25XIAO RP2040 上の RGB LED 青チャンネルを直接制御
RGB_LEDWS2812B dataGPIO12/NEOPIX単線 WS2812B カラーデータ制御
RGB_ENWS2812B enableGPIO11WS2812B 電源を有効化;カラーデータピンではない
User LEDUser-controlled LEDGPIO25XIAO RP2040 Plus 上の独立したユーザー LED
BAT_ENBattery EnableGPIO24Plus 上のバッテリー電源制御
CHARGE_LEDCharging Indicatorハードウェア制御の充電状態 LED;ユーザー GPIO ではない
SWDIOSWD DebugSWDIORP2040_SWDIOSerial Wire Debug データ
SWCLKSWD DebugSWCLKRP2040_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...