毎回TinyGoのversionが上がるたびにsago35の記事を読んでTinyGoで遊んでいるamanoeseです。 sago35.hatenablog.com
実際にボードを購入してTinyGoで使用してみると、安く入手しやすいボードでは意外とi2cやspiに未対応で詰まったりすることがありました。 そのため対応機能ごとに比較できるように、TinyGoのマイクロコントローラ一覧に記載されている内容をテーブル化したものを作成してみました。
表ではTinyGoでサポートされている機能のみ記載します。
HardwareはサポートしているもののTinyGoがサポートしていない機能も多くあります。
センサやディスプレイを搭載してるなどの情報が乗っていないため、値段あたりの〜のような比較はできないことに注意してください。
(値段についてはドル表記は、輸入の際の送料や手数料が考慮されていないため参考程度なことに注意)
また、FlashとRAMと値段についてはsago35の記事を参考にしていますが、一部修正を加えております。
TinyGo 0.22がサポートするマイクロコントローラと利用機能と価格などの一覧
micro controller | GPIO | UART | SPI | I2C | ADC | PWM | BT* | WiFi | Flash | RAM | price |
---|---|---|---|---|---|---|---|---|---|---|---|
Adafruit CLUE | YES | YES | YES | YES | YES | YES | - | - | 1MB | 256KB | $39.95 |
Adafruit Circuit Playground Bluefruit | YES | YES | YES | YES | YES | YES | - | - | 1MB | 256KB | $24.95 |
Adafruit Circuit Playground Express | YES | YES | YES | YES | YES | YES | - | - | 256KB | 32KB | $24.95 |
Adafruit Feather M0 | YES | YES | YES | YES | YES | YES | - | - | 256KB | 32KB | $19.95 |
Adafruit Feather M4 CAN | YES | YES | YES | YES | YES | YES | - | - | 512KB | 192KB | $24.95 |
Adafruit Feather M4 | YES | YES | YES | YES | YES | YES | - | - | 512KB | 192KB | $22.95 |
Adafruit Feather RP2040 | YES | YES | YES | YES | YES | YES | - | - | 8MB | 264KB | $11.95 |
Adafruit Feather STM32F405 Express | YES | YES | YES | YES | YES | Not yet | - | - | 1MB | 192KB | $39.95 |
Adafruit Feather nRF52840 Express | YES | YES | YES | YES | YES | YES | YES | - | 1MB | 256KB | $17.95 |
Adafruit Feather nRF52840 Sense | YES | YES | YES | YES | YES | YES | YES | - | 1MB | 256KB | $32.50 |
Adafruit Grand Central M4 | YES | YES | YES | YES | YES | YES | - | - | 1024KB | 256KB | $37.50 |
Adafruit ItsyBitsy M0 | YES | YES | YES | YES | YES | YES | - | - | 256KB | 32KB | $11.95 |
Adafruit ItsyBitsy M4 | YES | YES | YES | YES | YES | YES | - | - | 512KB | 192KB | $14.15 |
Adafruit ItsyBitsy nRF52840 | YES | YES | YES | YES | YES | YES | YES | - | 1MB | 256KB | $17.95 |
Adafruit Matrix Portal M4 | YES | YES | YES | YES | YES | YES | - | - | 512KB | 192KB | $24.95 |
Adafruit Metro M4 Express AirLift | YES | YES | YES | YES | YES | YES | - | - | 512KB | 192KB | $34.95 |
Adafruit PyBadge | YES | YES | YES | YES | YES | YES | - | - | 512KB | 192KB | $34.95 |
Adafruit PyGamer | YES | YES | YES | YES | YES | YES | - | - | 512KB | 192KB | $39.95 |
Adafruit PyPortal | YES | YES | YES | YES | YES | YES | - | - | 1MB | 256KB | $54.95 |
Adafruit Qt Py | YES | YES | YES | YES | YES | YES | - | - | 256KB | 32KB | $6.00 |
Adafruit Trinket M0 | YES | YES | YES | YES | YES | YES | - | - | 256KB | 32KB | $8.95 |
Arduino MKR WiFi 1010 | YES | YES | YES | YES | YES | YES | - | (*1) | 256KB | 32KB | $32.10 |
Arduino MKR1000 | YES | YES | YES | YES | YES | YES | - | - | 256KB | 32KB | $36.80 |
Arduino Mega 1280 | YES | YES | YES | YES | YES | YES | - | - | 128KB | 8KB | - |
Arduino Mega 2560 | YES | YES | YES | YES | YES | Not yet | - | - | 256KB | 8KB | $40.30 |
Arduino Nano 33 BLE Sense | - | - | - | - | - | - | - | - | 1MB | 256KB | $20.20 |
Arduino Nano 33 BLE | YES | YES | YES | YES | YES | YES | - | - | 1MB | 256KB | $20.20 |
Arduino Nano 33 IoT | YES | YES | YES | YES | YES | YES | - | (*2) | 256KB | 32KB | $18.40 |
Arduino Nano RP2040 Connect | YES | YES | YES | YES | YES | YES | - | - | 16MB | 520KB | $24.50 |
Arduino Nano | YES | YES | YES | YES | YES | YES | - | - | 32KB | 2KB | $20.70 |
Arduino Uno | YES | YES | YES | YES | YES | YES | - | - | 32KB | 2KB | $23.00 |
Arduino Zero | YES | YES | YES | YES | YES | YES | - | - | 256KB | 32KB | $42.90 |
BBC micro:bit | YES | YES | YES | YES | Not yet | Not yet | YES | - | 256KB | 16KB | - |
Blues Wireless Swan | YES | YES | YES | YES | Not yet | Not yet | - | - | 2MB | 640KB | $15.00 |
Digispark | YES | Not yet | Not yet | Not yet | YES | Not yet | - | - | 8KB | 512B | $7.95 |
Dragino LoRaWAN GPS Tracker LGT-92 | YES | YES | YES | YES | Not yet | Not yet | - | - | 192KB | 20KB | $39.50 |
ESP32 - Core board | YES | YES | YES | Not yet | Not yet | Not yet | Not Yet | Not yet | 4MB | 520KB | - |
ESP32 - mini32 | YES | YES | YES | Not yet | Not yet | Not yet | Not Yet | Not yet | 4MB | 520KB | $8.25 |
ESP8266 - NodeMCU | YES | YES | Not yet | Not yet | Not yet | Not yet | Not Yet | - | - | - | - |
ESP8266 - d1mini | YES | YES | Not yet | Not yet | Not yet | Not yet | Not Yet | - | - | - | - |
Game Boy Advance | ? | ? | ? | ? | ? | ? | - | - | - | - | - |
M5Stack Core2 | YES | YES | YES | Not yet | Not yet | Not yet | Not Yet | Not yet | 16MB | 520KB | ¥6589 |
M5Stack | YES | YES | YES | Not yet | Not yet | Not yet | Not Yet | Not yet | 16MB | 520KB | $39.9 |
M5Stamp C3 | Not yet | YES | Not yet | Not yet | Not yet | Not yet | Not Yet | Not yet | 4M | 400KB | $6.00 |
Makerdiary nRF52840-MDK USB Dongle | YES | YES | YES | YES | YES | YES | YES | - | 1MB | 256KB | $12.99 |
Makerdiary nRF52840-MDK | YES | YES | YES | YES | YES | YES | YES | - | 1MB | 256KB | $29.90 |
Microchip SAM E54 Xplained Pro | YES | YES | YES | YES | YES | YES | - | - | 1024KB | 256KB | $87.99 |
Nintendo Switch | ? | ? | ? | ? | ? | ? | - | - | - | - | $298.99 |
Nordic Semiconductor PCA10031 | YES | YES | YES | YES | Not yet | Not yet | YES | - | - | - | - |
Nordic Semiconductor PCA10040 | YES | YES | YES | YES | YES | YES | YES | - | - | - | - |
Nordic Semiconductor PCA10056 | YES | YES | YES | YES | YES | YES | YES | - | - | - | - |
Nordic Semiconductor PCA10059 | YES | YES | YES | YES | YES | YES | YES | - | 1MB | 256KB | $9.54 |
PJRC Teensy 3.6 | YES | YES | Not yet | Not yet | Not yet | Not yet | - | - | 1MB | 256KB | $29.25 |
PJRC Teensy 4.0 | YES | YES | Not yet | Not yet | Not yet | Not yet | - | - | 2MB | 1MB | $19.95 |
Particle Argon | YES | YES | YES | YES | YES | YES | YES | - | 1MB | 256KB | $27.50 |
Particle Boron | YES | YES | YES | YES | YES | YES | YES | - | 1MB | 256KB | $55.00 |
Particle Xenon | YES | YES | YES | YES | YES | YES | YES | - | 1MB | 256KB | $19.95 |
Phytec reel board | YES | YES | YES | YES | YES | YES | YES | - | 1MB | 256KB | $52.77 |
PineTime DevKit | YES | YES | YES | YES | YES | YES | - | - | 512KB | 64KB | $24.99 |
ProductivityOpen P1AM-100 | YES | YES | YES | YES | YES | YES | - | - | 256KB | 32KB | - |
Raspberry Pi Pico | YES | YES | YES | YES | YES | YES | - | - | 2MB | 264KB | $4.00 |
STM32 Nucleo WL55JC | YES | YES | YES | YES | Not yet | Not yet | - | - | 256KB | 64KB | $41.16 |
Seeed Seeeduino XIAO | YES | YES | YES | YES | YES | YES | - | - | 256KB | 32KB | $4.90 |
Seeed Sipeed MAix Bit | YES | YES | YES | YES | NO | Not yet | - | - | 8MB? | - | $14.20 |
Seeed Studio LoRa-E5 Development Kit | YES | YES | YES | YES | Not yet | Not yet | - | - | 256KB | 64KB | $26.60 |
Seeed Wio Terminal | YES | YES | YES | YES | YES | YES | - | - | 512KB | 192KB | $29.90 |
SiFive HiFive1 Rev B | YES | YES | YES | YES | NO | Not yet | - | - | - | - | ¥6600 |
X9 Pro Smartwatch | ? | ? | ? | ? | ? | ? | - | - | - | - | - |
nice!nano | YES | YES | YES | YES | YES | YES | YES | - | 1MB | 256KB | $24.99 |
ST Micro Nucleo F103RB | YES | YES | YES | YES | YES | Not yet | - | - | 128KB | 20KB | $10.55 |
ST Micro Nucleo F722ZE | YES | YES | Not yet | YES | Not yet | Not yet | - | - | 512KB | 256KB | $19.41 |
ST Micro Nucleo L031K6 | YES | YES | YES | YES | Not yet | Not yet | - | - | 32KB | 8KB | $10.77 |
ST Micro Nucleo L432KC | YES | YES | YES | YES | Not yet | Not yet | - | - | 256KB | 64KB | $10.55 |
ST Micro Nucleo L552ZE | YES | YES | Not yet | YES | Not yet | Not yet | - | - | 512KB | 192KB | $20.07 |
ST Micro STM32F103XX Bluepill | YES | YES | YES | YES | YES | Not yet | - | - | 128KB | 20KB | - |
ST Micro STM32F407 Discovery | YES | YES | YES | YES | YES | Not yet | - | - | 1MB | 192KB | - |
* BT=Bluetooth
*1 技適取得済:ドキュメントには記載がありませんがWifiNINA Driverを使用することで利用できました。
*2 技適未取得:ドキュメントには記載がありませんがWifiNINA Driverを使用することで利用できそうです。利用する場合は「技適未取得機器を用いた実験等の特例制度」を利用するのが良いです。
個人的なおすすめ
「Raspberry Pi Pico 」です。
BluetoothとWiFi以外の全機能使える上に、値段が安い上に入手しやすい。WiFiを利用したい場合は
「Arduino MKR WiFi 1010」です。
WiFiについてドキュメントに記載はありませんがWifiNINA Driverを利用することで使用できます。Bluetoothを利用したい場合は
「Adafruit Feather nRF52840 Express」,「Arduino MKR WiFi 1010」のどちらが良さそうです。
Blutoothを自分で試していませんが値段と入手性だけですが…ディスプレイを利用したい場合は
「M5Stack」か「Seeed Wio Terminal」がおすすめになります。
M5Stack Core2でも良いと思います。
ili9341のexampleに対応するコードが書かれてるのでPinアサインなどを考えずに簡単に使えるのが良いです。
M5stackはi2cが未対応ぽいですが、一家に一台は常備していると思われるのでTinyGoを始めるときには便利ですね。
本当は「Seeed Wio Terminal」がWiFiの技適承認済なので、ディスプレイ付きかつWiFi利用可能で最強ぽいのですが…自分がWifiNINA Driver以外試したことないため評価ができないです。すみません。そのうち試します。
感想とか
上記の表を見てわかるように、日本で人気なESP32系やそれを組み込んだM5Stack系のボードについて利用できる機能の制限が厳しかったりします。
これを知らずに購入したあとに詰まったりするのを事前に防げたらなと思ってこの表を作成しました。私は詰まりました。
arduino系は、初期のUnoやZeroと比べるとより高機能で高スペックなモデルが出ているのが面白いですね。
あとは「RasberryPi Pico」の異次元な安さでしょうか?
「RasberryPi Pico」が発売される前は、「Seeed Seeeduino XIAO」がおすすめボードだったのですが、さらに安く高スペックなボードを発売したラズベリーパイ財団すごいと思います。
2021/01/21 にRasberryPi Picoの発売日
2021/07/01 TinyGoがRP2040をサポート
と去年はPico発売半年後にTinyGoでサポートされたため、TinyGoでコンパイルしたコードをRasberryPi Pico上で動かした人も多かったのかもしれません。
しかし発売されてすぐに売り切れたりして入手できなかった思い出があったような気がします。(Twitterで検索したら2021年4月時点では入手困難ぽかったです)
この記事を書きながらスイッチサイエンスの在庫をみたら普通に買えたので購入しました。あと「Seeed Wio Terminal」も面白そうなので購入しました。
この記事が誰かの参考になれば幸いです。