前回の続きで、PybricksでサポートされているLEGOブロックとそのスペックを紹介します。
LEGO Mindstorms EV3
EV3 MicroPython version v2.0として、いちおうLEGO公式で提供されています。Pybricksの最新バージョンは本記事執筆時点で v3.3 ですが、EV3がすでに製造停止となっているせいか、EV3用の Pybricks は v2.0 で更新が止まっています。
LEGO Mindstorms EV3 で動く debian であるev3dev用の MicroPython となっています。どちらかというとマイコン向けというよりは Unix 版といった感じで、スクリプトにシバンを指定できます。Linux上で動く以上、OS起動に時間がかかりますし、実行のリアルタイム性も低くなっています。
マイコンは TI AM1808 という今では古いものが使われていますが、Linuxが動かせるだけあって、メモリは他のものに比べてダントツに大きいです。
MCU | 入出力ポート数 | 電源 |
---|---|---|
TI AM1808 (ARM9) Clock: 300MHz RAM: 64MB Flash: 16MB |
入力: 4 出力: 4 |
単3電池6本 または 専用バッテリー(7.4V/2200mAh) |
LEGO Spike プライム(Prime)
LEGO Education が教育市場向けに販売しているセットです。
マイコン内蔵のブロックは、Pybrics では Prime Hub と呼んでいます。日本のLEGO代理店では「ラージハブ」と呼んでいます。
現役でサポートしているものとしては一番のスペックを持っていますが、EV3に比べればかなり控えめなスペックです。
MCU | 入出力ポート数 | 電源 |
---|---|---|
STM32F413VG (ARM Cortex-M4) Clock: 100MHz RAM: 320KB Flash: 1MB FPU: 単精度 |
6 | 専用バッテリー(7.3V/2100mAh) |
ちなみに、LEGO純正のプログラミング環境でも MicroPython をサポートしていますが、Pybricksではさらに性能とリソース確保を重視しています。
LEGO Mindstorms Robot Inventor
LEGO Spike Prime のコンシューマ市場版です。LEGO は Mindstorms シリーズ終了を宣言したため、すでに製造停止となっています。ただし、ハブは LEGO Spike Prime と(色が違う以外)全く同じであるので、Pybricksで利用可能です。
LEGO Spike ベーシック (Essential)
LEGO Spike をより低年齢向けにしたセットです。
マイコン内蔵のブロックは、Pybrics では Essential Hub と呼んでいます。日本のLEGO代理店では「スモールハブ」と呼んでいます。
Prime Hubとほぼ同様のスペックを持っていますが、入出力ポートは2つしかありません。
MCU | 入出力ポート数 | 電源 |
---|---|---|
STM32F413RG (ARM Cortex-M4) Clock: 100MHz RAM: 320KB Flash: 1MB FPU: 単精度 |
2 | 専用バッテリー(7.3V/600mAh) |
LEGO Technic シリーズ Control+ 搭載もの
LEGO Technic シリーズのうち「CONTROL+」印のあるものにマイコン内蔵のブロックがついています。
マイコン内蔵のブロックは、Pybrics では Technic Hub と呼んでいます。
Spike と同じ ARM Cortex-M4 のマイコンを搭載していますが、Spikeと比べればずっと安い価格で入手可能です。ただし、メモリは少なくなっています。
MCU | 入出力ポート数 | 電源 |
---|---|---|
STM32L431RC (ARM Cortex-M4) Clock: 80MHz RAM: 64KB Flash: 256KB FPU: 単精度 |
4 | 単3電池6本 |
LEGO CITY シリーズ Powered Up 搭載もの
LEGO City シリーズのうち「POWERED UP」印のあるものにマイコン内蔵のブロックがついています。列車もののコントロールに使われていることが多いです。
マイコン内蔵のブロックは、Pybrics では City Hub と呼んでいます。
マイコンのスペックは下がって、ARM Cortex-M0 です。メモリはさらに減って、入出力ポートも2つしかありません。列車ものでは、駆動用のモータとライトがあればよいのでポート2つで十分という判断でしょう。
MCU | 入出力ポート数 | 電源 |
---|---|---|
STM32F030RC (ARM Cortex-M0) Clock: 48MHz RAM: 32KB Flash: 256KB |
2 | 単4電池6本 |
LEGO Boost シリーズ
LEGOのコンシューマー市場向けプログラミング教材です。
マイコン内蔵のブロックは、Pybrics では Move Hub と呼んでいます。
他のハブと違ってモータ2基を内蔵しているため、大きめです。
スペックは、Pybricksがサポートしているものの中では最低です。メモリが少なすぎて、REPLが使えないなどの制限があります。
MCU | 入出力ポート数 | 電源 |
---|---|---|
STM32F070RB (ARM Cortex-M4) Clock: 48MHz RAM: 16KB Flash: 128KB |
4 (内2つは内蔵モータに接続固定) |
単4電池6本 |
次はプログラミング環境について
次の記事ではPybricksのプログラミング環境であるPybricks Codeの紹介と、ファームウェアのインストールについて書きます。