Seeeduino XIAO

Seeed K.K.の松岡です。
年始に製品発表があったSeeeduino XIAOですが、日本販売店でも購入できるようになってきました。
ここでは、Seeeduino XIAOの紹介と、Arduino IDEでプログラミングする際に迷いそうなポイントを伝えたいと思います。

f:id:matsujirushix:20200407153549p:plain

Seeeduino XIAOってどんなもの?

ざっくりと言うと、小さいArduinoボードです。
Arduinoといえば最もポピュラーなのがArduino Unoです。80mm x 60mmの基板で、Arduinoシールドと呼ばれる基板を重ね合わせることでハードウェア機能を拡張することができます。Seeeduino XIAOは、このArduino Unoと比べて格段に小さく、20mm x 17.5mmです。小さいにもかかわらず、パワフルなCPUを採用しているので、Arduino Unoでは実行できなかった大きく複雑なプログラムを動かすことができます。
もちろん、良いことだけではありません。小さくなったことで入出力ピンの数が少ないです。仕方ない。また、ハードウェアを拡張するのにはんだ付けが必要になります。

Seeeduino XIAOの特徴:

  • 小さい(20mm x 17.5mm)
  • 高性能CPU(ARM Cortex-M0+, Flash256KB, RAM32KB)
  • USBコネクタがType-C
  • I/Oインターフェース豊富(デジタルIO, アナログIO, I2C, UART, SPI)
  • バッテリー接続可能(電圧レギュレータ内蔵)
  • ハードウェア拡張にはんだ付けが必要

youtu.be

Arduino IDEによる開発

Seeeduino XIAOはArduino IDEで開発できます。
やり方は、Seeed公式ドキュメントのGetting Startedに書いてあります。

概要はこのとおり。

  1. Arduino IDEインストール
  2. サンプルスケッチ「Blink」を開く
  3. 「Seeed SAMD Boards」ボードパッケージをインストール(現在はバージョン1.7.1)
  4. ボードを選ぶ(Seeeduino XIAO)
  5. シリアルポートを選ぶ
  6. マイコンボードに書き込む!!

Seeedが提供している「Seeed SAMD Boards」ボードパッケージを入れるところがミソですね。

書き込みが成功してSeeeduino XIAOで「Blink」が動くと、下図の矢印部分にある黄色LEDが点滅します。(ちなみに、その横にある緑色LED点灯は電源がONになっていることを示しています。)

f:id:matsujirushix:20200407164536p:plain

黄色LEDが点滅しない!?

えー、白状しますと、最初、わたしは黄色LEDが点滅しませんでした、、、
Arduino IDEから書き込みを何度実行してもダメ。

そんなときは、次の操作をしてからArduino IDEから書き込みをすると回復しました。

  1. RSTパッドをダブルクリック
  2. 黄色LEDがフワフワと点滅していることを確認
  3. パソコンで仮想COMポートが認識されていることを確認
  4. Arduino IDEでシリアルポートを選ぶ、書き込む!!

RSTパッドのダブルクリックですが、、、ダブルクリックという表現が微妙ですが、、、ジャンパワイヤーなどを使って、すばやく、2回、ショートします。

https://github.com/SeeedDocument/Seeeduino-XIAO/raw/master/img/XIAO-reset.gif

すばやく、2回、ショートできると、黄色LEDがフワフワと点滅します!

なにが起きているのか?(ちょっと玄人向け)

プログラムをフラッシュに書き込むときは、チップ内蔵のbootloaderを起動して、bootloaderの仮想COMポートと通信します。
しかし、ただUSBを接続したときは(bootloaderではなく)ユーザーが作ったプログラムが起動しているので、書き込みができません。bootloaderを起動させる必要があります。
そこで、Arduino IDEはプログラムを書き込む前に、仮想COMポート(これはbootloaderではない!)に接続して、ボーレートを1200bpsにして、切断することで、bootloaderを起動させています。

f:id:matsujirushix:20200407163705p:plain

ただし!
この仕掛けが組み込まれていないプログラムが動いていると、、、bootloaderを起動できず、プログラムを書き込むことができないんです。

えー、RSTをすばやく、2回、ショートするとbootloaderが起動します。(bootloader起動中は黄色LEDがフワフワと点滅します。)

変更履歴

日付 変更者 変更内容
2020/4/7 松岡 作成