秋月に注文してたSeeed社XIAO(Microchip SAMD21)モジュールが届いたので動かしてみる。
・外観
見ての通りarduino互換機の中では超小型の部類に属する。Microchip SAMD21G16(旧姓:Atmel ATSAMD21G16)はCortex-M0+,64QFN,Flash256KB,SRAM32KBとTeensy-LCのメモリ増量バージョンに相当するがピン数は少ない。5Vトレラント非対応故入力ポートは3.3±0.3V以下にする必要がある。
・デバイス認識と動作確認
本モジュール(以下XIAO)はArduino IDEからは/dev/ttyACM0 デバイスとして認識される(CDCACMデバイスとして認識される)。
[873475.533348] usb 1-1: Product: Seeed XIAO M0
[873475.533355] usb 1-1: Manufacturer: Seeed
[873475.533361] usb 1-1: SerialNumber: DC96091150534B54332E3120FF072713
[873475.535702] cdc_acm 1-1:1.0: ttyACM0: USB ACM device
芸が無いがTeensy3.1(Kinetis K20)用のソースを本機用にリコンパイルしてarduino IDEで書き込みを行い先日書いたWing Proで試したpython3用tkinterでarudinoと通信するプログラム(tk_button_p3.py:仮称)で動作確認した。
普通に動作するので一安心だが時折CDCACMデバイスではなくMSDかコンポジットデバイス(MSD+CDCACM)に認識される場合がある?ようで何か条件があるのだろう。いくらarduino互換機でもドキュメント読まずに繋いでみるのは無謀過ぎるがあまり考えずに基本動作は確認出来たので今日はこれで由とする。この手の不安定要因は明確にしておかないと後々後悔するから真面目に調査・確認しておいた方が良い(教訓)。
・まとめ
・ピン数を除いてTeensy-LCよりコスパは多分良い。
・arduino IDEでSeeedstuino XiAOをダウンロードすれば開発環境は整う。
・5Vトレラント非対応故、入力は3.3V以下に制限される。
・USBコネクタはtype-Cであり今後の主流ではあるがMicro-B,mini-B環境が標準の人はtype-C用ケーブルを確保要。