つい先日、IntelがIoTやデータセンターを軸とした新しい成長に向けて12,000人ものリストラを行うとのニュースが入ってきた。タイムリーな話題といえるかどうかは分からないが、Intelがリソースを注力するIoT部門の製品として、IoT Edge Device向けに提供する開発ボード「Arduino/Genuino 101」が日本でも普通に購入できるようになったので、これを試してみたい。

ArduinoとGenuino - 2つのブランドが誕生した背景

本題に入る前に、まずは製品名称の話から。Arduino Duemilanove→Arduino Unoあたりまでは名前の混乱がなかったArduinoであるが、元々はイタリアの学生達によるプロジェクトとしてスタートした。その後プロジェクトが大きく成功し、プロジェクトの中心となった5人のメンバーによりArduino LLC(米国)という会社も設立され、ここがArduinoの開発と製造・販売を担ってきた。

さて、話が複雑化するのは2014年ごろになる。イタリアで製造と販売を担うArduino SRC(以前はSmart Projects SRLという名前だった)がArduinoの商標をイタリアで取得、これに対抗してArduino LLCも米国でArduinoを商標として登録した。

厄介なのは、商標は「商標に関するパリ条約」(正確には「工業所有権の保護に関するパリ条約」)で保護されており、この条約に加盟している国においては「先にどこかの国で商標を取得すれば、パリ条約に加盟している全ての国において商標が優先的に取得できる」という条項があることだ。

つまり、米国を除くほとんどの国(パリ条約に加盟していなくても、例えばWTOでは加盟国に対してパリ条約の優先権を適用すると協定で定めているため)で、Arduino SRLが"Arduino"という商標を優先的に取得できる(というか、Arduino LLCの製品は事実上取得できない)という状況になった。

米国に関しては現在訴訟の最中であるが、一応現時点ではArduino LLCが"Arduino"の商標を取得している。この結果、Arduino LLCの製品に関しては

  • 米国内向け:Arduino
  • 米国以外向け:Genuino

という2種類の製品名が用意されることになった。ArduinoのProductsページでは、"USA Only""outside USA"の2つの販売ページが存在する。

ということで、今回試用するのはGenuino 101ということになるのだが、中身としては米国向けのArduino 101と全く同じで、製品名だけが違う形になる。以下混乱するので、今回のレビューする製品についてはGenuino 101で統一させていただく。

Genuino 101とArduino Unoとの違い

さて、ここからは本題に入る。そのArduino LLCとIntelは2015年10月に、イタリアで開催されたMaker Faire Rome 2015において、Genuino 101を発表した。Arduino LLCではこのGenuino 101を、従来のArduino Unoの後継というか、「ちょっと性能の上がった製品」と位置づけている模様だ。

Photo01:ローマということで、商品名はGenuino 101に。左がIntelのJosh Walden氏(SVP and GM of the New Technology Group)。右はArduino LLC代表のMassimo Banzi氏

Arduino Unoとの違いを挙げると以下のようになる。

・プロセッサ:Arduino UnoはAtmelの16MHz駆動のATMega328ベースで、32KB Flash/2KB SRAMの構成となる。ただしArduinoのブートローダでFlashを7KB利用するので、Sketchで利用できるのは25KB Flash/2KB SRAMとなる。

一方Genuino 101はIntelのCurieを搭載する。こちらは32MHz駆動となる32bitのx86コア(Quark)と32bitのARCコアを搭載するSoCで、384KBのFlash/80KB SRAMを内蔵する。このうちSketchからは192KB Flash/24KB SRAMが利用可能になっている。

アーキテクチャが違うから単純に比較はできないが、ほぼ8倍のコード量と12倍のデータメモリが利用できる計算だ。特にSRAMに関しては、Arduinoでセンサーハブ的なことをやらせようとすると、利用できるメモリ量の少なさが常に問題になっていただけに歓迎できる。

・6軸センサーを内蔵:これは元々Curieが内部に6軸センサー(X/Y/X方向の移動加速度と各速度)を搭載しており、これをそのままArduinoのSketchとして読み出すことができる(このために必要なライブラリも追加された)。Arduino Unoはシールドの形で6軸センサーを追加しないと同様の事はできなかった。

・BLEの通信に対応:これもCurieがBLE用のモデムを搭載していることから可能になっている。Genuino 101は基板上にBLEのアンテナも備えており、これを利用してBLE経由での送受信がやはりArduinoのSketchで簡単に行える。

・RTCが搭載:これもCurieに内蔵されており、RTCを外付けにしなくても利用可能になった。

・Master Resetボタンが新設:これはどうもCurieの仕様に関する制約らしいのだが、通常のResetでは対応できない場合があり、この際に強制的にシステムを再起動する方法としてMaster Resetボタンが新たに追加された。

大きな違いはこのくらいだ。逆に言えば、そのほかの項目は、おおむねArduino Unoと違いがない様に作られており、そのための工夫もいろいろとなされている。そのあたりは追々紹介するとして、パッケージを紹介しよう。Genuino 101のパッケージそのものはArduino Unoと同じサイズの紙箱である(Photo02)。

Photo02:"101"をオレンジ地に白抜きにして目立たせている

ただ明確にUnoと区別できるような工夫もしている。ちなみに側面の色や空け方も異なる(Photo03)。内部は説明書きと、導電性フィルムに包まれた本体が入っているだけである(Photo04)。

Photo02:"101"をオレンジ地に白抜きにして目立たせている

Photo04:Arduino Unoには同梱されているシールは見当たらず

さて両者を比較してみたのがPhoto05。Genuinoは写真で言うところの左下に、基板上にBLEのアンテナが配されている。裏面はPhoto06のような形で、すっきりしている。

Photo05:中央のCurieチップを囲むようにレベルシフタとFlash Memoryが配されている。一方USB-Serialは存在せず

Photo06:配線の太さそのものが大分異なる。技適マークはシールの形で貼付けられていた

またコネクタ部は、USBコネクタとDCアダプタの位置は完全に同じになっており、Arduino Duo用に作成したケースはほぼそのままGenuino 101でも使えるはずだ(Photo07)。

Photo07:Genuino 101(右側)で、DCアダプタとUSBの間にあるのが、新設されたMaster Resetスイッチ。通常のReset Switchの位置はArduino Duoと変わらず

ここまで紹介したGenuino 101は日本仕様(技適マークが付いている)である。では、日本以外での仕様は? ということで比べてみたのがこちら(Photo08,09)。日本仕様はやや深みのある青なのに対し、日本以外仕様はArduino Unoと同じ緑が強い青であった。

Photo08:上が日本仕様、下が日本以外仕様。一見して違いは見当たらない

Photo09:裏面も色以外は特に差はみあたらず

もっとも見た限りでは違いはその程度である。もしかしたら、技適取得済かどうかを明確に判断できるようにするために、あえて日本向けロットでは基板の色を多少変えているのかもしれない。

ちなみに価格は、日本向けのGenuino 101はオープン価格となっており、筆者はSwitch Scienceにて、4,980円で購入した。余談だが、同社の場合は発注額が5000円を超えると送料無料になるので、一緒に赤外線LEDを1個購入するという技を利用した。

一方の日本国外向けは、国内に販売拠点があるところから購入すると当然日本版になるため、あえてelement14から購入した。ちなみにお値段はシンガポール国内だと45.05 SPDだが、日本への発送は60.00 SPDだった。最近のレートだと1 SPDが大体82円弱なので、4900円ほどになる。要するにどこで買っても概ね同じ、という感じだ。

Arduino UnoをやはりSwitch Scienceで買うと3240円であり、やや割高感はあるが、その分「機能が増えて性能が増した」という考え方であろう。

ちなみに欧米での価格はArduino Unoが24.95 USD/20.00 EURで、Arduino 101/Genuino 101が32.12 USD/28.65 EURとなっており、欧米に比べるとちょっと価格差が大きいのは、技適取得のコストを考えると仕方がないところだろう。