Seeeduino XIAO 用機能拡張ボードの概要

[CircuitPythonで開発] [ArduinoIDEで開発] 〔Seeeduino XIAOの使い方に戻る〕


Seeeduino XIAO用の機能拡張ボードが秋月電子通商から販売されていたので購入してみました。
(Seeeduino XIAO本体の概要はこちらを参照ください。)
XIAO用の拡張ボード 写真は秋月電子通商さんからちょいと拝借しました
このボード、Seeed Studioのセンサーモジュール
等の"Groveシリーズ"と接続する様に出来ている
様です。
仕様
・動作電圧:USB接続の5V / 3.7Vリチウム電池
      内部回路は3.3Vで動作します。
・消費電流:460mA(最大)
・RTCチップ:PCF8563T/5
・RTCタイマーの精度:±1.5s/DAY(25°C)
・RTCバッテリー:CR1220
・ディスプレイ:0.96" OLEDディスプレイ(白黒)
・拡張可能なメモリ:MicroSDカード
・Groveインターフェース:GroveI2C*2、Grove UART*1、A0/D0 Grove*1
・その他の外部機器:パッシブブザー、ユーザーボタン、5Vサーボコネクタ

「RaspberryPi4サイズのわずか半分のSeeeduinoXIAO用の強力な機能拡張ボードです。
 これにより、プロトタイプとプロジェクトを簡単かつ迅速に構築できます。
 OLED、RTC、拡張可能メモリ(SD)、パッシブブザー、RESET/ユーザーボタン、5Vサーボコネクタ、
 複数のデータインターフェイス等の豊富な周辺機器により、SeeeduinoXIAOの無限の可能性を探る事が
 できます。」

メーカー製品情報より

《ハードウェアの概要》

ハードウェアの概要図(表)
ハードウェアの概要図(裏)
このハードウェアの概要図はメーカー製品情報より拝借しました。


Charging Status Indicate
 電源ではなく充電の状態を示すLED表示器です。たぶん!
 緑色のライトが点滅:USB電源で使用している時か、バッテリーが充電されていない場合?
 緑色のライトが点灯:"Battery charge"となっているので外部バッテリーへ充電中に点くのでしょう。
 緑色のライトが消灯:充電完了で消えるようだ。
           "Battery Switch"を"ON"にしても消えたまま変化無しです。

Battery Switch
 外部バッテリーを接続した時のスイッチです。
 "ON"にしても緑色LEDは点かないがXIAOのLEDは点灯するので判るでしょう。

IIC
 I2C機器を接続する為のコネクターです。
 JST 4P ピン間2mm(PH)タイプでIICx2個です、"Groveシリーズ"が接続できる様です。
 3.3V電源へ4.7KΩでプルアップはされている様です。
XIAOピン番号(GPIO)


インターフェース
SDA(A4/D4)
SCL(A5/D5)
コンポーネント
Grove4Pコネクター * 2個
コネクター配列
[SCL(5)][SDA(4)][3V3][GND]
 ※ I2C配線は、他にRTCとOLEDにも繋がっている事に注意しましょう。
   A4/A5/D4/D5としては使用しない方が良いかもね?

OLED Display 0.96
 0.96インチ 128x64 有機EL OLED グラフィック表示ディスプレイ(SSD1306)です。
 I2C接続でI2Cアドレスは0x78の模様、秋月電子通商のこちらと同等品の様です。
 尚、I2Cアドレスを0x7aに出来るパッド(SDソケット横)が有りそれを切断すると良いようです。
 「PCに接続せずにデータを表示でき、より効率的な方法でデバッグを可能にし、センサーハブ、
  データモニターシステムな等のアプリケーションを構築できます。」

PMIC
 PMIC(Power Management IC)と呼ばれる複合電源ICです。
 単体の電源ICを複数個、一つのチップ内に搭載してパッケージ化された電源ICで、
 同一種類の電源の組合せた物と異なる電源を複合化した物等がある様です。
 又、電源起動シーケンスの制御や消費電力低減の為の各電源のON/OFF制御等の電源制御を
 行ったりするらしい。詳しくはこちらを参考にしてください

SWD
 SWD(Serial Wire Debug)と呼ばれる内部回路と通信を行う汎用的なインタフェースです。
 「SWDピンがオスピンヘッダーとして導かれ、デバッガー接続とファームウェアのダウンロードが
  はるかに簡単になりました。」
 ピンヘッダーは4P有り名称は、[GND][3V3][SWDIO][SWCLK]となります。

REST
 リセットを行うボタンです。
 今までは、ジャンパー線での短絡で行っていたのでやりずらかった、ワンクリックで簡単にリセット
 できます。尚、DFUブートローダーモードに入る場合はボタンを2回素早く押します。

Buzzer
 パッシブブザー(LET5020CS-03L)です。
 「PMW周波数を変更して、異なるビープ音を鳴らして「ブザー音楽」を鳴らす事ができます。」
XIAOピン番号(GPIO)

インターフェース
A3
コンポーネント
ブザー

A0
 A0/D0のピンが引き出されているGroveコネクターです。
 JST 4P ピン間2mm(PH)タイプです、"Groveシリーズ"が接続できる様です。
XIAOピン番号(GPIO)

インターフェース
A0/D0/DAC
コンポーネント
Grove4Pコネクター
コネクター配列
[GND][3V3][N/A][0]

UART
 UART機器を接続する為のコネクターです。
 JST 4P ピン間2mm(PH)タイプです、"Groveシリーズ"が接続できる様です。
XIAOピン番号(GPIO)


インターフェース
TX(A6/D6)
RX(A7/D7)
コンポーネント
Grove4Pコネクター
コネクター配列
[GND][3V3][TX(6)][RX(7)]
 ※ このコネクターは、A6/A7/D6/D7として使用できるでしょう。
 ※ ”5V Servo/Sensor Connector”ともつながっているがぁ....

User Button
 汎用的に利用できる押しボタンです。
 「リセットボタンの他に、別のユーザー定義ボタンも用意しました」
 ボタンはプルアップされていないので、”pinMode(1, INPUT_PULLUP);”が必要でしょう。
XIAOピン番号(GPIO)

インターフェース
D1
コンポーネント
押しボタン

JST2.0 Lipo Battery Connector
 外部バッテリーを接続できるコネクターです。
 外部バッテリーは 3.7Vリチウム電池となっているようです。
 「JST 2P ピン間2.0mm(PH)標準リポバッテリーコネクタとバッテリー管理システム(PMIC)を
  搭載しています。」

5V Servo/Sensor Connector
 5V(MAX700mA)配線でサーボとセンサー等が接続できるオスヘッダーです。
 ピンヘッダーは4P有り名称はバッテリーコネクター側から、[GND][5V][TX(6)][RX(7)]となります。
 おそらく[TX(6)]はD6/A6としてRX(7)はD7/A7としても利用出来ると思われます。
 ※ TX/RXピンはXIAOにそのまま配線だがぁ3V3に落とさなくても大丈夫なのかぁ....

RTC Chip
 リアルタイムクロック(PCF8563T/5)です。
 「主電源がオフの時に正確な時刻を維持できるバッテリーバックアップ付きです。」
 I2C接続でI2Cアドレスは0x51の様です、又、32.768KHzの水晶が付いている様です。
 尚、Chipの"INT/CLKOUT"ピンはプルアップされている様なので
 クロック出力やアラームとタイマー機能が出来ないのかなぁ?

MicroSD Card Slot
 MicroSDカードスロットです。
 「拡張可能なメモリとして使用されライブラリを追加したり、Circuitpythonを使用したりする時に
  メモリ制限の心配がなくなります。」
XIAOピン番号(GPIO)



10
インターフェース
CS(D2)
SCK
MISO
MOSI
コンポーネント
MicroSDカードスロット
 ※ A2/D2(2)/A9/D9(9)/A10/D10(10)を利用する場合は、
   SD接続の為にプルアップされている事に注意しましょう。利用しないい方がが良いかもね。
 
Buzzer connected pard
 ブザーをシステムから切り離す事が出来るパッドです。
 おそらくXIAOピン3番(A3/D3)に何か出力するとブザーが反応するかもです、嫌な人は下記を
 施しましょう。(鳴らしてみたが音が小さい、こんなん要らんわ!)

ブザーの接続可否のパッド ブザーがXIAOピン3番(A3)と接続されている状態(デフォルト)

ブザーがXIAOピン3番(A3)と切り離されます。

RTC Battery Holder
 RTC用のバックアップバッテリホルダーです。
 バッテリーはボタン電池のCR1220(3V)を用います。

M3 Assembly Hole
 機能拡張ボードを取り付ける為の3mm穴です。

【入出力ピンのまとめ】
GPIO
内容

D0/A0/DACで使用可能。
Groveコネクターに繋がっている。

D1/A1で使用可能。
押しボタンスイッチに繋がっている、プルアップ配線は無しです。

SWのD2配線はOK、A2接続は注意しましょう。
SDカードの"SPI(CS)"に繋がっていてプルアップ(4.7K)配線されている。

D3/A3はブザーに繋がっている。
D3/A3を出力すればブザーが鳴るでしょう、ブザー切り離しパッドあり。

I2CのSDAに繋がっていて、プルアップ(4.7K)配線されている。

I2CのSCLに繋がっていて、プルアップ(4.7K)配線されている。
I2C用のGroveコネクターに繋がっている他、RTC/OLEDにも繋がっている。

D6/A6で使用可能でしょう。
UARTのTXに繋がっている。

D7/A7で使用可能でしょう。
UARTのRXに繋がっていて、5Vのオスピンヘッダーにも繋がっている。

SDカードの"SPI(SCK)"に繋がっている。

SDカードの"SPI(MISO)"に繋がっていてプルアップ(4.7K)配線されている。
10
SDカードの"SPI(MOSI)"に繋がっていてプルアップ(4.7K)配線されている。

0/1/6/7ピンはデジタル/アナログピンで無条件に使えるでしょう。
3ピンもブザーを切り離せば使えるでしょう。

※ 販売元の”Seeeduino XIAO”のページ(メーカー製品情報)はこちらです。
※ [Wiki] Seeeduino XIAO Expansion board(操作情報)はこちらです。
※ 機能拡張ボードの回路図PDFはこちらから。

《動作サンプルプログラム》

この例では、XIAO拡張ボードのボタンを使用してSeeeduinoXIAOのLEDを制御する方法を紹介します。

@ Seeeduino XIAOを拡張ボードに取り付けてから、Type-Cケーブルを接続します。

A ArduinoIDEを開き、下記スケッチをコピーしてArdionoIDEに貼付け、XIAOにアップロードします。
------------------------------------------------------------
const int buttonPin = 1; // 押しボタンピンの番号 int buttonState = 0; // 押しボタンステータスを読み取る為の変数 void setup() { // LEDピン(13番)を出力として初期化します: pinMode(LED_BUILTIN,OUTPUT) ; // 押しボタンピン(1番)を入力として初期化します: pinMode(buttonPin,INPUT_PULLUP) ; } void loop() { // 押しボタン値の状態を読み取ります: buttonState = digitalRead(buttonPin) ; // 押しボタンが押されているかどうかを確認します。 // 押していない場合、buttonStateはHIGHです。 if (buttonState == HIGH) { // LEDをオフにします: digitalWrite(LED_BUILTIN,HIGH) ; } else { // LEDをオンにします: digitalWrite(LED_BUILTIN,LOW) ; } }
------------------------------------------------------------

B 拡張ボードの押しボタンを押せばXIAOの黄色LEDが点灯するでしょう。

《その他》

※ 機能拡張ボードで使用できそうなケーブル&コネクタ
  ・JST 4P(PH) メス - JST 4P(PH) メス ケーブル(Grove通常品)はここ
  ・JST 4P(PH) メス - ジャンパピンオスケーブルはここ
  ・JST 4P(PH) メス - ジャンパピンメスケーブルはここ
  ・Grove4Pオスコネクタ ブレイクアウトボード 縦型両側ピンはここ
  ・JST 2P(PH) メスコネクタ付きワイヤはここ
  ・JST 2P(PH) メスコネクタ付き リチウムイオンポリマー電池 400mAh はここ

※ こんなGrove拡張ボード「Seeeduino Xiao用Groveシールド」もある様です。





【きむ茶工房ガレージハウス】
Copyright (C) 2006-2021 Shigehiro Kimura All Rights Reserved.