Seeeduino XAIOは本当に小さい!

Seeedさんのコミュニティで見かけたSeeeduino XIAO。その名のごとくものすごく小さい基盤。前々から少しきになっていたのですが、当時仕事が忙しく時間が取れなかったこともあり、購入を止めていました。ただ、コロナウイルスの関係でとうとう在宅勤務になったこともあり。通勤時間などもなくなったので時間も割とできるようになりました。そこで、Seeeduino XIAOを入手しました。

http://files.seeedstudio.com/products/102010328/img/Seeeduino-XIAO-pinout.jpg

基本的にはSeeedの松岡さんが既にブログをかかれているのでそれとほとんど同じ内容になっちゃうかなと思います。 lab.seeed.co.jp

今回の入手では色々探していたのですが、スイッチサイエンスさんにもまだおいていなかった(2020年4月10日現在)ので今回は共立電子さんのサイトから購入しました。共立さんにはSeeeduino Lotusも売っていたので同時購入しています。Seeeduino XIAOAmazonにも売っていましたが価格が高すぎたのでやめました。

eleshop.jp

入手後、このエントリーを書いている途中で秋月さんでも売っていると知りました。あー。

akizukidenshi.com

では、ファーストタッチ行きます!

公式ページは以下となります。Bazaarで購入すれば$4.9です。

www.seeedstudio.com

wiki.seeedstudio.com

Seeeduino XIAOのLチカ

Seeeduino XAIOのパッケージを開けるとこんな感じです。

f:id:ueponx:20200417221901j:plain

小さいものすごく小さいです。切手サイズといってもこれはいいでしょう。SDカードのサイズと比較しても小さいのがわかります。USB Type-Cコネクタが大きく見えるほどです。

これだけのサイズ(20(L)×17.5(W)×3.5(H)mm)で

  • マイクロコントローラ:SAMD21G18
  • CPU:ARM Cortex-M0+コア、最大48MHz
  • RAM:32KB、ROM:256KB
  • デジタル入出力:11本(全てアナログ入力対応)
  • デジタル出力(DAC):1本
  • UART、SPI、I2C:各1
  • 電源:3.3V/5V DC、USB Type-Cコネクタ経由

なので、本当にすごいです。I/Oピンの電圧は3.3Vのようです。

For general I/O pins: Working voltage of MCU is 3.3V . Voltage input connected to general I/O pins may cause chip damage if it' higher than 3.3V .

基本的にはオンボードでLEDがついているのでこちらをLチカさせていきます。公式のサイトと同じように作業をすすめて行けば、基本大丈夫なはずです。(ハマることもあるそうですが)

Arduino IDEを起動します

f:id:ueponx:20200417221758p:plain

今回使用したArduino IDE1.8.12を使用しています。 ここでまず、メニューから【ファイル】→【スケッチ例】→【01.Basics】→【Blink】を選択します。この部分は書き込む前でも構わないのですが、公式マニュアルに従います。

f:id:ueponx:20200417221802p:plain

読み込みが終わったら、今度はWindows PCにUSBでケーブルで接続します 。特に問題なくデバイスのセットアップが行われトースト表示が行われます。デバイスとしてはSeeed femto M0として認識されているようです。

f:id:ueponx:20200417221805p:plain

無事に認識ができたら、今度はArduino IDEの設定を行っていきます。

f:id:ueponx:20200417221808p:plain

メニューから【ファイル】→【環境設定】をクリックし、環境設定ダイアログを表示させます。【設定タブ】の中の【追加のボードマネージャのURL】の入力ボックスに以下のURLを入力して、【OK】ボタンをクリックします。

入力するURL:

https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json

f:id:ueponx:20200417221811p:plain

続いて、ボードマネージャーの設定に進みます。メニューから【ツール】→【ボード:”〇〇”】→【ボードマネージャ】をクリックします。(〇〇は最後に使用したボード名になっています)

f:id:ueponx:20200417221816p:plain

すると、ボードマネージャダイアログが表示されます。ここで入力ボックスにSeeeduino XAIOを入力すると、対応するパッケージが表示されます。含まれているボードにSeeeduino XIAOが記載されているのを確認して【インストール】ボタンをクリックします。

f:id:ueponx:20200417221819p:plain

インストール作業がすすみ…

f:id:ueponx:20200417221821p:plain

完了したら、【閉じる】ボタンをクリックしてダイアログを閉じます。

f:id:ueponx:20200417221826p:plain

途中以下のような警告が表示されますが、そのまま様子を見ます。

f:id:ueponx:20200417221829p:plain

あとはボードとシリアルポートを行っていきます。メニューから【ツール】→【ボード:”〇〇”】→【Seeeduino XIAO】をクリックします。(〇〇は最後に使用したボード名になっています)

f:id:ueponx:20200417221832p:plain

選択後に、メニューの【ツール】→【ボード:”Seeeduino XIAO”】と表示が変更されているのを確認します。続いてはシリアルポートの選択です。

f:id:ueponx:20200417221837p:plain

メニューから【ツール】→【シリアルポート】→【COM〇〇】をクリックします。今回は接続時にCOM10として認識されていたのでこちらを選択します。

f:id:ueponx:20200417221841p:plain

選択後に、メニューの【ツール】→【シリアルポート:”COM10”】と表示が変更されているのを確認します。

f:id:ueponx:20200417221846p:plain

これで事前準備は終わりです。あとはボードへの書き込みを行います。 メニューバーの【→】ボタンをクリックしてコンパイルと書き込みを行います。

f:id:ueponx:20200417221849p:plain

無事に書き込みが終わったのですが、ログのsuccesfulの表示が赤文字なのでかなりドキッとさせられますが、正常に書き込まれているのでご安心ください。

f:id:ueponx:20200417221852p:plain

正常に書き込まれれば、ボード上のLEDが点滅します。下の写真ではLEDが消えた瞬間の写真になってますが(涙)

f:id:ueponx:20200417221858j:plain

注意点

私は運良くトラブルは発生しませんでしたが、その他のブログなどではプログラミングプロセスが失敗し、Seeeduino XIAOポートが消えることがあるそうです。

【以下を参照】

wiki.seeedstudio.com

この場合には以下の作業を行う必要がありそうです。

  • Seeeduino XIAOをコンピューターに接続する
  • ピンセットまたは短い線を使用して、RSTピンを2回ショートさせる(以下の画像の赤い丸の中のパターン)
  • レンジ色のLEDライトが点滅する ・もう一度シリアルポートを選択する

f:id:ueponx:20200420164933p:plain

この作業をすることで、チップはブートローダーモードに入り、書き込みポートが再び表示されるようになります。このチップはユーザプログラムモードブートローダーモードの2つのモードを持っているので、書き込み時にはブートローダモードにする必要があるのだそうです。

以下の画像の様に行うそうです。(先日まであったのですが、現在リンク切れになっています)

https://files.seeedstudio.com/wiki/Seeeduino-XIAO/img/XIAO-reset.gif

ちょっと細かい作業なので老眼の私にはちょと辛いですね。

おわりに

ここまで小さいとは本当にびっくりしました。でも、この大きさなら電源も小さくしたくなりますね。リチウムイオン電池などをつかえば工作も楽にできそうです。Wio Nodeでもすごいと思っていたのですが、更に1000円を切っていると思うと考えるところがあります。このサイズに無線通信とか入れるにはこのサイズ的には難しそうですが、無線機能なしでも、これはこれで使い所はありそうです。

個人的にはUnity用のコントローラに使うのも面白そうかなと思っています。