/lost+found/amanoese

作られては忘れられていくコードや日常のための日記

TinyGo 0.22 で遊べるマイコンボードで利用できる機能一覧

毎回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 」です。
    BluetoothWiFi以外の全機能使える上に、値段が安い上に入手しやすい。

  • 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」も面白そうなので購入しました。

この記事が誰かの参考になれば幸いです。