ついに TinyGo で enconding/json が使えるようになったので試してみた

遠くない未来にリリースされる TinyGo 0.28 は reflect package の互換性がかなり改善しています。

さらりと書きましたが、こんな感じでものすごい commit が登録されています。 軽く reflect で検索するだけで 113 commit という凄さ。 reflect で検索されない reflect 関連の commit もあるので、本当にハードワークだった感じです。

$ git log v0.27.0..dev --oneline | wc -l                                                                                       
319                                                                                                                            
                                                                                                                               
$ git log v0.27.0..dev --oneline | grep reflect | wc -l                                                                        
113                                                                                                                            

ということで、 reflect package の改善により encoding/json がかなり使えるようになったので試してみましょう。

簡単な JSON

TinyGo に含まれる targets/wioterminal.json を更に小さくした JSON で試してみました。

gist.github.com

結果はこんな感じで、普通に正しく実行できます。

$ tinygo run .
{"build-tags":["wioterminal"],"flash-method":"msd"}

ちょっと複雑な JSON

先程の例は簡単すぎるので、もう少し複雑な例を試してみます。 Twitter API の説明ページにあった JSON を Marshall / Unmashall してみます。

// https://developer.twitter.com/en/docs/twitter-api/v1/data-dictionary/overview
const twitterJSON = `
{
  "created_at": "Thu Apr 06 15:24:15 +0000 2017",
  "id_str": "850006245121695744",
  "text": "1\/ Today we\u2019re sharing our vision for the future of the Twitter API platform!\nhttps:\/\/t.co\/XweGngmxlP",
  "user": {
    "id": 2244994945,
    "name": "Twitter Dev",
    "screen_name": "TwitterDev",
    "location": "Internet",
    "url": "https:\/\/dev.twitter.com\/",
    "description": "Your official source for Twitter Platform news, updates & events. Need technical help? Visit https:\/\/twittercommunity.com\/ #TapIntoTwitter"
  },
  "place": {   
  },
  "entities": {
    "hashtags": [      
    ],
    "urls": [
      {
        "url": "https:\/\/t.co\/XweGngmxlP",
        "unwound": {
          "url": "https:\/\/cards.twitter.com\/cards\/18ce53wgo4h\/3xo1c",
          "title": "Building the Future of the Twitter API Platform"
        }
      }
    ],
    "user_mentions": [     
    ]
  }
}
`

struct は以下の通り。

// https://mholt.github.io/json-to-go/
type AutoGenerated struct {
    CreatedAt string   `json:"created_at"`
    IDStr     string   `json:"id_str"`
    Text      string   `json:"text"`
    User      User     `json:"user"`
    Place     Place    `json:"place"`
    Entities  Entities `json:"entities"`
}
type User struct {
    ID          int64  `json:"id"`
    Name        string `json:"name"`
    ScreenName  string `json:"screen_name"`
    Location    string `json:"location"`
    URL         string `json:"url"`
    Description string `json:"description"`
}
type Place struct {
}
type Unwound struct {
    URL   string `json:"url"`
    Title string `json:"title"`
}
type Urls struct {
    URL     string  `json:"url"`
    Unwound Unwound `json:"unwound"`
}
type Entities struct {
    Hashtags     []any  `json:"hashtags"`
    Urls         []Urls `json:"urls"`
    UserMentions []any  `json:"user_mentions"`
}

結果は以下の通り。 正しく処理され Go で実行したものと同じ結果になります。

$ tinygo run .
{"created_at":"Thu Apr 06 15:24:15 +0000 2017","id_str":"850006245121695744","text":"1/ Today we’re sharing our vision for the future of the Twitter API platform!\nhttps://t.co/XweGngmxlP","user":{"id":2244994945,"name":"Twitter Dev","screen_name":"TwitterDev","location":"Internet","url":"https://dev.twitter.com/","description":"Your official source for Twitter Platform news, updates \u0026 events. Need technical help? Visit https://twittercommunity.com/ #TapIntoTwitter"},"place":{},"entities":{"hashtags":[],"urls":[{"url":"https://t.co/XweGngmxlP","unwound":{"url":"https://cards.twitter.com/cards/18ce53wgo4h/3xo1c","title":"Building the Future of the Twitter API Platform"}}],"user_mentions":[]}}

ソースコード全体は以下にあります。

まとめ

ということで、 TinyGo 0.28 の encoding/json は良い感じに動くと思います。 encoding/json が辛くて TinyGo を諦めていた人もいるかと思いますが、 TinyGo 0.28 がリリースされたらぜひ試してみてください。

なお、 encoding/json は激しく再帰呼出しとなって stack をかなり消費します。 マイコンで実装するときは、 --stack-size 10KB のような形で stack を増やすなどが必要になるかもしれません。

おまけ

dev branch 版をダウンロードして試すこともできます。 以下の記事を参考にしてください。

qiita.com

Go Conference 2023 にて TinyGo で自作キーボードを作るハンズオンを開催します

2023/06/02 (金) に開催される Go Conference 2023 にて TinyGo で自作キーボードを作るハンズオンを開催します。 ハンズオンは、私を含む Umeda.go のスタッフにて実施/サポートします。

なお、当日 18:10 - 18:15 で TinyGo で作る自作キーボードの世界 という LT もするのでお楽しみに。

gocon.jp

開催内容

TinyGo の USB HID に対応したマイコンボードを用いて、自作キーボードを作成するハンズオンを行います。 作成したデバイスは、パソコンなどに接続することで USB キーボードとして振舞うことができます。

Go 言語 (TinyGo) で自作キーボードのファームウェアが作れるので、 Go 界隈の人はとても楽にスタートすることができます。

TinyGo とは

マイコンや WASM などの Small Places 向けの Go Compiler です。 ここでは Go の文法でマイコン開発ができるもの、という程度の認識でよいです。

tinygo.org

TinyGo については、技術書「基礎から学ぶ TinyGoの組込み開発」 (2022/11/12 発売) を執筆しました。 以下も参考になるので、是非確認してみてください。

sago35.hatenablog.com

過去に Go Conference で実施したハンズオンなどを参考になるかと思います。

github.com

Umeda.go とは

大阪近辺のプログラミング言語 Go ユーザーコミュニティ運営アカウントです。 プログラミング言語 Go に関するテックトークなどのイベントをやっています。 技術レベル・知識を問わず、Goを学びたい人が気軽に相談できるコミュニティ を目指しています。

umedago.connpass.com

Umeda.go の現在の運営スタッフは以下の 4 人です。

参加に必要なもの

必須

参加にあたっては、各自でマイコンボードを準備お願いします。 推奨は以下です。

一応、マイコンの種類が ATSAMD51 / ATSAMD21 / RP2040 / nRF52840 であれば問題ありません。 マイコンボード選びは以下の記事を確認いただくと良いですが、基本的には Wio Terminal がおすすめです。

sago35.hatenablog.com

wiokey : Wio Terminal 向けオプション

wiokey は Wio Terminal に 6 キー追加するためのボードです。 無くてもハンズオン可能ですが、wiokey があると自作キーボード気分が盛り上がると思います。

以下で基板単体、ハンダ付け済み完成品 (Wio Terminal は付属しません) を購入できます。

sago35.booth.pm

sgkey : XIAO RP2040 向けオプション

sgkey は XIAO RP2040 などの XIAO 系ボードに 6 キーと液晶を追加するためのボードです。 無くてもハンズオン可能ですが、 sgkey があると自作キーボード気分が盛り上がると思います。

以下で基板単体、ハンダ付け済み完成品 (XIAO RP2040 は付属しません) を購入できます。

sago35.booth.pm

開催日時

2023/06/02 当日、 1h 枠を 2 回、という形で開催します。 2 回とも参加されてもかまいませんし、当日は私および Umeda.go スタッフが捕まる限りはサポートを受けることができます。 途中で抜けるのも自由です。

  • 2023/06/02 (金)
    • 11:00 - 12:00
    • 15:00 - 16:00

なお、当日以降についても、私のほうでサポート可能なので、気になる事があったら何でも聞いてください。

会場

Go Conference 2023 は reBako にて開催されます。 TinyGo で自作キーボードを作るハンズオンも reBako 内で開催します。 ということで、 connpass に表示される (であろう) URL から reBako に進み、ハンズオン会場に参加してください。 Umeda.go + TinyGo というブースを中央下段に構えています。

Floor Guide | Go Conference 2023

当日実施しようとしている内容 (調整中

まだ確定していませんが、以下で考えています。 環境構築もサポートしますので、自作キーボードは置いといて参加、ってのもありです。

  1. TinyGo 環境構築 + L チカ + hello world
  2. examples/hid-keyboard を書き込んで、 USB キーボード気分を味わう
  3. sago35/tinygo-keyboard を使って、より高度な USB キーボードを作る

3.まで実施できれば、後はボタンを増やしていけばより実用的な自作キーボードが出来上がります。 以下のようなキーボードが作れるととても楽しいですよ。

※遠くない未来に、上記の分割キーボードなども販売開始する予定

とりあえず Go Conference 2023 に申し込みを

何はともあれ、 Go Conference 2023 に申し込みをしないと始まらないので、まずは申し込みを。 (今見たら参加枠いっぱいになってるけど・・・)

gocon.connpass.com

TinyGo 0.27 で遊べるマイコンボード一覧

TinyGo 0.27 がリリースされました。

github.com

ということで TinyGo 0.27 で遊べるマイコンボード一覧を作成しました。 オフィシャルの一覧に、マイコンやクロックなどの情報を足しています。 前に作った 0.26 時点のもの から 6 ボードが増えて合計 99 ボードになりました。 もうすぐ 100 ボードになります。

0.27 の (自分の興味を中心とした) 変更点のサマリは以下です。 個人的には @nobonobo 氏による USB HID joystick 対応が一番うれしいです。 Go 1.20 および LLVM 15 に対応しているのもポイント。

  • マイコン関連
    • USB HID joystick 対応
    • nRF52840 の PDM サポートを追加
    • ESP32-C3 の SPI サポートを追加
    • atsame5x の CAN 拡張 ID の扱いを修正
    • atmega32u 対応
    • AVR のビルド時 avr-gcc が不要になった (LLVM の ld を使うようになった + compiler-rt と picolibc を使うようになった)
    • ESP32 / ESP8266 のビルド時に xtensa-esp32-elf-ld が不要になった (LLVM の ld を使うようになった)
    • rp2040
      • RP2040-E5 eratta (USB 周りの問題) の対策を追加
  • CGo
    • calloc を実装
    • C.float と C.double を追加
  • 多くのバグフィックスコンパイラおよび runtime の改善
  • WASM / WASI サポートの改善
    • ThinLTO (リンク時最適化) に対応
  • などなど

USB HID joystick 対応は、 フォースフィードバック付きのハンドルコントローラーを作る際に必要となり @nobonobo 氏によりコントリビュートされました。 ハンコン自体の記事は ↓ の通り。 TinyGo + RPi Pico で作られているのがポイント。 TinyGo 0.27 からは、そのままビルドできるようになります。

www.switch-science.com

前回の 0.26 で追加された tinygo flash -monitor は便利なので使っていきましょう。 特に Windows の人は、 Tera Term などをいちいち切断する必要がなくなるのでかなり体験が良くなります。 tinygo monitor -target wioterminal や tinygo monitor -port /dev/ttyACM0 のように使うことができます。

本体の Version Up にあわせ tinygo.org/x/drivers 0.24.0 がリリースされました。 0.24.0 での主な変更点は以下の通りです。

  • 新規追加
    • SX127x (LoRa) 対応
    • QMI8658 sensor (加速度 + ジャイロ) 対応
    • SH1106 (ディスプレイ) 対応
  • その他
    • LoRa / LoRaWAN の対応強化

github.com

TinyGo + マイコンの組み合わせについては、以下の書籍にしっかりと書きました。 TinyGo で組込みを題材とした本では世界一詳しい本になってるはず。 Wio Terminal を題材として TinyGo を全体的に学ぶことができます。 もちろん、 RP2040 などの他のマイコンを使う場合にも役に立ちますので、是非読んでみてください。

sago35.hatenablog.com

上記以外だと、以下に記載しています。

2022/04/23 の Go Conference 2022 Spring にて IoT With TinyGo というトークの資料+動画が役に立つかもしれません。

gocon.jp

youtu.be

あるいは、 2020/07/18 の umedago 2020 Online の資料+動画が役に立つかもしれません。 動画では実際にビルドして動かしてみる部分や、デバッグなども少し触れています。 ページ下部の資料置き場に資料および当日の発表動画があります。

umedago.connpass.com

2021/11/13 の Go Conference 2021 Autumn Online で TinyGo ハンズオンを行いました。
Wio Terminal を用いて、環境立ち上げからデバッグ、 package を用いた開発、などを扱っています。
是非確認してみてください。

www.youtube.com

TinyGo 0.22 時点の情報ですが、以下も参考になります。

amanoese.hatenablog.com

amanoese.hatenablog.com

さて。

TinyGo 0.27.0 時点の README.md をベースに作成しています。 値段や技適等の情報はあくまで参考ということで、購入する場合は別途各自で調べてください。

0.27 追加分

Arduino Leonardo

ATmega32u4 / 16MHz / 32KB / 2.5KB / EEPROM(1KB)

Arduino UNO の廉価版?としてのボードのはずだが、だいぶ古いボードなので注意。
既にボードを持っている場合などは、楽しめるはず。
$24.90
3,960 円 https://www.switch-science.com/products/968
https://docs.arduino.cc/hardware/leonardo

ESP32-C3-DevKit-RUST-1

ESP32-C3 / 160MHz / 384KB + 4MB / 400KB / WiFi/BLE

RISC-V である ESP32-C3 を搭載した Espressif のオフィシャルボード。
TinyGo の ESP32-C3 対応はまだまだなので注意が必要。
https://github.com/esp-rs/esp-rust-board
https://www.espressif.com/en/products/devkits

Adafruit Feather M0 Express

ATSAMD21G18 Cortex-M0+ / 48MHz / 256KB / 32KB

samd21 を搭載した Feather 規格のボード。
今となっては RP2040 搭載ボードを買うほうが多くの場合幸せになれる。
なお、本ボードは既存の feather-m0 とほぼ同じです。
$19.95
https://www.adafruit.com/product/3403

Adafruit KB2040

RP2040 Cortex-M0+ dual core / 125MHz / 8MB / 264KB

Arduino Pro Micro と同じ形状のボードで、自作キーボード用マイコンの置き換えを狙ったもの。
ピンが比較的多く安いので使いやすい。
$8.95
1,480 円 https://steam-tokyo.com/product/adafruit-kb2040/
1,749 円 https://www.switch-science.com/products/7901
1,230 円 https://akizukidenshi.com/catalog/g/gM-17312/
https://www.adafruit.com/product/5302

Makerfabs ESP32-C3(RISC-V) SPI TFT Touch 3.5'' ILI9488

ESP32-C3 / 160MHz / 384KB + 4MB / 400KB / WiFi/BLE

ESP32-C3 + 3.5 インチディスプレイの開発ボード。
PyPortal と同じような構成ですが、 Type-C コネクタなのが良いところ。
TinyGo の ESP32-C3 対応はまだまだなので注意が必要。
$33.83
https://www.makerfabs.com/ep32-c3-risc-v-spi-tft-touch.html

Waveshare RP2040 Zero

RP2040 Cortex-M0+ dual core / 125MHz / 8MB / 264KB / WS2812 LED

RP2040 搭載ボードで、 XIAO などより少し大きいがとても安い。
ピン数も 20 ピンは気軽に使えるし、背面に 9 ピン追加で引き出されている。
693 円 https://www.switch-science.com/products/7886
https://www.waveshare.com/wiki/RP2040-Zero

既存の対応ボード

Adafruit Circuit Playground Bluefruit

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE

$24.95
https://www.adafruit.com/product/4333
https://learn.adafruit.com/adafruit-circuit-playground-bluefruit

Adafruit Circuit Playground Express

ATSAMD21G18 Cortex-M0+ / 48MHz / 256KB / 32KB

$24.95
4,609 円 https://www.switch-science.com/catalog/3666/
3,300 円 https://steam-tokyo.com/product/circuit-playground-express/
https://www.adafruit.com/product/3333
https://learn.adafruit.com/adafruit-circuit-playground-express

Adafruit CLUE Alpha

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE, 240x240 TFT

BBC micro:bit サイズでディスプレイやセンサー類てんこ盛り
LCD は ST7789 240x240
$39.95
5,500 円 https://steam-tokyo.com/product/adafruit-clue/
https://www.adafruit.com/product/4500
https://learn.adafruit.com/adafruit-clue

Adafruit Feather M0

ATSAMD21G18 Cortex-M0+ / 48MHz / 256KB / 32KB

Feather M0 シリーズは、マイコン単体に近い Basic Proto 以外にも microSD カードスロットを搭載したモデルや BLE 搭載などのバリエーションあり
PH コネクタ、リチウムイオン電池の充電機能あり
$19.95
3,685 円 https://www.switch-science.com/catalog/2750/
2,420 円 https://akizukidenshi.com/catalog/g/gM-16347/
https://www.adafruit.com/product/2772
https://learn.adafruit.com/adafruit-feather-m0-basic-proto

Adafruit Feather M4

ATSAMD51J19 Cortex-M4F / 120MHz / 512KB / 192KB

ピン数多めのモデル
Feather M0 のマイコン強化版
PH コネクタ、リチウムイオン電池の充電機能あり
$22.95
4,246 円 https://www.switch-science.com/catalog/5887/
https://www.adafruit.com/product/3857
https://learn.adafruit.com/adafruit-feather-m4-express-atsamd51

Adafruit Feather M4 CAN

ATSAME51J19 Cortex-M4F / 120MHz / 512KB / 192KB / CAN, CAN FD, USB Type-C

ATSAME51 という ATSAMD51 + CAN/CAN FD のチップを搭載したボード
Feather M4 とほぼコンパチで CAN が追加されています $24.95
3,080 円 https://www.akizukidenshi.com/catalog/g/gM-16363/ https://www.adafruit.com/product/4759
https://learn.adafruit.com/adafruit-feather-m4-can-express

Adafruit Feather nRF52840 Express

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE

安定の Feather シリーズの nRF52840 版になります
クロック遅めですが、 ROM / RAM は多め、 BLE 付きで安い
安心の技適取得済み
デバッグコネクタ付き
$24.95
4,609 円 https://www.switch-science.com/catalog/5400/
3,080 円 https://akizukidenshi.com/catalog/g/gM-16358/
https://www.adafruit.com/product/4062
https://learn.adafruit.com/introducing-the-adafruit-nrf52840-feather

Adafruit Feather nRF52840 Sense

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE/LSM6DS33/LIS3MDL/APDS9960/PDM/SHT/BMP280

安定の Feather シリーズの nRF52840 版にセンサーを多数搭載したボードになります
クロック遅めですが、 ROM / RAM は多め、 BLE 付きで安い
LSM6DS33 (Accel/Gyro) + LIS3MDL (3 軸センサー) + APDS9960 (近接 + RGB + ジェスチャー) + PDM (Microphone) + SHT (湿度) + BMP280 (温度等) とセンサーてんこ盛り
安心の技適取得済み
$32.50
5,180 円 https://steam-tokyo.com/product/feather-nrf52840-sense/
https://www.adafruit.com/product/4516
https://learn.adafruit.com/adafruit-feather-sense

Adafruit Feather RP2040

RP2040 Cortex-M0+ dual core / 125MHz / 8MB / 264KB

Feather 規格の RP2040 ボードです
端子が Feather M4 などと同じなので、すでに Feather を使っている人は使いやすいはず
8MB QSPI Flash など、 Raspberry Pi Pico よりも強化されている部分があります
$11.95
1,680 円 https://steam-tokyo.com/product/adafruit-feather-rp2040/
2,211 円 https://www.switch-science.com/catalog/7216/
1,640 円 https://akizukidenshi.com/catalog/g/gM-17314/
https://www.adafruit.com/product/4884
https://learn.adafruit.com/adafruit-feather-rp2040-pico

Adafruit feather-stm32f405

STM32F405 Cortex-M4F / 168MHz / 1MB / 192KB / LiPo connector, microSD, CAN, Qwiic

Type-C コネクタなのが何気に嬉しい所
7,381 円 https://www.switch-science.com/catalog/6005/
3,980 円 https://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=EEHD-5KVN
https://www.adafruit.com/product/4382
https://learn.adafruit.com/adafruit-stm32f405-feather-express

Adafruit Grand Central M4

ATSAMD51P20 Cortex-M4F / 120MHz / 1024KB / 256KB / Arduino Mega 互換

ATSAMD51 で最もピン数が多いモデル
$37.50
6,836 円 https://www.marutsu.co.jp/pc/i/34551463/
https://www.adafruit.com/product/4064
https://learn.adafruit.com/adafruit-grand-central

Adafruit ItsyBitsy M0

ATSAMD21G18 Cortex-M0+ / 48MHz / 256KB / 32KB

Feather よりももう少し小さいシリーズ
$11.95
2,211 円 https://www.switch-science.com/catalog/3716/
https://www.adafruit.com/product/3727

Adafruit ItsyBitsy M4

ATSAMD51J19 Cortex-M4F / 120MHz / 512KB / 192KB

Feather よりももう少し小さいシリーズ
$14.95
2,420 円 https://www.switch-science.com/catalog/8173/
https://www.adafruit.com/product/3800

Adafruit ItsyBitsy nRF52840 Express

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE

BLE 対応の nRF シリーズのボード
feather-nrf52840 の弟分という所
FCC / IC / TELEC certified module ということで国内も OK
$17.95
3,685 円 https://www.switch-science.com/catalog/7605/
https://www.adafruit.com/product/4481
https://learn.adafruit.com/adafruit-itsybitsy-nrf52840-express

Adafruit MacroPad RP2040

RP2040 Cortex-M0+ dual core / 125MHz / 8MB / 264KB / 3x4 keyboard,Rotary encoder,128x64 SH1106 OLED

Raspberry Pi Pico 等と同じ RP2040 を搭載したボード
3x4 キーボード付きのセットでも売られている
TinyGo 0.23 時点では USB Device / HID としての機能が無いことに注意
$49.95
5,490 - 7690 円 https://steam-tokyo.com/product/adafruit-macropad-rp2040/
9,229 円 https://www.switch-science.com/catalog/8094/ https://www.adafruit.com/product/5128
https://learn.adafruit.com/adafruit-macropad-rp2040

Adafruit Matrix Portal M4

ATSAMD51J19 Cortex-M4F / 120MHz / 512KB / 192KB / WiFi, Type-C

64x64 RGB LED Matrix とかを使ってインターネットディスプレイに、というようなコンセプト
HUB-75 compatible なディスプレイをつなぐことができます
あとは ESP32 がついているので WiFi に接続可能です
$24.95
https://www.adafruit.com/product/4745
https://learn.adafruit.com/adafruit-matrixportal-m4

Adafruit Metro M4 Express Airlift

ATSAMD51J19 Cortex-M4F / 120MHz / 512KB / 192KB / ESP32

ESP32 搭載 (WiFi + BLE)
$34.95
5,082 円 https://www.switch-science.com/catalog/5399/
https://www.adafruit.com/product/4000
https://learn.adafruit.com/adafruit-metro-m4-express-airlift-wifi

Adafruit PyBadge

ATSAMD51J19 Cortex-M4F / 120MHz / 512KB / 192KB / 160x128 TFT

LCD は JD-T1800 (ST7735) 160x128
$34.95
6,457 円 https://www.switch-science.com/catalog/6230/
4,800 円 https://steam-tokyo.com/product/pybadge/
https://www.adafruit.com/product/4200
https://learn.adafruit.com/adafruit-pybadge

Adafruit PyGamer

ATSAMD51J19 Cortex-M4F / 120MHz / 512KB / 192KB / 160x128 TFT

LCD は JD-T1800 (ST7735) 160x128
$39.95
10,259 円 https://www.marutsu.co.jp/pc/i/35057272/
https://www.adafruit.com/product/4242
https://learn.adafruit.com/adafruit-pygamer

Adafruit PyPortal

ATSAMD51J20 Cortex-M4F / 120MHz / 1MB / 256KB / 320x240 TFT, ESP32

LCD は ILI9341 320x240
$54.95
10,153 円 https://www.switch-science.com/catalog/5741/
9,404 円 https://www.marutsu.co.jp/pc/i/33227335/
https://www.adafruit.com/product/4116
https://learn.adafruit.com/adafruit-pyportal

Adafruit QT Py RP2040

RP2040 Cortex-M0+ dual core / 125MHz / 8MB / 264KB / RGB LED

RP2040 を搭載した QT Py で、小型であることが特徴です。
BOOTSEL ボタンとリセットボタン、Qwiic/STEMMA QT コネクタが搭載されています。
RGB LED は搭載されていますが、通常の LED が搭載されていないことに若干注意が必要です。
Seeed 社の XIAO と同じサイズです。 $9.95
1,837 円 https://www.switch-science.com/products/7211
1,400 円 https://steam-tokyo.com/product/qt-py-rp2040/
https://www.adafruit.com/product/4900
https://learn.adafruit.com/adafruit-qt-py-2040

Adafruit QT Py SAMD21

ATSAMD21E18 Cortex-M0+ / 48MHz / 256KB / 32KB / Type-C
Seeeduino XIAO と同じサイズでいくつかの部品が追加されているイメージのボード
裏側には SWD 以外にも SOIC-8 SPI Flash chip を乗せるためのパターンもあります (Flash chip は非搭載)
このパターンから SPI を取り出したりも出来る模様
XIAO と比較した場合に、リセットボタンが追加されているのも嬉しい
$6
970 円 https://steam-tokyo.com/product/qt-py/
1,738 円 https://www.switch-science.com/catalog/7025/
https://www.adafruit.com/product/4600
https://learn.adafruit.com/adafruit-qt-py

Adafruit Trinket M0

ATSAMD21E18 Cortex-M0+ / 48MHz / 256KB / 32KB

安い、小さい、だったけど最近は QTPy や XIAO 等の選択肢もあり
$8.95
1,661 円 https://www.switch-science.com/catalog/3535/
https://www.adafruit.com/product/3500

Adafruit Trinkey QT2040 - RP2040

RP2040 Cortex-M0+ dual core / 125MHz / 8MB / 264KB / RGB LED

RP2040 を搭載した USB ドングル型の小さなマイコンボードです。
BOOTSEL ボタンとリセットボタン、Qwiic/STEMMA QT コネクタが搭載されています。
RGB LED は搭載されていますが、通常の LED が搭載されていないことに若干注意が必要です。
$7.5
https://www.adafruit.com/product/5056
https://learn.adafruit.com/adafruit-trinkey-qt2040

Ai-Thinker ESP-C3-12F

ESP32-C3 RISC-V / 160MHz / 384KB / 400KB / WiFi, BLE

ESP32-C3 を搭載した、 WiFi + BLE という構成
現状 TinyGo では ESP32-C3 自体の WiFi 機能等は使えないことに注意
1,000 円ぐらい?
技適無し
https://docs.ai-thinker.com/_media/esp32/docs/esp-c3-12f_specification.pdf

Arduino Mega 1280

ATmega1280 AVR / 16MHz / 128KB / 8KB

https://www.arduino.cc/en/Main/arduinoBoardMega/

Arduino Mega 2560

ATmega2560 AVR / 16MHz / 256KB / 8KB

$40.30
7,700 円 https://www.switch-science.com/catalog/837/
https://store.arduino.cc/arduino-mega-2560-rev3

Arduino MKR1000

ATSAMD21G18 Cortex-M0+ / 48MHz / 256KB / 32KB / WiFi, LiPo

ATSAMW25 SoC で WiFi 接続可能という Arduino Nano33 IoT 的なモデル
$36.80
https://store.arduino.cc/arduino-mkr1000-wifi

Arduino MKR WiFi 1010

ATSAMD21G18 Cortex-M0+ / 48MHz / 256KB / 32KB / WiFi/BLE/Li-Po/ATTEC508

SAMD21 + u-blox NINA W102 の構成で WiFiBluetooth / BLE に対応している
国内販売有りで安心の技適取得済み
ほぼ同構成で海外で人気の Arduino Nano33 IoT が技適無しで使えなかったのもあり、期待のボードです
$32.10
5,940 円 https://www.switch-science.com/catalog/7384/
5,780 円 https://akizukidenshi.com/catalog/g/gM-16556/
https://store-usa.arduino.cc/products/arduino-mkr-wifi-1010

Arduino Nano

ATmega328 AVR / 16MHz / 32KB / 2KB

$20.70
3,960 円 https://www.switch-science.com/catalog/2554/
3,560 円 https://akizukidenshi.com/catalog/g/gM-09059/
https://store.arduino.cc/arduino-nano

Arduino Nano RP2040 Connect

RP2040 Cortex-M0+ dual core / 133MHz / 16MB / 264KB / WiFi/BLE/ATECC608/LSM6DSOXTR/MP34DT05

RP2040 + u-blox NINA-W102 (WiFi/BLE) の構成のボードです
Microchip のセキュリティデバイスである ATEC が搭載されている珍しいボード
LSM6D (6 軸センサー) + MP34DT05 (マイク) も搭載されています
Arduino 33 IoT から CPU が強化された位置づけになりそうです
u-blox NINA-W102 は工事設計認証は取得済だそうですが技適マークはなさそう

$24.50
https://store.arduino.cc/nano-rp2040-connect

Arduino Nano 33 BLE

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE/LSM9DS1

nRF52840ベースの u-blox NINA-B306 を搭載したボード
NINA-B306 は工事設計認証は取得済、国内版あり
$20.20
5,060 円 https://www.switch-science.com/catalog/7667/
https://store.arduino.cc/nano-33-ble
https://www.arduino.cc/en/Guide/NANO33BLE

Arduino Nano 33 BLE Sense

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE/LSM9DS1/LPS22HB/HTS221/APDS9960/MP34DT05

Nano 33 BLE の Sense 版ということでセンサーてんこ盛り
nRF52840ベースの u-blox NINA-B306 は工事設計認証は取得済、国内版あり
$31.10
8,250 円 https://www.switch-science.com/catalog/7670/
https://store.arduino.cc/nano-33-ble-sense
https://www.arduino.cc/en/Guide/NANO33BLESense/

Arduino Nano33 IoT

SAMD21 Cortex-M0+ / 48MHz / 256KB / 32KB / u-blox NINA-W102

WiFiBluetooth / BLE 対応の u-blox NINA-W102 搭載ボード
国内は技適有り version が無いと思われるので技適有りでほぼ同じ構成の Arduino MKR WIFI 1010 にしたほうが良さそう
$18.40
https://store.arduino.cc/nano-33-iot

Arduino Uno

ATmega328P AVR / 16MHz / 32KB / 2KB

$23.00
4,180 円 https://www.switch-science.com/catalog/789/
3,630 円 https://akizukidenshi.com/catalog/g/gM-07385/
https://store.arduino.cc/arduino-uno-rev3

Arduino Zero

ATSAMD21G18 Cortex-M0+ / 48MHz / 256KB / 32KB / EDBG

スイッチサイエンスによると Arduino M0 Pro に置き換わった?
$42.90
https://store.arduino.cc/usa/arduino-zero

BBC micro:bit

nRF51822 Cortex-M0 / 16MHz / 256KB / 16KB / BLE

LED x 25 や加速度センサや BLE 等色々搭載
debugger も搭載
2,200 円 https://www.switch-science.com/catalog/5263/
https://microbit.org/

BBC micro:bit v2

nRF52833 / 64MHz / 512KB / 128KB / Bluetooth LE, Bluetooth mesh, Thread, Zigbee, microphone、speaker, 5x5 matrix led

micro:bit の新型
マイク、スピーカー搭載、 CPU 強化で Bluetooth 5 対応
音頭、加速度、光、タッチセンサー付きで安い
debugger も搭載
$17.50
2,662 円 https://www.switch-science.com/catalog/7952/
2,610 円 https://akizukidenshi.com/catalog/g/gM-15882/ https://microbit.org/new-microbit/

blues wireless Swan

STM32L4R5ZI Cortex-M4 / 120MHz / 2MB / 640KB / LiPo

STM32L4+ (Cortex-M4) 搭載のボード
Adafruit Feather 規格のピン配置
$15
https://blues.io/products/swan/

Digispark

ATTiny85/ 12MHz?/ 8KB/ 512B

$7.95
http://digistump.com/products/1

Dragino LoRaWAN GPS Tracker LGT-92

STM32L072CZT6 / 32MHz / 192KB / 20KB / LoRaWAN, GPS, accelerometer

LoRaWAN + GPS が特徴
$39.50
http://www.dragino.com/products/lora-lorawan-end-node/item/142-lgt-92.html

ESP32 Core Board V2 / ESP32 DevKitC

ESP32 / 240Mhz / 4MB / 520KB / WiFi, BLE

まだポート+UART+SPI という基本的なサポートのみとなっていますが、すごい勢いで追加されつつあります
※ESP32 / ESP8266 は似たようなボードが多数あるため、以下のリンクも正しいかどうかは不明です
1,480 円 https://akizukidenshi.com/catalog/g/gM-11819/
https://www.espressif.com/en/products/socs/esp32

ESP32 Mini32

ESP32 / 240Mhz / 4MB / 520KB / WiFi, BLE

まだポート+UART+SPI という基本的なサポートのみとなっていますが、すごい勢いで追加されつつあります
※ESP32 / ESP8266 は似たようなボードが多数あるため、以下のリンクも正しいかどうかは不明です
$8.25 https://www.tindie.com/products/ttgo/lilygor-ttgo-mini32-esp32-wrover-b-module/
https://www.espressif.com/en/products/socs/esp32

ESP32-C3

ESP32-C3 RISC-V / 160Mhz / 4MB / 400KB / WiFi/BLE

この定義により ESP32-C3-DevKitM-1 や ESP32-C3-DevKitC-02 等を使うことができます。
今の所、技適有りの ESP32-C3 搭載のものはないかもしれません。
TinyGo での riscv サポートはまだあまり進んでいないことに注意が必要です。
また、 0.20.0 時点で WiFi / BLE は TinyGo から使うことができません。
https://www.espressif.com/en/products/socs/esp32-c3

ESP8266 NodeMCU

ESP8266 / 160Mhz / ? / ? / WiFi

ESP8266 が搭載されたオープンソースハードウェアボードです
色々なメーカーから NodeMCU がリリースされています
※ESP32 / ESP8266 は似たようなボードが多数あるため、以下のリンクも正しいかどうかは不明です
https://lastminuteengineers.com/esp8266-nodemcu-arduino-tutorial/
https://www.espressif.com/en/products/socs/esp8266

ESP8266 D1 mini

ESP8266 / 160Mhz / ? / ? / WiFi

ESP8266 が搭載されたボードです
※ESP32 / ESP8266 は似たようなボードが多数あるため、以下のリンクも正しいかどうかは不明です
https://docs.wemos.cc/en/latest/d1/d1_mini.html https://www.espressif.com/en/products/socs/esp8266

Game Boy Advance


以下のページで丁寧な GBA 記事が書かれたので、実機で動かすのも視野に入れつつ遊べそう
https://dev.to/aurelievache/learning-go-by-examples-part-5-create-a-game-boy-advance-gba-game-in-go-5944
https://en.wikipedia.org/wiki/Game_Boy_Advance

iLabs Challenger RP2040 LoRa

RP2040 Cortex-M0+ dual core / 125MHz / 8MB / 264KB / LED/Lora

Feather 規格のボードで LoRa モジュール (868MHz) 搭載とのこと。
kr249.00 (日本円で 5,000 円弱ぐらい)
https://ilabs.se/product/challenger-rp2040-lora/

M5Stack

ESP32 / 240Mhz / 16MB / 520KB / WiFi, BLE, 320x240 LCD, タッチスクリーン

ESP32 を搭載した、 WiFi + BLE + 画面という構成
現状 TinyGo では ESP32 自体の WiFi 機能等は使えないことに注意
$39.9
6,094 円 https://www.switch-science.com/catalog/7362/
https://shop.m5stack.com/products/basic-core-iot-development-kit
https://shop.m5stack.com/products/esp32-basic-core-iot-development-kit-v2-6

M5Stack Core2

ESP32 / 240Mhz / 16MB / 520KB / WiFi, BLE, 320x240 LCD, タッチスクリーン

ESP32 を搭載した、 WiFi + BLE + 画面という構成
現状 TinyGo では ESP32 自体の WiFi 機能等は使えないことに注意
7,689 円 https://www.switch-science.com/catalog/6530/
7,980 円 https://akizukidenshi.com/catalog/g/gM-16170/
https://shop.m5stack.com/products/m5stack-core2-esp32-iot-development-kit?variant=35960244109476

M5Stamp C3

ESP32-C3 RISC-V / 160MHz / 384KB / 400KB / WiFi, BLE

ESP32-C3 を搭載した、 WiFi + BLE という構成
現状 TinyGo では ESP32-C3 自体の WiFi 機能等は使えないことに注意
$6
1,320 円 https://www.switch-science.com/catalog/7474/
https://shop.m5stack.com/products/m5stamp-c3-mate-with-pin-headers

Makerdiary nRF52840-MDK

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / USB Type-C connector, BlueTooth 5, BlueTooth Mesh

Type-C コネクタ
$29.90
https://wiki.makerdiary.com/nrf52840-mdk/

Makerdiary nRF52840-MDK USB Dongle

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / USB Type-C connector, BlueTooth 5, BlueTooth Mesh

Makerdiary nRF52840-MDK の USB ドングルバージョン
ピン数が少ないがだいぶ安い
$12.99
https://wiki.makerdiary.com/nrf52840-mdk-usb-dongle/

MCH2022 badge

ESP32 / 240Mhz / 4MB / 520KB / WiFi, BLE

ESP32 をメイン、 RP2040 をサブマイコン、さらにグラフィック用に Lattice ICE40UP5K FPGA が搭載された構成です。
Qwiic などをはじめとする拡張ポート、Micro SD やスピーカーや液晶などが搭載されています。
TinyGo 0.25 時点では ESP32 のデバイスとして作られています。
https://badge.team/docs/badges/mch2022/ https://wiki.mch2022.org/Badge

Microchip SAM E54 Xplained Pro

ATSAME54P20 Cortex-M4F / 120MHz / 1024KB / 256KB / Ethernet, CAN, CAN FD

ATSAME54 という ATSAMD51 + Ethernet + CAN/CAN FD のチップを搭載したデバッグボード
ピン数も 128 ピンの大半が線だしされています
オンボードデバッガ (EDB) があり openocd 等から使用できます
$87.99
16,894 円 https://www.marutsu.co.jp/pc/i/1351266/
https://www.microchip.com/developmenttools/productdetails/atsame54-xpro

nice!nano

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / USB Type-C connector, BlueTooth 5, BlueTooth Mesh

自作キーボードでよくつかわれる Pro Micro 互換ピン配置のボードらしい
単体で Bluetooth 通信可能、 LiPo 充電回路搭載
$24.99
https://docs.nicekeyboards.com/#/nice!nano/

Nintendo Switch

Nvidia Tegra X1/X2 / ??Mhz / ??

29,980 円 https://www.nintendo.co.jp/hardware/switch/

Nordic Semiconductor PCA10031

nRF51822/nRF51422/nRF51824 Cortex-M0 / 16Mhz / 128-256KB / 16-32KB / BLE

https://www.nordicsemi.com/eng/Products/nRF51-Dongle

Nordic Semiconductor PCA10040

nRF52810/nRF52832 Cortex-M4F / 64Mhz / 192-512KB / 24-64KB / BLE

https://www.nordicsemi.com/eng/Products/Bluetooth-low-energy/nRF52-DK

Nordic Semiconductor PCA10056

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE

https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52840-DK

Nordic Semiconductor PCA10059

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE

USB ドングルモデル
技適無し
$9.54
https://www.nordicsemi.com/Software-and-tools/Development-Kits/nRF52840-Dongle

Particle Argon

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BlueTooth 5

$27.50 https://www.adafruit.com/product/3997
https://docs.particle.io/datasheets/wi-fi/argon-datasheet/

Particle Boron

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE, u-blox SARA (LTE/2G/3G)

u-blox SARA-R410-02B LTE modem 搭載で LTE/2G/3G につながる
技適は不明 (u-blox SARA-R410M 自体は通ってる?)
$55.00 https://www.adafruit.com/product/3998
https://docs.particle.io/datasheets/cellular/boron-datasheet/

Particle Xenon

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BlueTooth 5

$19.95 https://www.adafruit.com/product/3999
https://docs.particle.io/datasheets/discontinued/xenon-datasheet/

Phytec reel board

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE

$52.77
https://www.phytec.eu/product-eu/internet-of-things/reelboard/
https://docs.zephyrproject.org/latest/boards/arm/reel_board/doc/index.html

Pimoroni Badger 2040

RP2040 Cortex-M0+ dual core / 133MHz / 2MB / 264KB / 296x128 E Ink display

RP2040 + 2.9 インチ e-paper 搭載の badger です。
5 ボタン、 Qwiic/STEMMA QT コネクタ、 LiPo 用の JST-PH コネクターなど。 £16.50
https://shop.pimoroni.com/products/badger-2040?variant=39752959852627

Pimoroni Tufty 2040

RP2040 Cortex-M0+ dual core / 125MHz / 8MB / 264KB / Buttons/320x240 TFT Display/LED/Qwiic

320x240 TFT Display (ST7789v) を搭載した Badger です。
同社の Badger 2040 とは異なりカラー液晶です。
ボタンは全面に 5 ボタン、裏面に電源および BOOTSEL ボタンがあります。
電池駆動可能で、バッテリー用に JST-PH コネクタも搭載。
£24 (4,000 円ぐらい?)
4,301 円 https://www.switch-science.com/products/8294
https://shop.pimoroni.com/products/tufty-2040

PineTime DevKit

nRF52832 Cortex-M4F / 64MHz / 512KB / 64KB / BlueTooth 5, BLE, 240x240 touch display

腕時計型のデバイス
$24.99
https://www.pine64.org/pinetime/

PJRC Teensy 3.6

MK66FX1M0VMD18 Cortex-M4F / 180Mhz / 1MB / 256KB / CAN, microSD

$29.25
5,557 円 https://www.switch-science.com/catalog/2989/
https://www.pjrc.com/store/teensy36.html

PJRC Teensy 4.0

NXP iMXRT1062 ARM Cortex-M7 / 600Mhz / 2MB / 1MB / CAN, CAN-FD

Cortex-M7 で 600Mhz で、という高速かつ安いボード
GPIO / UART / SPI / ADC / I2C に対応
$19.95
3,789 円 https://www.switch-science.com/catalog/2989/
https://www.pjrc.com/store/teensy40.html

PJRC Teensy 4.1

NXP iMXRT1062 ARM Cortex-M7 / 600Mhz / 8MB / 1MB / CAN, CAN-FD,sdcard

Cortex-M7 で 600Mhz で、という高速なボード
GPIO / UART / SPI / ADC / I2C に対応
5,120 円 https://www.switch-science.com/catalog/6377/ $26.85
https://www.pjrc.com/store/teensy41.html

ProductivityOpen P1AM-100

ATSAMD21G18 Cortex-M0+ / 48MHz / 256KB / 32KB

https://facts-engineering.github.io/modules/P1AM-100/P1AM-100.html

Raspberry Pi Pico

RP2040 Cortex-M0+ dual core / 133MHz / 2MB / 264KB

Raspberry Pi シリーズの末弟としての位置づけの Cortex-M0+ dual core ボード
SWD 端子がスルーホールとして用意されてたり、とても安かったりが特徴
国内外で一気に人気が出ているボードです
$4
715 円 https://www.switch-science.com/catalog/6900/
600 円 https://akizukidenshi.com/catalog/g/gM-16132/
600 円 https://steam-tokyo.com/product/raspberry-pi-pico/
https://www.raspberrypi.org/products/raspberry-pi-pico/

Raytac MDBT50Q-RX

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE

ボタンが一つあるだけのシンプルなボード (というのか USB デバイスというのか) です。
技適有りなので、 https://github.com/tinygo-org/bluetooth と組み合わせて TinyGo で遊ぶことができます。
$15.95
1,672 円 https://www.switch-science.com/catalog/5531/
https://www.adafruit.com/product/5199

Seeed LoRa-E5 Development Kit

STM32WLE5JC Cortex-M4 + SX126x / 48MHz / 256KB / 64KB / LoRa, LiPo

STM32WLE5JC + SX126x という LoRa 対応モジュールが搭載されたボード
LoRa 接続可能ですが、技適未対応
$26.90
https://www.seeedstudio.com/LoRa-E5-Dev-Kit-p-4868.html

Seeed Wio Terminal

ATSAMD51P19 Cortex-M4F / 120Mhz / 512KB / 192KB / Wifi, BLE, 320x240 TFT, microSD,LIS3DHTR

液晶にボタンに加速度センサにとてんこ盛りのボード
そして安い、、、だったのが、大分値段が上がりました
背面からピンも多数出ているので拡張性も十分
Type-C コネクタ
技適取得済み
LCD は ILI9341 320x240
$29.90
6,677 円 https://www.switch-science.com/catalog/6360/
5,490 円 http://akizukidenshi.com/catalog/g/gM-15275/
4,769 円 https://www.marutsu.co.jp/pc/i/1633550/
https://www.seeedstudio.com/Wio-Terminal-p-4509.html

Seeed XIAO ESP32C3

ESP32-C3 RISC-V / 160MHz / 4MB / 400KB / WiFi, BLE

ESP32-C3 を搭載した、 WiFi + BLE という構成
国内販売品であり技適ありだが現状 TinyGo では ESP32-C3 自体の WiFi 機能等は使えないことに注意
$4.99 940 円 https://akizukidenshi.com/catalog/g/gM-17454/
946 円 https://www.switch-science.com/products/8348

Seeed XIAO BLE nRF52840

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE

安くて小さい XIAO シリーズの nRF52840 バージョン
当然 BLE に対応している (TinyGo も BLE サポート済)
技適対応版が発売されました。
同じサイズで 6 軸 IME とマイク付きの XIAO BLE SENSE も TinyGo から使用可能です。
$9.90
1,850 円 https://steam-tokyo.com/product/xiao-ble/
1,980 円 https://www.switch-science.com/catalog/8145/
2,937 円 https://www.switch-science.com/catalog/8146/ (XIAO BLE SENSE)
2,680 円 https://akizukidenshi.com/catalog/g/gM-17342/ (XIAO BLE SENSE)
https://www.seeedstudio.com/Seeed-XIAO-BLE-nRF52840-p-5201.html

Seeed Seeeduino XIAO RP2040

RP2040 Cortex-M0+ dual core / 125MHz / 2MB / 264KB / LED/RGB LED

RP2040 を搭載した XIAO で、小型であることが特徴です。
BOOTSEL ボタンとリセットボタンが搭載されています。
$5.4
1,067 円 https://www.switch-science.com/catalog/7634/
750 円 https://akizukidenshi.com/catalog/g/gM-17044/
https://www.seeedstudio.com/XIAO-RP2040-v1-0-p-5026.html

Seeed XIAO SAMD21

ATSAMD21G18 Cortex-M0+ / 48MHz / 256KB / 32KB

とにかく安くて、小さい
その割に IO x 11 と割と多い
リセットするのが面倒なので、半田付けして線だしした方がよい
Type-C コネクタ
$4.9
1,100 円 https://www.switch-science.com/catalog/6335/
850 円 https://akizukidenshi.com/catalog/g/gM-15178/
https://www.seeedstudio.com/Seeeduino-XIAO-Arduino-Microcontroller-SAMD21-Cortex-M0+-p-4426.html

Sipeed MAix BiT

Kendryte K210 RISC-V (RV64GC) / 400Mhz / 16MB / 8MB / microSD

$12.90
安くて速い
ADC が搭載されていない?ので注意
Type-C コネクタ
カメラと LCD のセットで 3,520 円は安い
4,917 円 https://www.switch-science.com/catalog/5702/ (カメラ + LCD セット)
https://www.seeedstudio.com/Sipeed-MAix-BiT-for-RISC-V-AI-IoT-p-2872.html

SiFIve HiFive1

FE310-G002 RISC-V / 320MHz / 4MB / 16KB? / WiFi, BLE

6,600 円 http://akizukidenshi.com/catalog/g/gM-15014/
https://www.sifive.com/boards/hifive1

SparkFun Thing Plus - RP2040

RP2040 Cortex-M0+ dual core / 125MHz / 16MB / 264KB / micro sdcard,LiPo,Qwiic

Raspberry Pi Pico 等と同じ RP2040 を搭載したボード
LiPo 充電可能な 2-pin JST 搭載
ピン配置は Adafruit の Feather と同じ
$19.50
3,606 円 https://www.switch-science.com/catalog/7392/
https://www.sparkfun.com/products/17745

ST Micro "Nucleo F103RB"

STM32F103RBT6 Cortex-M3 / 72MHz / 128KB / 20KB / CAN, ST-Link/V2-1

デバッガ付きで 1,680 円と安い
1,680 円 https://www.marutsu.co.jp/pc/i/236958/
1,936 円 https://www.switch-science.com/catalog/1618/
$10.55 https://www.st.com/en/evaluation-tools/nucleo-f103rb.html
https://os.mbed.com/platforms/ST-Nucleo-F103RB/

ST Micro "Nucleo" F722ZE

STM32F722ZE / 216MHz / 512KB / 256KB / On-board ST-Link

デバッガ付きの Cortex-M7
2,490 円 https://www.marutsu.co.jp/pc/i/16838806/
$19.41
https://www.st.com/en/evaluation-tools/nucleo-f722ze.html

ST Micro "Nucleo" L031K6

STM32L031K6 Cortex-M0+ / 32MHz / 32KB / 8KB / debugger

デバッガ付きの Cortex-M0+
$10.77
1,433 円 https://www.marutsu.co.jp/pc/i/13537496/
https://www.st.com/en/evaluation-tools/nucleo-l552ze-q.html

ST Micro "Nucleo" L432KC

STM32L432KC Cortex-M4 / 80MHz / 256KB / 64KB / debugger

デバッガ付きの Cortex-M4
$10.55
1,433 円 https://www.marutsu.co.jp/pc/i/13537500/

ST Micro "Nucleo" L552ZE

STM32L552ZE Cortex-M33 / 110MHz / 512KB / 192KB / USB-PD Controler, CANFD, Type-C

デバッガ付きの Cortex-M33
$20.07
https://www.st.com/en/evaluation-tools/nucleo-l552ze-q.html

ST Micro "Nucleo" WL55JC

STM32WL55JC Cortex-M4/M0+ dual-core / 48MHz / 256KB / 64KB / LoRa, stlink-v3

LoRa 接続可能ですが、技適未対応
$41.16
https://estore.st.com/en/nucleo-wl55jc2-cpn.html

ST Micro STM32F103XX "Bluepill"

STM32F103C8 Cortex-M3 / 72MHz / 128KB / 20KB / CAN

eBay 等では 200 円ぐらいから
Bluepill よりも改良版?である Blackpill の方が色々と問題が少ないはず
https://stm32duinoforum.com/forum/wiki_subdomain/index_title_Blue_Pill.html

ST Micro STM32F407 "Discovery"

STM32F407VGT6 Cortex-M4F / 168MHz / 1MB / 192KB / CANx2

3,000 http://akizukidenshi.com/catalog/g/gM-05313/
https://www.st.com/en/evaluation-tools/stm32f4discovery.html

ST Micro STM32F469 "Discovery"

STM32F469I Cortex-M4 / 180MHz / 2MB / 324KB / 800x480 TFT, sound, microsd, st-link/v2-1

高解像度液晶付きのボード
デバッガ搭載
https://estore.st.com/en/stm32f469i-disco-cpn.html

The Things Industries Generic Node Sensor Edition

STM32WL55 Cortex-M4 / 48MHz / 256KB / 64KB / LoRa

LoRa 接続可能ですが、技適未対応
https://www.genericnode.com/docs/sensor-edition/

X9 Pro smartwatch

nRF52832 Cortex-M4
https://github.com/curtpw/nRF5x-device-reverse-engineering/tree/master/X9-nrf52832-activity-tracker/

2022 年にやったこと

今日で 2022 年も終わりということで、 2022 年の活動を振り返ってみます。 と言いつつも、主に TinyGo 関連の活動まとめになるかな、と。

書籍執筆

今年はなんと行っても書籍「基礎から学ぶ TinyGoの組込み開発」の執筆がメインでした。 2022/01/26 に Twitter DM で声掛けいただいて 2022/11/12 付近に発売というのもあり、まさに 2022 年の活動といった感じです。

sago35.hatenablog.com

Go Conference 2022 Spring 登壇

2022/04/23 は Go Conference 2022 Spring で IoT With TinyGo というトークをしました。 タイトル通り TinyGo を使ったネットワークにつながる IoT 対応デバイスの話です。 ネットワーク関連については、書籍「基礎から学ぶ TinyGoの組込み開発」にもしっかり書いているのでぜひ試してみてください。

gocon.jp

TinyGo の USB 周りを一新

TinyGo 0.23 までの USB 実装は、 samd51 / samd21 / nrf52840 それぞれに USB CDC 実装が微妙に違う構成で作成されていました。 それに対して、 samd51 / samd21 / nrf52840 共通で使えるようにリファクタリングを行い、さらには rp2040 実装を追加しました。 この時点で、 USB CDC を別パッケージに切り出せたので、 USB HID や USB MIDI を割と簡単に実装することが出来ました。 USB よく分からん、って感じのまま生きてきたのですが、今回の経験である程度理解することが出来ました。 rp2040 実装を作ってみたのも良い経験になりました。

で、 USB HID が出来たら何をするの?というといわゆる自作キーボードを作りますよね。 とりあえずツイートしてみたものの、この頃はちょうど書籍執筆の大詰めである脱稿予定日 (2022/08/16) 手前だったので執筆に戻る感じでした。

初めての自作キーボード作成

自作キーボードは、 TinyGo で実装できるようになったらやってみようかな、ぐらいで思ってたのですが、 TinyGo 0.24 で USB HID 対応となったのでいよいよやらない理由がなくなってきたのでトライ。 TMK とか QMK とか言葉はなんとなく知っているけど、自作キーボードキットとかも全く触れることなく雰囲気コピーで基板設計してソフト書いて、という流れを実施。

キースイッチなどは TALPKEYBOARD さんで基板設計よりも先に購入しました。

talpkeyboard.net

というのも、スイッチがどのようにはんだ付けされるものなのかも分からない状態だと基板設計が正しいっぽいかも分からないと思ったので以下を購入しました。 実際にスイッチを基板に合わせてみて実感が湧いてきました。

talpkeyboard.net

ということで後は基板の発注データ作って発注してしばらく待ったら出来上がりました。 無事に何事もなく動いたのでよし。 そのあたりの内容は以下に書きました。

qiita.com

なお、自作キーボードを実際に作る過程で、 TinyGo の USB HID の Descriptor の設定が足りていなかったので PR 作って改善しています。 このあたりも実際に USB HID を使ってみないと分からない、という感じですね。

TinyGo への貢献

色々な PR を作りましたが、今年の一番印象的なのは前述の USB 周りと、 tinygo monitor かな。

書籍執筆してて、 Tera Term とか minicom とかの説明を書くのが辛かったので、書籍執筆後半に (書籍には間に合わないけど) tinygo monitor というサブコマンドと、 tinygo flash -monitor オプションを作成しました。 これを使うと、シンプルな用途では Tera Term とか minicom が要らなくなるので、特に Windows の人が楽になります。 この PR は実は、書籍発売後にリリースされるであろうというものだったのですが、 2022/10/06 付近からの GopherCon Chicago で使いたいという理由により速やかにリリースされてしまった (と私は思っている) 感じです。 もっと早いタイミングでこれを作ってたら、書籍の記載もだいぶ省略出来たのになぁ、とか思ったり思わなかったり。

なお、 USB 周りにしても tinygo monitor にしても、書籍執筆がきっかけとなって進んでいるので、 株式会社 C&R研究所リブロワークス に感謝感謝です。

umeda.go の開催

2020/11/14 以来開催出来てなかった Umeda.go を再開しました。 今年は、 Spring (2022/06/25) と Autumn (2022/11/12) の 2 回開催することが出来ました。 コロナ前と比べると開催頻度が落ちていますが、無理のない範囲でぼちぼちやっていく予定。 Umeda.go は他の Go コミュニティに比べて、 nobonobo さんと自分の影響で組込み関連が多めなのが特徴かな。

umedago.connpass.com

久しぶりの Perl入学式 in 大阪

「プログラミング未経験者」から「Perl初心者」を対象としたワークショップ、「Perl入学式」が久しぶりにオフライン開催となりサポーターとしての参加しました。 Perl は故郷みたいなものなので、とても思い入れがあります。 ちょっと予定があわず、第 2 回に参加したのみですが継続して参加していく予定。

perl-entrance.connpass.com

登壇

今年は 2 回登壇しました。 相変わらず?の TinyGo だらけ、という感じ。

IoT with TinyGo

www.youtube.com

TinyGo + BLE で作る Lap Timer

www.youtube.com

まとめ

ということで、色々ありましたが今年の一番の出来事は初めての書籍執筆でした。 来年もいろんな新しいチャレンジがある一年にしたい。

「基礎から学ぶ TinyGoの組込み開発」を書きました

↓↓↓ お知らせ (2022/11/18) ↓↓↓

ネットワーク部 (RTL8720DN) のファームウェアアップデート方法の修正があるため必ず確認してください。 具体的には、

$ git clone https://github.com/Seeed-Studio/ambd_flash_tool

ではなく

$ git clone https://github.com/Seeed-Studio/ambd_flash_tool --branch JP

を使うようにしてください。 この情報を含め、正誤表を更新していっていますので、ご確認ください。

tinygobook/correct.md at main · sago35/tinygobook · GitHub

↑↑↑ お知らせ (2022/11/18) ↑↑↑


2022/11/12 に「基礎から学ぶ TinyGoの組込み開発」(C&R研究所) が全国書店、 Amazon 等で販売開始となります。
※早いところは 2022/11/10 だそうです

上記ツイートにも書いたように TinyGo の組込みを扱う本として最高の一冊に仕上げました。 是非手に取って、実際に手を動かしてみて TinyGo での組込み開発にトライしてみてください。

目次とか

3 章では「Goの基本」ということで、 TinyGo で必要となる Go の基本を短くまとめています。 3 章は 66 ページと短くまとめつつも unsafe に 6 ページ、 cgo に 9 ページと、いわゆる通常の Go の本ではありえない比率になってます。 cgo は Go と C 言語資産と連携するためのもので、 TinyGo に限らず使える話なので、あまり触ったことが無い人もさらっと目を通すと良さそうです。

5 章では「各ペリフェラルの使い方」ということで、 TinyGo が対応している各ペリフェラルの使い方や、 I2C / SPI を用いたドライバーの書き方のさわりの部分などをコードとともに説明しています。 本書でターゲットとしている Wio Terminal のうち、 TinyGo が対応しているほとんどの機能を説明しています。 この章の内容は Raspberry Pi Pico の RP2040 などから TinyGo を使いたいときにも参考になるはずです。

6 章「ディスプレイに表示する」では、最初にパソコン上の Simulator である sago35/tinydisplay でコードを書き、同じコードを Wio Terminal で動かす形で進めます。 パソコン上で画面の構成要素などを作りこむことができるので快適に開発することができます。

7 章「ネットワークに接続する」では、 Wio Terminal に搭載された RTL8720DN を用いてネットワークに接続します。 Go の net/http が直接動くわけではないですが、 tinygo.org/x/net/http を使って、ほぼ同じように動作させることができます。 もちろん goroutine を使って並行動作させることができます。

8 章「アプリケーション作成」は、それまでの章で学んだことを組み合わせてアプリケーションを作成します。 「福笑い」を作った後は、是非 Twitter に投稿してください。

  • Chapter 1 TinyGoとは
  • Chapter 2 開発環境のセットアップ
  • Chapter 3 Goの基本
  • Chapter 4 TinyGo Internals
  • Chapter 5 各ペリフェラルの使い方
  • Chapter 6 ディスプレイに表示する
  • Chapter 7 ネットワークに接続する
  • Chapter 8 アプリケーション作成
  • 付録 デバッグ

Twitter の hashtag

Twitter に投稿する時の hashtag は #tinygo と #tinygobook を使ってください。

twitter.com

サポートサイト

本書のサポートサイトは以下にあります。 よくある質問と回答や、正誤表、8 章のソースコードなどがあります。

執筆時のあれこれ

自分自身が TinyGo の中の人 (コントリビューター) であり、機能追加をいろいろしていることにより、割と大変でした。 書籍内で説明しにくい部分などは、分かりやすくなるように TinyGo 本体側を変更したりしました。 また USB まわりの書き換えはかなり大事だったので、自分自身の USB への理解度が上がって嬉しかったけどそれなりに大変でした。 USB 周りも GopherCon EU (2022/07/30) で RP2040 のボードで使いたいから、と、 Wio Terminal (ATSAMD51) とは関係のないボードへのコントリビュートを無限にしてた記憶。

  • USB CDC のみ対応だった状態から USB HID や USB MIDI への対応を追加した
    • もとは、別の人が PR 作ってくれていてそれに乗っかって書籍を書く予定だった
    • が、割と難航していたのもあり、自分でまきとって PR を作成し 2022/07/頭 ぐらいにようやくマージとなった
  • 書籍の変更ができるギリギリのタイミングで TinyGo 0.26 がリリースされてしまった
    • 原因は、 tinygo monitor および tinygo flash -monitor というシリアルポートモニター機能追加がマージされたこと
    • これは、自分自身が minicom や Tera Term の説明が面倒で作成したものだが、 GopherCon Chicago (2022/10/06) で使いたいからと速やかにリリースされた
    • なお、書籍変更の〆は 2022/10/17 でした・・・

発売日などなど

書店だと早いところは 2022/11/10 ぐらいから買えるようになるようです。 なお、C&R研究所のオフィシャルストアでは、 PDF / EPUB が 2022/11/10 から購入可能となるようです。

まとめると以下のような感じです。

なお、 EPUB 版はすべて画像形式となっているそうなので、検索したい場合は PDF が良いらしいです。

代表的なリンクは以下です。

本書とは別売りのもの

最小限で行くなら Wio Terminal だけ買っておくと良いです。

その他必要なものは以下。 デバッガーは 基礎から学ぶ 組込みRust で既に作ったものがある場合は流用できます。 あるいは、 jlink などの他の CMSIS-DAP デバッガーを持っている場合はそれを使うことができます。

書籍執筆の経緯

いつか技術書書きたいなぁ、と思っていたのを忘れていたぐらいだったのですが、ある日 Twitter DM で「TinyGo の本書きませんか? (意訳)」 という話がありました。 組込みRust本の中の人 (@tnakabayashi@ciniml) に「TinyGo に詳しい人」という枠で紹介してもらったことがきっかけです。 当時国内で TinyGo と言えば私か、 @nobonobo か、という感じではあったけど、とても驚いたし嬉しかったです。 Wasm のことは書かないよ、組込みを題材とする形でいいですか?という部分で OK いただいたので、無事執筆となりました。

なお、技術書を書いてて「技術書出版に関わる人 / 会社というのは OSS にものすごく貢献している」と感じました。 技術書の執筆者に対価を払うという直接的な形で OSS にスポンサーしていることになるわけですから。 TinyGo の USB 機能の再設計が出来たこと、 RP2040 の USB 対応が実現できたこと、 tinygo monitor 機能、などは、 C&R研究所 および リブロワークス のおかげ、という側面があります。 本当にありがとうございます。

最後に

2022/11/12 に「基礎から学ぶ TinyGoの組込み開発」(C&R研究所) が全国書店、 Amazon 等で販売開始となります。 是非手に取って、実際に手を動かしてみて TinyGo での組込み開発にトライしてみてください。

TinyGo 0.26 で遊べるマイコンボード一覧

TinyGo 0.26 がリリースされました。

github.com

ということで TinyGo 0.26 で遊べるマイコンボード一覧を作成しました。 オフィシャルの一覧に、マイコンやクロックなどの情報を足しています。 前に作った 0.25 時点のもの から 4 ボードが増えて合計 93 ボードになりました。

0.26 の (自分の興味を中心とした) 変更点のサマリは以下です。
今回は特別大きな変更はないのですが、 monitor / -monitor はかなり便利です。

  • monitor サブコマンドおよび tinygo flash -monitor を追加
    • tinygo を実行したターミナルで、直接シリアルポートをモニターできます
      • 例) tinygo flash -monitor -target wioterminal examples/blinky1
  • マイコン関連
    • nrf の TRNG に対応
    • nrf と rp2040 の温度情報読み取りに対応
  • デバッガーとして stlink-dap (STLINK-V2) に対応
  • 多くのバグフィックスコンパイラおよび runtime の改善
    • time.NewTimer や time.NewTicker が動くようになり、標準 package のテストが通るものが増えた
  • WASM / WASI サポートの改善
  • などなど

tinygo flash -monitor の動作は以下のような感じです。
特に Windows の人は、 Tera Term などをいちいち切断する必要がなくなるのでかなり体験が良くなります。
tinygo monitor -target wioterminal や tinygo monitor -port /dev/ttyACM0 のように使うことができます。

Go 標準パッケージのテスト結果については以下。 Passes testsyes となっているものは確実に使用可能ですが、 no となっているからといって使えないという意味ではないです。 例えば fmt package の test は no となっていますが、 fmt のほとんどの部分は動作します。 この辺りの公式ページにより表示/表明はもっと明確にしていけたらよいと思っています。 0.25 と 0.26 の差分は以下です。 io/fs のテストは詳細を調べないといけない気がする。

  • 新しく import 可能となったもの (テストはまだ fail あり)
    • crypto/ed25519
    • crypto/x509
  • 新しく import 可能となったもの (テストも pass)
  • テストが pass するようになったもの
    • crypto/hmac
    • encoding/base64
    • image
    • image/jpeg
    • io/ioutil
    • mime/quotedprintable
    • strconv
    • text/tabwriter
    • text/template/parse
  • テストが通らなくなったもの
    • io/fs

tinygo.org

本体の Version Up にあわせ tinygo.org/x/drivers 0.23.0 がリリースされました。 0.23.0 での主な変更点は以下の通りです。

  • 新規追加
    • GC9A01 (円形のディスプレイ) に対応
    • VL6180x (ToF センサー) に対応
  • 修正

github.com

あとは、 tinygo-org/bluetooth にも大きな変更が入り、 Windows でも peripheral 側に対して接続、書き込み、読み込みできるようになりました。 これで、 Linux / macOS / Windows / SoftDevice (nRF シリーズ) で同じコードで Bluetooth を扱えるようになりました。 これは良い。

github.com

TinyGo については、以下に記載しています。

2022/04/23 の Go Conference 2022 Spring にて IoT With TinyGo というトークの資料+動画が役に立つかもしれません。

gocon.jp

youtu.be

あるいは、 2020/07/18 の umedago 2020 Online の資料+動画が役に立つかもしれません。 動画では実際にビルドして動かしてみる部分や、デバッグなども少し触れています。 ページ下部の資料置き場に資料および当日の発表動画があります。

umedago.connpass.com

2021/11/13 の Go Conference 2021 Autumn Online で TinyGo ハンズオンを行いました。
Wio Terminal を用いて、環境立ち上げからデバッグ、 package を用いた開発、などを扱っています。
是非確認してみてください。

www.youtube.com

TinyGo 0.22 時点の情報ですが、以下も参考になります。

amanoese.hatenablog.com

amanoese.hatenablog.com

あとは宣伝ですが、 2022/11 に日本語としては初の TinyGo を扱う書籍が発売になります。 TinyGo で組込みを題材とした本では世界一詳しい本になってるはず。 Wio Terminal を題材として TinyGo を全体的に学ぶことができます。 もちろん、 RP2040 などの他のマイコンを使う場合にも役に立ちますので、是非読んでみてください。

www.amazon.co.jp

さて。

TinyGo 0.26.0 時点の README.md をベースに作成しています。 値段や技適等の情報はあくまで参考ということで、購入する場合は別途各自で調べてください。

0.26 追加分

Pimoroni Tufty 2040

RP2040 Cortex-M0+ dual core / 125MHz / 8MB / 264KB / Buttons/320x240 TFT Display/LED/Qwiic

320x240 TFT Display (ST7789v) を搭載した Badger です。
同社の Badger 2040 とは異なりカラー液晶です。
ボタンは全面に 5 ボタン、裏面に電源および BOOTSEL ボタンがあります。
電池駆動可能で、バッテリー用に JST-PH コネクタも搭載。
£24 (4,000 円ぐらい?)
https://shop.pimoroni.com/products/tufty-2040

Seeed Studio XIAO ESP32C3

ESP32-C3 RISC-V / 160MHz / 4MB / 400KB / WiFi, BLE

ESP32-C3 を搭載した、 WiFi + BLE という構成
国内販売品であり技適ありだが現状 TinyGo では ESP32-C3 自体の WiFi 機能等は使えないことに注意
$4.99 940 円 https://akizukidenshi.com/catalog/g/gM-17454/
946 円 https://www.switch-science.com/products/8348

Adafruit Trinkey QT2040 - RP2040

RP2040 Cortex-M0+ dual core / 125MHz / 8MB / 264KB / RGB LED

RP2040 を搭載した USB ドングル型の小さなマイコンボードです。
BOOTSEL ボタンとリセットボタン、Qwiic/STEMMA QT コネクタが搭載されています。
RGB LED は搭載されていますが、通常の LED が搭載されていないことに若干注意が必要です。
$7.5
https://www.adafruit.com/product/5056
https://learn.adafruit.com/adafruit-trinkey-qt2040

Adafruit QT Py RP2040

RP2040 Cortex-M0+ dual core / 125MHz / 8MB / 264KB / RGB LED

RP2040 を搭載した QT Py で、小型であることが特徴です。
BOOTSEL ボタンとリセットボタン、Qwiic/STEMMA QT コネクタが搭載されています。
RGB LED は搭載されていますが、通常の LED が搭載されていないことに若干注意が必要です。
Seeed 社の XIAO と同じサイズです。 $9.95
1,837 円 https://www.switch-science.com/products/7211
1,400 円 https://steam-tokyo.com/product/qt-py-rp2040/
https://www.adafruit.com/product/4900
https://learn.adafruit.com/adafruit-qt-py-2040

既存の対応ボード

Adafruit Circuit Playground Bluefruit

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE

$24.95
https://www.adafruit.com/product/4333
https://learn.adafruit.com/adafruit-circuit-playground-bluefruit

Adafruit Circuit Playground Express

ATSAMD21G18 Cortex-M0+ / 48MHz / 256KB / 32KB

$24.95
4,609 円 https://www.switch-science.com/catalog/3666/
3,300 円 https://steam-tokyo.com/product/circuit-playground-express/
https://www.adafruit.com/product/3333
https://learn.adafruit.com/adafruit-circuit-playground-express

Adafruit CLUE Alpha

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE, 240x240 TFT

BBC micro:bit サイズでディスプレイやセンサー類てんこ盛り
LCD は ST7789 240x240
$39.95
5,500 円 https://steam-tokyo.com/product/adafruit-clue/
https://www.adafruit.com/product/4500
https://learn.adafruit.com/adafruit-clue

Adafruit Feather M0

ATSAMD21G18 Cortex-M0+ / 48MHz / 256KB / 32KB

Feather M0 シリーズは、マイコン単体に近い Basic Proto 以外にも microSD カードスロットを搭載したモデルや BLE 搭載などのバリエーションあり
PH コネクタ、リチウムイオン電池の充電機能あり
$19.95
3,685 円 https://www.switch-science.com/catalog/2750/
2,420 円 https://akizukidenshi.com/catalog/g/gM-16347/
https://www.adafruit.com/product/2772
https://learn.adafruit.com/adafruit-feather-m0-basic-proto

Adafruit Feather M4

ATSAMD51J19 Cortex-M4F / 120MHz / 512KB / 192KB

ピン数多めのモデル
Feather M0 のマイコン強化版
PH コネクタ、リチウムイオン電池の充電機能あり
$22.95
4,246 円 https://www.switch-science.com/catalog/5887/
https://www.adafruit.com/product/3857
https://learn.adafruit.com/adafruit-feather-m4-express-atsamd51

Adafruit Feather M4 CAN

ATSAME51J19 Cortex-M4F / 120MHz / 512KB / 192KB / CAN, CAN FD, USB Type-C

ATSAME51 という ATSAMD51 + CAN/CAN FD のチップを搭載したボード
Feather M4 とほぼコンパチで CAN が追加されています $24.95
3,080 円 https://www.akizukidenshi.com/catalog/g/gM-16363/ https://www.adafruit.com/product/4759
https://learn.adafruit.com/adafruit-feather-m4-can-express

Adafruit Feather nRF52840 Express

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE

安定の Feather シリーズの nRF52840 版になります
クロック遅めですが、 ROM / RAM は多め、 BLE 付きで安い
安心の技適取得済み
デバッグコネクタ付き
$24.95
4,609 円 https://www.switch-science.com/catalog/5400/
3,080 円 https://akizukidenshi.com/catalog/g/gM-16358/
https://www.adafruit.com/product/4062
https://learn.adafruit.com/introducing-the-adafruit-nrf52840-feather

Adafruit Feather nRF52840 Sense

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE/LSM6DS33/LIS3MDL/APDS9960/PDM/SHT/BMP280

安定の Feather シリーズの nRF52840 版にセンサーを多数搭載したボードになります
クロック遅めですが、 ROM / RAM は多め、 BLE 付きで安い
LSM6DS33 (Accel/Gyro) + LIS3MDL (3 軸センサー) + APDS9960 (近接 + RGB + ジェスチャー) + PDM (Microphone) + SHT (湿度) + BMP280 (温度等) とセンサーてんこ盛り
安心の技適取得済み
$32.50
5,180 円 https://steam-tokyo.com/product/feather-nrf52840-sense/
https://www.adafruit.com/product/4516
https://learn.adafruit.com/adafruit-feather-sense

Adafruit Feather RP2040

RP2040 Cortex-M0+ dual core / 125MHz / 8MB / 264KB

Feather 規格の RP2040 ボードです
端子が Feather M4 などと同じなので、すでに Feather を使っている人は使いやすいはず
8MB QSPI Flash など、 Raspberry Pi Pico よりも強化されている部分があります
$11.95
1,680 円 https://steam-tokyo.com/product/adafruit-feather-rp2040/
2,211 円 https://www.switch-science.com/catalog/7216/
1,640 円 https://akizukidenshi.com/catalog/g/gM-17314/
https://www.adafruit.com/product/4884
https://learn.adafruit.com/adafruit-feather-rp2040-pico

Adafruit feather-stm32f405

STM32F405 Cortex-M4F / 168MHz / 1MB / 192KB / LiPo connector, microSD, CAN, Qwiic

Type-C コネクタなのが何気に嬉しい所
7,381 円 https://www.switch-science.com/catalog/6005/
3,980 円 https://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=EEHD-5KVN
https://www.adafruit.com/product/4382
https://learn.adafruit.com/adafruit-stm32f405-feather-express

Adafruit Grand Central M4

ATSAMD51P20 Cortex-M4F / 120MHz / 1024KB / 256KB / Arduino Mega 互換

ATSAMD51 で最もピン数が多いモデル
$37.50
6,836 円 https://www.marutsu.co.jp/pc/i/34551463/
https://www.adafruit.com/product/4064
https://learn.adafruit.com/adafruit-grand-central

Adafruit ItsyBitsy M0

ATSAMD21G18 Cortex-M0+ / 48MHz / 256KB / 32KB

Feather よりももう少し小さいシリーズ
$11.95
2,211 円 https://www.switch-science.com/catalog/3716/
https://www.adafruit.com/product/3727

Adafruit ItsyBitsy M4

ATSAMD51J19 Cortex-M4F / 120MHz / 512KB / 192KB

Feather よりももう少し小さいシリーズ
$14.95
2,420 円 https://www.switch-science.com/catalog/8173/
https://www.adafruit.com/product/3800

Adafruit ItsyBitsy nRF52840 Express

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE

BLE 対応の nRF シリーズのボード
feather-nrf52840 の弟分という所
FCC / IC / TELEC certified module ということで国内も OK
$17.95
3,685 円 https://www.switch-science.com/catalog/7605/
https://www.adafruit.com/product/4481
https://learn.adafruit.com/adafruit-itsybitsy-nrf52840-express

Adafruit MacroPad RP2040

RP2040 Cortex-M0+ dual core / 125MHz / 8MB / 264KB / 3x4 keyboard,Rotary encoder,128x64 SH1106 OLED

Raspberry Pi Pico 等と同じ RP2040 を搭載したボード
3x4 キーボード付きのセットでも売られている
TinyGo 0.23 時点では USB Device / HID としての機能が無いことに注意
$49.95
5,490 - 7690 円 https://steam-tokyo.com/product/adafruit-macropad-rp2040/
9,229 円 https://www.switch-science.com/catalog/8094/ https://www.adafruit.com/product/5128
https://learn.adafruit.com/adafruit-macropad-rp2040

Adafruit Matrix Portal M4

ATSAMD51J19 Cortex-M4F / 120MHz / 512KB / 192KB / WiFi, Type-C

64x64 RGB LED Matrix とかを使ってインターネットディスプレイに、というようなコンセプト
HUB-75 compatible なディスプレイをつなぐことができます
あとは ESP32 がついているので WiFi に接続可能です
$24.95
https://www.adafruit.com/product/4745
https://learn.adafruit.com/adafruit-matrixportal-m4

Adafruit Metro M4 Express Airlift

ATSAMD51J19 Cortex-M4F / 120MHz / 512KB / 192KB / ESP32

ESP32 搭載 (WiFi + BLE)
$34.95
5,082 円 https://www.switch-science.com/catalog/5399/
https://www.adafruit.com/product/4000
https://learn.adafruit.com/adafruit-metro-m4-express-airlift-wifi

Adafruit PyBadge

ATSAMD51J19 Cortex-M4F / 120MHz / 512KB / 192KB / 160x128 TFT

LCD は JD-T1800 (ST7735) 160x128
$34.95
6,457 円 https://www.switch-science.com/catalog/6230/
4,800 円 https://steam-tokyo.com/product/pybadge/
https://www.adafruit.com/product/4200
https://learn.adafruit.com/adafruit-pybadge

Adafruit PyGamer

ATSAMD51J19 Cortex-M4F / 120MHz / 512KB / 192KB / 160x128 TFT

LCD は JD-T1800 (ST7735) 160x128
$39.95
10,259 円 https://www.marutsu.co.jp/pc/i/35057272/
https://www.adafruit.com/product/4242
https://learn.adafruit.com/adafruit-pygamer

Adafruit PyPortal

ATSAMD51J20 Cortex-M4F / 120MHz / 1MB / 256KB / 320x240 TFT, ESP32

LCD は ILI9341 320x240
$54.95
10,153 円 https://www.switch-science.com/catalog/5741/
9,404 円 https://www.marutsu.co.jp/pc/i/33227335/
https://www.adafruit.com/product/4116
https://learn.adafruit.com/adafruit-pyportal

Adafruit QT Py SAMD21

ATSAMD21E18 Cortex-M0+ / 48MHz / 256KB / 32KB / Type-C
Seeeduino XIAO と同じサイズでいくつかの部品が追加されているイメージのボード
裏側には SWD 以外にも SOIC-8 SPI Flash chip を乗せるためのパターンもあります (Flash chip は非搭載)
このパターンから SPI を取り出したりも出来る模様
XIAO と比較した場合に、リセットボタンが追加されているのも嬉しい
$6
970 円 https://steam-tokyo.com/product/qt-py/
1,738 円 https://www.switch-science.com/catalog/7025/
https://www.adafruit.com/product/4600
https://learn.adafruit.com/adafruit-qt-py

Adafruit Trinket M0

ATSAMD21E18 Cortex-M0+ / 48MHz / 256KB / 32KB

安い、小さい、だったけど最近は QTPy や XIAO 等の選択肢もあり
$8.95
1,661 円 https://www.switch-science.com/catalog/3535/
https://www.adafruit.com/product/3500

Ai-Thinker ESP-C3-12F

ESP32-C3 RISC-V / 160MHz / 384KB / 400KB / WiFi, BLE

ESP32-C3 を搭載した、 WiFi + BLE という構成
現状 TinyGo では ESP32-C3 自体の WiFi 機能等は使えないことに注意
1,000 円ぐらい?
技適無し
https://docs.ai-thinker.com/_media/esp32/docs/esp-c3-12f_specification.pdf

Arduino Mega 1280

ATmega1280 AVR / 16MHz / 128KB / 8KB

https://www.arduino.cc/en/Main/arduinoBoardMega/

Arduino Mega 2560

ATmega2560 AVR / 16MHz / 256KB / 8KB

$40.30
7,700 円 https://www.switch-science.com/catalog/837/
https://store.arduino.cc/arduino-mega-2560-rev3

Arduino MKR1000

ATSAMD21G18 Cortex-M0+ / 48MHz / 256KB / 32KB / WiFi, LiPo

ATSAMW25 SoC で WiFi 接続可能という Arduino Nano33 IoT 的なモデル
$36.80
https://store.arduino.cc/arduino-mkr1000-wifi

Arduino MKR WiFi 1010

ATSAMD21G18 Cortex-M0+ / 48MHz / 256KB / 32KB / WiFi/BLE/Li-Po/ATTEC508

SAMD21 + u-blox NINA W102 の構成で WiFiBluetooth / BLE に対応している
国内販売有りで安心の技適取得済み
ほぼ同構成で海外で人気の Arduino Nano33 IoT が技適無しで使えなかったのもあり、期待のボードです
$32.10
5,940 円 https://www.switch-science.com/catalog/7384/
5,780 円 https://akizukidenshi.com/catalog/g/gM-16556/
https://store-usa.arduino.cc/products/arduino-mkr-wifi-1010

Arduino Nano

ATmega328 AVR / 16MHz / 32KB / 2KB

$20.70
3,960 円 https://www.switch-science.com/catalog/2554/
3,560 円 https://akizukidenshi.com/catalog/g/gM-09059/
https://store.arduino.cc/arduino-nano

Arduino Nano RP2040 Connect

RP2040 Cortex-M0+ dual core / 133MHz / 16MB / 264KB / WiFi/BLE/ATECC608/LSM6DSOXTR/MP34DT05

RP2040 + u-blox NINA-W102 (WiFi/BLE) の構成のボードです
Microchip のセキュリティデバイスである ATEC が搭載されている珍しいボード
LSM6D (6 軸センサー) + MP34DT05 (マイク) も搭載されています
Arduino 33 IoT から CPU が強化された位置づけになりそうです
u-blox NINA-W102 は工事設計認証は取得済だそうですが技適マークはなさそう

$24.50
https://store.arduino.cc/nano-rp2040-connect

Arduino Nano 33 BLE

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE/LSM9DS1

nRF52840ベースの u-blox NINA-B306 を搭載したボード
NINA-B306 は工事設計認証は取得済、国内版あり
$20.20
5,060 円 https://www.switch-science.com/catalog/7667/
https://store.arduino.cc/nano-33-ble
https://www.arduino.cc/en/Guide/NANO33BLE

Arduino Nano 33 BLE Sense

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE/LSM9DS1/LPS22HB/HTS221/APDS9960/MP34DT05

Nano 33 BLE の Sense 版ということでセンサーてんこ盛り
nRF52840ベースの u-blox NINA-B306 は工事設計認証は取得済、国内版あり
$31.10
8,250 円 https://www.switch-science.com/catalog/7670/
https://store.arduino.cc/nano-33-ble-sense
https://www.arduino.cc/en/Guide/NANO33BLESense/

Arduino Nano33 IoT

SAMD21 Cortex-M0+ / 48MHz / 256KB / 32KB / u-blox NINA-W102

WiFiBluetooth / BLE 対応の u-blox NINA-W102 搭載ボード
国内は技適有り version が無いと思われるので技適有りでほぼ同じ構成の Arduino MKR WIFI 1010 にしたほうが良さそう
$18.40
https://store.arduino.cc/nano-33-iot

Arduino Uno

ATmega328P AVR / 16MHz / 32KB / 2KB

$23.00
4,180 円 https://www.switch-science.com/catalog/789/
3,630 円 https://akizukidenshi.com/catalog/g/gM-07385/
https://store.arduino.cc/arduino-uno-rev3

Arduino Zero

ATSAMD21G18 Cortex-M0+ / 48MHz / 256KB / 32KB / EDBG

スイッチサイエンスによると Arduino M0 Pro に置き換わった?
$42.90
https://store.arduino.cc/usa/arduino-zero

BBC micro:bit

nRF51822 Cortex-M0 / 16MHz / 256KB / 16KB / BLE

LED x 25 や加速度センサや BLE 等色々搭載
debugger も搭載
2,200 円 https://www.switch-science.com/catalog/5263/
https://microbit.org/

BBC micro:bit v2

nRF52833 / 64MHz / 512KB / 128KB / Bluetooth LE, Bluetooth mesh, Thread, Zigbee, microphone、speaker, 5x5 matrix led

micro:bit の新型
マイク、スピーカー搭載、 CPU 強化で Bluetooth 5 対応
音頭、加速度、光、タッチセンサー付きで安い
debugger も搭載
$17.50
2,662 円 https://www.switch-science.com/catalog/7952/
2,610 円 https://akizukidenshi.com/catalog/g/gM-15882/ https://microbit.org/new-microbit/

blues wireless Swan

STM32L4R5ZI Cortex-M4 / 120MHz / 2MB / 640KB / LiPo

STM32L4+ (Cortex-M4) 搭載のボード
Adafruit Feather 規格のピン配置
$15
https://blues.io/products/swan/

Digispark

ATTiny85/ 12MHz?/ 8KB/ 512B

$7.95
http://digistump.com/products/1

Dragino LoRaWAN GPS Tracker LGT-92

STM32L072CZT6 / 32MHz / 192KB / 20KB / LoRaWAN, GPS, accelerometer

LoRaWAN + GPS が特徴
$39.50
http://www.dragino.com/products/lora-lorawan-end-node/item/142-lgt-92.html

ESP32 Core Board V2 / ESP32 DevKitC

ESP32 / 240Mhz / 4MB / 520KB / WiFi, BLE

まだポート+UART+SPI という基本的なサポートのみとなっていますが、すごい勢いで追加されつつあります
※ESP32 / ESP8266 は似たようなボードが多数あるため、以下のリンクも正しいかどうかは不明です
1,480 円 https://akizukidenshi.com/catalog/g/gM-11819/
https://www.espressif.com/en/products/socs/esp32

ESP32 Mini32

ESP32 / 240Mhz / 4MB / 520KB / WiFi, BLE

まだポート+UART+SPI という基本的なサポートのみとなっていますが、すごい勢いで追加されつつあります
※ESP32 / ESP8266 は似たようなボードが多数あるため、以下のリンクも正しいかどうかは不明です
$8.25 https://www.tindie.com/products/ttgo/lilygor-ttgo-mini32-esp32-wrover-b-module/
https://www.espressif.com/en/products/socs/esp32

ESP32-C3

ESP32-C3 RISC-V / 160Mhz / 4MB / 400KB / WiFi/BLE

この定義により ESP32-C3-DevKitM-1 や ESP32-C3-DevKitC-02 等を使うことができます。
今の所、技適有りの ESP32-C3 搭載のものはないかもしれません。
TinyGo での riscv サポートはまだあまり進んでいないことに注意が必要です。
また、 0.20.0 時点で WiFi / BLE は TinyGo から使うことができません。
https://www.espressif.com/en/products/socs/esp32-c3

ESP8266 NodeMCU

ESP8266 / 160Mhz / ? / ? / WiFi

ESP8266 が搭載されたオープンソースハードウェアボードです
色々なメーカーから NodeMCU がリリースされています
※ESP32 / ESP8266 は似たようなボードが多数あるため、以下のリンクも正しいかどうかは不明です
https://lastminuteengineers.com/esp8266-nodemcu-arduino-tutorial/
https://www.espressif.com/en/products/socs/esp8266

ESP8266 D1 mini

ESP8266 / 160Mhz / ? / ? / WiFi

ESP8266 が搭載されたボードです
※ESP32 / ESP8266 は似たようなボードが多数あるため、以下のリンクも正しいかどうかは不明です
https://docs.wemos.cc/en/latest/d1/d1_mini.html https://www.espressif.com/en/products/socs/esp8266

Game Boy Advance


以下のページで丁寧な GBA 記事が書かれたので、実機で動かすのも視野に入れつつ遊べそう
https://dev.to/aurelievache/learning-go-by-examples-part-5-create-a-game-boy-advance-gba-game-in-go-5944
https://en.wikipedia.org/wiki/Game_Boy_Advance

iLabs Challenger RP2040 LoRa

RP2040 Cortex-M0+ dual core / 125MHz / 8MB / 264KB / LED/Lora

Feather 規格のボードで LoRa モジュール (868MHz) 搭載とのこと。
kr249.00 (日本円で 5,000 円弱ぐらい)
https://ilabs.se/product/challenger-rp2040-lora/

M5Stack

ESP32 / 240Mhz / 16MB / 520KB / WiFi, BLE, 320x240 LCD, タッチスクリーン

ESP32 を搭載した、 WiFi + BLE + 画面という構成
現状 TinyGo では ESP32 自体の WiFi 機能等は使えないことに注意
$39.9
6,094 円 https://www.switch-science.com/catalog/7362/
https://shop.m5stack.com/products/basic-core-iot-development-kit
https://shop.m5stack.com/products/esp32-basic-core-iot-development-kit-v2-6

M5Stack Core2

ESP32 / 240Mhz / 16MB / 520KB / WiFi, BLE, 320x240 LCD, タッチスクリーン

ESP32 を搭載した、 WiFi + BLE + 画面という構成
現状 TinyGo では ESP32 自体の WiFi 機能等は使えないことに注意
7,689 円 https://www.switch-science.com/catalog/6530/
7,980 円 https://akizukidenshi.com/catalog/g/gM-16170/
https://shop.m5stack.com/products/m5stack-core2-esp32-iot-development-kit?variant=35960244109476

M5Stamp C3

ESP32-C3 RISC-V / 160MHz / 384KB / 400KB / WiFi, BLE

ESP32-C3 を搭載した、 WiFi + BLE という構成
現状 TinyGo では ESP32-C3 自体の WiFi 機能等は使えないことに注意
$6
1,320 円 https://www.switch-science.com/catalog/7474/
https://shop.m5stack.com/products/m5stamp-c3-mate-with-pin-headers

Makerdiary nRF52840-MDK

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / USB Type-C connector, BlueTooth 5, BlueTooth Mesh

Type-C コネクタ
$29.90
https://wiki.makerdiary.com/nrf52840-mdk/

Makerdiary nRF52840-MDK USB Dongle

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / USB Type-C connector, BlueTooth 5, BlueTooth Mesh

Makerdiary nRF52840-MDK の USB ドングルバージョン
ピン数が少ないがだいぶ安い
$12.99
https://wiki.makerdiary.com/nrf52840-mdk-usb-dongle/

MCH2022 badge

ESP32 / 240Mhz / 4MB / 520KB / WiFi, BLE

ESP32 をメイン、 RP2040 をサブマイコン、さらにグラフィック用に Lattice ICE40UP5K FPGA が搭載された構成です。
Qwiic などをはじめとする拡張ポート、Micro SD やスピーカーや液晶などが搭載されています。
TinyGo 0.25 時点では ESP32 のデバイスとして作られています。
https://badge.team/docs/badges/mch2022/ https://wiki.mch2022.org/Badge

Microchip SAM E54 Xplained Pro

ATSAME54P20 Cortex-M4F / 120MHz / 1024KB / 256KB / Ethernet, CAN, CAN FD

ATSAME54 という ATSAMD51 + Ethernet + CAN/CAN FD のチップを搭載したデバッグボード
ピン数も 128 ピンの大半が線だしされています
オンボードデバッガ (EDB) があり openocd 等から使用できます
$87.99
16,894 円 https://www.marutsu.co.jp/pc/i/1351266/
https://www.microchip.com/developmenttools/productdetails/atsame54-xpro

nice!nano

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / USB Type-C connector, BlueTooth 5, BlueTooth Mesh

自作キーボードでよくつかわれる Pro Micro 互換ピン配置のボードらしい
単体で Bluetooth 通信可能、 LiPo 充電回路搭載
$24.99
https://docs.nicekeyboards.com/#/nice!nano/

Nintendo Switch

Nvidia Tegra X1/X2 / ??Mhz / ??

29,980 円 https://www.nintendo.co.jp/hardware/switch/

Nordic Semiconductor PCA10031

nRF51822/nRF51422/nRF51824 Cortex-M0 / 16Mhz / 128-256KB / 16-32KB / BLE

https://www.nordicsemi.com/eng/Products/nRF51-Dongle

Nordic Semiconductor PCA10040

nRF52810/nRF52832 Cortex-M4F / 64Mhz / 192-512KB / 24-64KB / BLE

https://www.nordicsemi.com/eng/Products/Bluetooth-low-energy/nRF52-DK

Nordic Semiconductor PCA10056

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE

https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52840-DK

Nordic Semiconductor PCA10059

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE

USB ドングルモデル
技適無し
$9.54
https://www.nordicsemi.com/Software-and-tools/Development-Kits/nRF52840-Dongle

Particle Argon

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BlueTooth 5

$27.50 https://www.adafruit.com/product/3997
https://docs.particle.io/datasheets/wi-fi/argon-datasheet/

Particle Boron

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE, u-blox SARA (LTE/2G/3G)

u-blox SARA-R410-02B LTE modem 搭載で LTE/2G/3G につながる
技適は不明 (u-blox SARA-R410M 自体は通ってる?)
$55.00 https://www.adafruit.com/product/3998
https://docs.particle.io/datasheets/cellular/boron-datasheet/

Particle Xenon

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BlueTooth 5

$19.95 https://www.adafruit.com/product/3999
https://docs.particle.io/datasheets/discontinued/xenon-datasheet/

Phytec reel board

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE

$52.77
https://www.phytec.eu/product-eu/internet-of-things/reelboard/
https://docs.zephyrproject.org/latest/boards/arm/reel_board/doc/index.html

Pimoroni Badger 2040

RP2040 Cortex-M0+ dual core / 133MHz / 2MB / 264KB / 296x128 E Ink display

RP2040 + 2.9 インチ e-paper 搭載の badger です。
5 ボタン、 Qwiic/STEMMA QT コネクタ、 LiPo 用の JST-PH コネクターなど。 £16.50
https://shop.pimoroni.com/products/badger-2040?variant=39752959852627

PineTime DevKit

nRF52832 Cortex-M4F / 64MHz / 512KB / 64KB / BlueTooth 5, BLE, 240x240 touch display

腕時計型のデバイス
$24.99
https://www.pine64.org/pinetime/

PJRC Teensy 3.6

MK66FX1M0VMD18 Cortex-M4F / 180Mhz / 1MB / 256KB / CAN, microSD

$29.25
5,557 円 https://www.switch-science.com/catalog/2989/
https://www.pjrc.com/store/teensy36.html

PJRC Teensy 4.0

NXP iMXRT1062 ARM Cortex-M7 / 600Mhz / 2MB / 1MB / CAN, CAN-FD

Cortex-M7 で 600Mhz で、という高速かつ安いボード
GPIO / UART / SPI / ADC / I2C に対応
$19.95
3,789 円 https://www.switch-science.com/catalog/2989/
https://www.pjrc.com/store/teensy40.html

PJRC Teensy 4.1

NXP iMXRT1062 ARM Cortex-M7 / 600Mhz / 8MB / 1MB / CAN, CAN-FD,sdcard

Cortex-M7 で 600Mhz で、という高速なボード
GPIO / UART / SPI / ADC / I2C に対応
5,120 円 https://www.switch-science.com/catalog/6377/ $26.85
https://www.pjrc.com/store/teensy41.html

ProductivityOpen P1AM-100

ATSAMD21G18 Cortex-M0+ / 48MHz / 256KB / 32KB

https://facts-engineering.github.io/modules/P1AM-100/P1AM-100.html

Raspberry Pi Pico

RP2040 Cortex-M0+ dual core / 133MHz / 2MB / 264KB

Raspberry Pi シリーズの末弟としての位置づけの Cortex-M0+ dual core ボード
SWD 端子がスルーホールとして用意されてたり、とても安かったりが特徴
国内外で一気に人気が出ているボードです
$4
715 円 https://www.switch-science.com/catalog/6900/
600 円 https://akizukidenshi.com/catalog/g/gM-16132/
600 円 https://steam-tokyo.com/product/raspberry-pi-pico/
https://www.raspberrypi.org/products/raspberry-pi-pico/

Raytac MDBT50Q-RX

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE

ボタンが一つあるだけのシンプルなボード (というのか USB デバイスというのか) です。
技適有りなので、 https://github.com/tinygo-org/bluetooth と組み合わせて TinyGo で遊ぶことができます。
$15.95
1,672 円 https://www.switch-science.com/catalog/5531/
https://www.adafruit.com/product/5199

Seeed LoRa-E5 Development Kit

STM32WLE5JC Cortex-M4 + SX126x / 48MHz / 256KB / 64KB / LoRa, LiPo

STM32WLE5JC + SX126x という LoRa 対応モジュールが搭載されたボード
LoRa 接続可能ですが、技適未対応
$26.90
https://www.seeedstudio.com/LoRa-E5-Dev-Kit-p-4868.html

Seeed Wio Terminal

ATSAMD51P19 Cortex-M4F / 120Mhz / 512KB / 192KB / Wifi, BLE, 320x240 TFT, microSD,LIS3DHTR

液晶にボタンに加速度センサにとてんこ盛りのボード
そして安い、、、だったのが、大分値段が上がりました
背面からピンも多数出ているので拡張性も十分
Type-C コネクタ
技適取得済み
LCD は ILI9341 320x240
$29.90
6,677 円 https://www.switch-science.com/catalog/6360/
5,490 円 http://akizukidenshi.com/catalog/g/gM-15275/
4,769 円 https://www.marutsu.co.jp/pc/i/1633550/
https://www.seeedstudio.com/Wio-Terminal-p-4509.html

Seeed Seeeduino XIAO SAMD21

ATSAMD21G18 Cortex-M0+ / 48MHz / 256KB / 32KB

とにかく安くて、小さい
その割に IO x 11 と割と多い
リセットするのが面倒なので、半田付けして線だしした方がよい
Type-C コネクタ
$4.9
1,100 円 https://www.switch-science.com/catalog/6335/
850 円 https://akizukidenshi.com/catalog/g/gM-15178/
https://www.seeedstudio.com/Seeeduino-XIAO-Arduino-Microcontroller-SAMD21-Cortex-M0+-p-4426.html

Seeed XIAO BLE nRF52840

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE

安くて小さい XIAO シリーズの nRF52840 バージョン
当然 BLE に対応している (TinyGo も BLE サポート済)
技適対応版が発売されました。
同じサイズで 6 軸 IME とマイク付きの XIAO BLE SENSE も TinyGo から使用可能です。
$9.90
1,850 円 https://steam-tokyo.com/product/xiao-ble/
1,980 円 https://www.switch-science.com/catalog/8145/
2,937 円 https://www.switch-science.com/catalog/8146/ (XIAO BLE SENSE)
2,680 円 https://akizukidenshi.com/catalog/g/gM-17342/ (XIAO BLE SENSE)
https://www.seeedstudio.com/Seeed-XIAO-BLE-nRF52840-p-5201.html

Seeed Seeeduino XIAO RP2040

RP2040 Cortex-M0+ dual core / 125MHz / 2MB / 264KB / LED/RGB LED

RP2040 を搭載した XIAO で、小型であることが特徴です。
BOOTSEL ボタンとリセットボタンが搭載されています。
$5.4
1,067 円 https://www.switch-science.com/catalog/7634/
750 円 https://akizukidenshi.com/catalog/g/gM-17044/
https://www.seeedstudio.com/XIAO-RP2040-v1-0-p-5026.html

Sipeed MAix BiT

Kendryte K210 RISC-V (RV64GC) / 400Mhz / 16MB / 8MB / microSD

$12.90
安くて速い
ADC が搭載されていない?ので注意
Type-C コネクタ
カメラと LCD のセットで 3,520 円は安い
4,917 円 https://www.switch-science.com/catalog/5702/ (カメラ + LCD セット)
https://www.seeedstudio.com/Sipeed-MAix-BiT-for-RISC-V-AI-IoT-p-2872.html

SiFIve HiFive1

FE310-G002 RISC-V / 320MHz / 4MB / 16KB? / WiFi, BLE

6,600 円 http://akizukidenshi.com/catalog/g/gM-15014/
https://www.sifive.com/boards/hifive1

SparkFun Thing Plus - RP2040

RP2040 Cortex-M0+ dual core / 125MHz / 16MB / 264KB / micro sdcard,LiPo,Qwiic

Raspberry Pi Pico 等と同じ RP2040 を搭載したボード
LiPo 充電可能な 2-pin JST 搭載
ピン配置は Adafruit の Feather と同じ
$19.50
3,606 円 https://www.switch-science.com/catalog/7392/
https://www.sparkfun.com/products/17745

ST Micro "Nucleo F103RB"

STM32F103RBT6 Cortex-M3 / 72MHz / 128KB / 20KB / CAN, ST-Link/V2-1

デバッガ付きで 1,680 円と安い
1,680 円 https://www.marutsu.co.jp/pc/i/236958/
1,936 円 https://www.switch-science.com/catalog/1618/
$10.55 https://www.st.com/en/evaluation-tools/nucleo-f103rb.html
https://os.mbed.com/platforms/ST-Nucleo-F103RB/

ST Micro "Nucleo" F722ZE

STM32F722ZE / 216MHz / 512KB / 256KB / On-board ST-Link

デバッガ付きの Cortex-M7
2,490 円 https://www.marutsu.co.jp/pc/i/16838806/
$19.41
https://www.st.com/en/evaluation-tools/nucleo-f722ze.html

ST Micro "Nucleo" L031K6

STM32L031K6 Cortex-M0+ / 32MHz / 32KB / 8KB / debugger

デバッガ付きの Cortex-M0+
$10.77
1,433 円 https://www.marutsu.co.jp/pc/i/13537496/
https://www.st.com/en/evaluation-tools/nucleo-l552ze-q.html

ST Micro "Nucleo" L432KC

STM32L432KC Cortex-M4 / 80MHz / 256KB / 64KB / debugger

デバッガ付きの Cortex-M4
$10.55
1,433 円 https://www.marutsu.co.jp/pc/i/13537500/

ST Micro "Nucleo" L552ZE

STM32L552ZE Cortex-M33 / 110MHz / 512KB / 192KB / USB-PD Controler, CANFD, Type-C

デバッガ付きの Cortex-M33
$20.07
https://www.st.com/en/evaluation-tools/nucleo-l552ze-q.html

ST Micro "Nucleo" WL55JC

STM32WL55JC Cortex-M4/M0+ dual-core / 48MHz / 256KB / 64KB / LoRa, stlink-v3

LoRa 接続可能ですが、技適未対応
$41.16
https://estore.st.com/en/nucleo-wl55jc2-cpn.html

ST Micro STM32F103XX "Bluepill"

STM32F103C8 Cortex-M3 / 72MHz / 128KB / 20KB / CAN

eBay 等では 200 円ぐらいから
Bluepill よりも改良版?である Blackpill の方が色々と問題が少ないはず
https://stm32duinoforum.com/forum/wiki_subdomain/index_title_Blue_Pill.html

ST Micro STM32F407 "Discovery"

STM32F407VGT6 Cortex-M4F / 168MHz / 1MB / 192KB / CANx2

3,000 http://akizukidenshi.com/catalog/g/gM-05313/
https://www.st.com/en/evaluation-tools/stm32f4discovery.html

ST Micro STM32F469 "Discovery"

STM32F469I Cortex-M4 / 180MHz / 2MB / 324KB / 800x480 TFT, sound, microsd, st-link/v2-1

高解像度液晶付きのボード
デバッガ搭載
https://estore.st.com/en/stm32f469i-disco-cpn.html

The Things Industries Generic Node Sensor Edition

STM32WL55 Cortex-M4 / 48MHz / 256KB / 64KB / LoRa

LoRa 接続可能ですが、技適未対応
https://www.genericnode.com/docs/sensor-edition/

X9 Pro smartwatch

nRF52832 Cortex-M4
https://github.com/curtpw/nRF5x-device-reverse-engineering/tree/master/X9-nrf52832-activity-tracker/

TinyGo 0.25 で遊べるマイコンボード一覧

TinyGo 0.25 がリリースされました。

github.com

ということで TinyGo 0.25 で遊べるマイコンボード一覧を作成しました。 オフィシャルの一覧に、マイコンやクロックなどの情報を足しています。 前に作った 0.24 時点のもの から 3 ボードが増えて合計 89 ボードになりました。

0.25 の (自分の興味を中心とした) 変更点のサマリは以下です。

今回は GopherCon Europe 2022 の Workshop で使う目的で pre-release を出していましたが、 Go 1.19 がリリースされたのに合わせて正式な 0.25 がリリースされました。 今回は主にマイコン側の変更がメインですが、目玉になるのは USB-MIDI のサポートと RP2040 の USB サポートです。 USB サポートは、マイコン間で共通となっていて samd21 / samd51 / nrf52840 / rp2040 のどれでも同じ機能が使えます。

  • USB サポート
    • USB MIDI サポートを追加
  • samd51
    • TRNG の改善、 DAC1 サポート
  • rp2040
    • 入力ピンの pullup pulldown 未指定時の動作を修正
    • feather-rp2040 および macropad-rp2040 の QSPI Flash のクロックを修正
      • リセット後に Flash 読み込み失敗で固まっていたのが修正されている
    • USB サポート
      • USB-CDC、USB-HID、USB-MIDI、USB-CDC 経由の tinygo flash
  • esp32
    • SPI 通信の高速化
  • xiao-ble
    • USB-CDC 経由の tinygo flash に対応
  • などなど

0.23 時点から追加された Go 標準パッケージのテスト結果については以下。 Passes testsyes となっているものは確実に使用可能ですが、 no となっているからといって使えないという意味ではないです。 例えば fmt package の test は no となっていますが、 fmt のほとんどの部分は動作します。 この辺りの公式ページにより表示/表明はもっと明確にしていけたらよいと思っています。 0.25 では 0.24 時点から変更有りません。

tinygo.org

本体の Version Up にあわせ tinygo.org/x/drivers 0.22.0 がリリースされると思いますが、まだリリースされていません。
まもなくリリースされる予定?の 0.22.0 では以下の変更点があります。

  • 新規追加
    • makeybutton に対応
  • 修正
    • http.Get() で 80 版ポート以外にアクセスできなかった問題を修正
    • httpscookie を処理できていなかったのwお修正
    • MQTT の retain、 last-will-and-testament に対応

github.com

TinyGo については、以下に記載しています。

qiita.com

2022/04/23 の Go Conference 2022 Spring にて IoT With TinyGo というトークの資料+動画が役に立つかもしれません。

gocon.jp

youtu.be

あるいは、 2020/07/18 の umedago 2020 Online の資料+動画が役に立つかもしれません。 動画では実際にビルドして動かしてみる部分や、デバッグなども少し触れています。 ページ下部の資料置き場に資料および当日の発表動画があります。

umedago.connpass.com

2021/11/13 の Go Conference 2021 Autumn Online で TinyGo ハンズオンを行いました。
Wio Terminal を用いて、環境立ち上げからデバッグ、 package を用いた開発、などを扱っています。
是非確認してみてください。

www.youtube.com

TinyGo 0.22 時点の情報ですが、以下も参考になります。

amanoese.hatenablog.com

amanoese.hatenablog.com

さて。

TinyGo 0.25.0 時点の README.md をベースに作成しています。 値段や技適等の情報はあくまで参考ということで、購入する場合は別途各自で調べてください。

0.25 追加分

iLabs Challenger RP2040 LoRa

RP2040 Cortex-M0+ dual core / 125MHz / 8MB / 264KB / LED/Lora

Feather 規格のボードで LoRa モジュール (868MHz) 搭載とのこと。
kr249.00 (日本円で 5,000 円弱ぐらい)
https://ilabs.se/product/challenger-rp2040-lora/

MCH2022 badge

ESP32 / 240Mhz / 4MB / 520KB / WiFi, BLE

ESP32 をメイン、 RP2040 をサブマイコン、さらにグラフィック用に Lattice ICE40UP5K FPGA が搭載された構成です。
Qwiic などをはじめとする拡張ポート、Micro SD やスピーカーや液晶などが搭載されています。
TinyGo 0.25 時点では ESP32 のデバイスとして作られています。
https://badge.team/docs/badges/mch2022/ https://wiki.mch2022.org/Badge

Seeed Seeeduino XIAO RP2040

RP2040 Cortex-M0+ dual core / 125MHz / 2MB / 264KB / LED/RGB LED

RP2040 を搭載した XIAO で、小型であることが特徴です。
BOOTSEL ボタンとリセットボタンが搭載されています。
$5.4
1,067 円 https://www.switch-science.com/catalog/7634/
750 円 https://akizukidenshi.com/catalog/g/gM-17044/
https://www.seeedstudio.com/XIAO-RP2040-v1-0-p-5026.html

既存の対応ボード

Adafruit Circuit Playground Bluefruit

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE

$24.95
https://www.adafruit.com/product/4333
https://learn.adafruit.com/adafruit-circuit-playground-bluefruit

Adafruit Circuit Playground Express

ATSAMD21G18 Cortex-M0+ / 48MHz / 256KB / 32KB

$24.95
4,609 円 https://www.switch-science.com/catalog/3666/
3,300 円 https://steam-tokyo.com/product/circuit-playground-express/
https://www.adafruit.com/product/3333
https://learn.adafruit.com/adafruit-circuit-playground-express

Adafruit CLUE Alpha

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE, 240x240 TFT

BBC micro:bit サイズでディスプレイやセンサー類てんこ盛り
LCD は ST7789 240x240
$39.95
5,500 円 https://steam-tokyo.com/product/adafruit-clue/
https://www.adafruit.com/product/4500
https://learn.adafruit.com/adafruit-clue

Adafruit Feather M0

ATSAMD21G18 Cortex-M0+ / 48MHz / 256KB / 32KB

Feather M0 シリーズは、マイコン単体に近い Basic Proto 以外にも microSD カードスロットを搭載したモデルや BLE 搭載などのバリエーションあり
PH コネクタ、リチウムイオン電池の充電機能あり
$19.95
3,685 円 https://www.switch-science.com/catalog/2750/
2,420 円 https://akizukidenshi.com/catalog/g/gM-16347/
https://www.adafruit.com/product/2772
https://learn.adafruit.com/adafruit-feather-m0-basic-proto

Adafruit Feather M4

ATSAMD51J19 Cortex-M4F / 120MHz / 512KB / 192KB

ピン数多めのモデル
Feather M0 のマイコン強化版
PH コネクタ、リチウムイオン電池の充電機能あり
$22.95
4,246 円 https://www.switch-science.com/catalog/5887/
https://www.adafruit.com/product/3857
https://learn.adafruit.com/adafruit-feather-m4-express-atsamd51

Adafruit Feather M4 CAN

ATSAME51J19 Cortex-M4F / 120MHz / 512KB / 192KB / CAN, CAN FD, USB Type-C

ATSAME51 という ATSAMD51 + CAN/CAN FD のチップを搭載したボード
Feather M4 とほぼコンパチで CAN が追加されています $24.95
3,080 円 https://www.akizukidenshi.com/catalog/g/gM-16363/ https://www.adafruit.com/product/4759
https://learn.adafruit.com/adafruit-feather-m4-can-express

Adafruit Feather nRF52840 Express

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE

安定の Feather シリーズの nRF52840 版になります
クロック遅めですが、 ROM / RAM は多め、 BLE 付きで安い
安心の技適取得済み
デバッグコネクタ付き
$24.95
4,609 円 https://www.switch-science.com/catalog/5400/
3,080 円 https://akizukidenshi.com/catalog/g/gM-16358/
https://www.adafruit.com/product/4062
https://learn.adafruit.com/introducing-the-adafruit-nrf52840-feather

Adafruit Feather nRF52840 Sense

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE/LSM6DS33/LIS3MDL/APDS9960/PDM/SHT/BMP280

安定の Feather シリーズの nRF52840 版にセンサーを多数搭載したボードになります
クロック遅めですが、 ROM / RAM は多め、 BLE 付きで安い
LSM6DS33 (Accel/Gyro) + LIS3MDL (3 軸センサー) + APDS9960 (近接 + RGB + ジェスチャー) + PDM (Microphone) + SHT (湿度) + BMP280 (温度等) とセンサーてんこ盛り
安心の技適取得済み
$32.50
5,180 円 https://steam-tokyo.com/product/feather-nrf52840-sense/
https://www.adafruit.com/product/4516
https://learn.adafruit.com/adafruit-feather-sense

Adafruit Feather RP2040

RP2040 Cortex-M0+ dual core / 125MHz / 8MB / 264KB

Feather 規格の RP2040 ボードです
端子が Feather M4 などと同じなので、すでに Feather を使っている人は使いやすいはず
8MB QSPI Flash など、 Raspberry Pi Pico よりも強化されている部分があります
$11.95
1,680 円 https://steam-tokyo.com/product/adafruit-feather-rp2040/
2,211 円 https://www.switch-science.com/catalog/7216/
1,640 円 https://akizukidenshi.com/catalog/g/gM-17314/
https://www.adafruit.com/product/4884
https://learn.adafruit.com/adafruit-feather-rp2040-pico

Adafruit feather-stm32f405

STM32F405 Cortex-M4F / 168MHz / 1MB / 192KB / LiPo connector, microSD, CAN, Qwiic

Type-C コネクタなのが何気に嬉しい所
7,381 円 https://www.switch-science.com/catalog/6005/
3,980 円 https://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=EEHD-5KVN
https://www.adafruit.com/product/4382
https://learn.adafruit.com/adafruit-stm32f405-feather-express

Adafruit Grand Central M4

ATSAMD51P20 Cortex-M4F / 120MHz / 1024KB / 256KB / Arduino Mega 互換

ATSAMD51 で最もピン数が多いモデル
$37.50
6,836 円 https://www.marutsu.co.jp/pc/i/34551463/
https://www.adafruit.com/product/4064
https://learn.adafruit.com/adafruit-grand-central

Adafruit ItsyBitsy M0

ATSAMD21G18 Cortex-M0+ / 48MHz / 256KB / 32KB

Feather よりももう少し小さいシリーズ
$11.95
2,211 円 https://www.switch-science.com/catalog/3716/
https://www.adafruit.com/product/3727

Adafruit ItsyBitsy M4

ATSAMD51J19 Cortex-M4F / 120MHz / 512KB / 192KB

Feather よりももう少し小さいシリーズ
$14.95
2,420 円 https://www.switch-science.com/catalog/8173/
https://www.adafruit.com/product/3800

Adafruit ItsyBitsy nRF52840 Express

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE

BLE 対応の nRF シリーズのボード
feather-nrf52840 の弟分という所
FCC / IC / TELEC certified module ということで国内も OK
$17.95
3,685 円 https://www.switch-science.com/catalog/7605/
https://www.adafruit.com/product/4481
https://learn.adafruit.com/adafruit-itsybitsy-nrf52840-express

Adafruit MacroPad RP2040

RP2040 Cortex-M0+ dual core / 125MHz / 8MB / 264KB / 3x4 keyboard,Rotary encoder,128x64 SH1106 OLED

Raspberry Pi Pico 等と同じ RP2040 を搭載したボード
3x4 キーボード付きのセットでも売られている
TinyGo 0.23 時点では USB Device / HID としての機能が無いことに注意
$49.95
5,490 - 7690 円 https://steam-tokyo.com/product/adafruit-macropad-rp2040/
9,229 円 https://www.switch-science.com/catalog/8094/ https://www.adafruit.com/product/5128
https://learn.adafruit.com/adafruit-macropad-rp2040

Adafruit Matrix Portal M4

ATSAMD51J19 Cortex-M4F / 120MHz / 512KB / 192KB / WiFi, Type-C

64x64 RGB LED Matrix とかを使ってインターネットディスプレイに、というようなコンセプト
HUB-75 compatible なディスプレイをつなぐことができます
あとは ESP32 がついているので WiFi に接続可能です
$24.95
https://www.adafruit.com/product/4745
https://learn.adafruit.com/adafruit-matrixportal-m4

Adafruit Metro M4 Express Airlift

ATSAMD51J19 Cortex-M4F / 120MHz / 512KB / 192KB / ESP32

ESP32 搭載 (WiFi + BLE)
$34.95
5,082 円 https://www.switch-science.com/catalog/5399/
https://www.adafruit.com/product/4000
https://learn.adafruit.com/adafruit-metro-m4-express-airlift-wifi

Adafruit PyBadge

ATSAMD51J19 Cortex-M4F / 120MHz / 512KB / 192KB / 160x128 TFT

LCD は JD-T1800 (ST7735) 160x128
$34.95
6,457 円 https://www.switch-science.com/catalog/6230/
4,800 円 https://steam-tokyo.com/product/pybadge/
https://www.adafruit.com/product/4200
https://learn.adafruit.com/adafruit-pybadge

Adafruit PyGamer

ATSAMD51J19 Cortex-M4F / 120MHz / 512KB / 192KB / 160x128 TFT

LCD は JD-T1800 (ST7735) 160x128
$39.95
10,259 円 https://www.marutsu.co.jp/pc/i/35057272/
https://www.adafruit.com/product/4242
https://learn.adafruit.com/adafruit-pygamer

Adafruit PyPortal

ATSAMD51J20 Cortex-M4F / 120MHz / 1MB / 256KB / 320x240 TFT, ESP32

LCD は ILI9341 320x240
$54.95
10,153 円 https://www.switch-science.com/catalog/5741/
9,404 円 https://www.marutsu.co.jp/pc/i/33227335/
https://www.adafruit.com/product/4116
https://learn.adafruit.com/adafruit-pyportal

Adafruit QT Py SAMD21

ATSAMD21E18 Cortex-M0+ / 48MHz / 256KB / 32KB / Type-C
Seeeduino XIAO と同じサイズでいくつかの部品が追加されているイメージのボード
裏側には SWD 以外にも SOIC-8 SPI Flash chip を乗せるためのパターンもあります (Flash chip は非搭載)
このパターンから SPI を取り出したりも出来る模様
XIAO と比較した場合に、リセットボタンが追加されているのも嬉しい
$6
970 円 https://steam-tokyo.com/product/qt-py/
1,738 円 https://www.switch-science.com/catalog/7025/
https://www.adafruit.com/product/4600
https://learn.adafruit.com/adafruit-qt-py

Adafruit Trinket M0

ATSAMD21E18 Cortex-M0+ / 48MHz / 256KB / 32KB

安い、小さい、だったけど最近は QTPy や XIAO 等の選択肢もあり
$8.95
1,661 円 https://www.switch-science.com/catalog/3535/
https://www.adafruit.com/product/3500

Ai-Thinker ESP-C3-12F

ESP32-C3 RISC-V / 160MHz / 384KB / 400KB / WiFi, BLE

ESP32-C3 を搭載した、 WiFi + BLE という構成
現状 TinyGo では ESP32-C3 自体の WiFi 機能等は使えないことに注意
1,000 円ぐらい?
技適無し
https://docs.ai-thinker.com/_media/esp32/docs/esp-c3-12f_specification.pdf

Arduino Mega 1280

ATmega1280 AVR / 16MHz / 128KB / 8KB

https://www.arduino.cc/en/Main/arduinoBoardMega/

Arduino Mega 2560

ATmega2560 AVR / 16MHz / 256KB / 8KB

$40.30
7,700 円 https://www.switch-science.com/catalog/837/
https://store.arduino.cc/arduino-mega-2560-rev3

Arduino MKR1000

ATSAMD21G18 Cortex-M0+ / 48MHz / 256KB / 32KB / WiFi, LiPo

ATSAMW25 SoC で WiFi 接続可能という Arduino Nano33 IoT 的なモデル
$36.80
https://store.arduino.cc/arduino-mkr1000-wifi

Arduino MKR WiFi 1010

ATSAMD21G18 Cortex-M0+ / 48MHz / 256KB / 32KB / WiFi/BLE/Li-Po/ATTEC508

SAMD21 + u-blox NINA W102 の構成で WiFiBluetooth / BLE に対応している
国内販売有りで安心の技適取得済み
ほぼ同構成で海外で人気の Arduino Nano33 IoT が技適無しで使えなかったのもあり、期待のボードです
$32.10
5,940 円 https://www.switch-science.com/catalog/7384/
5,780 円 https://akizukidenshi.com/catalog/g/gM-16556/
https://store-usa.arduino.cc/products/arduino-mkr-wifi-1010

Arduino Nano

ATmega328 AVR / 16MHz / 32KB / 2KB

$20.70
3,960 円 https://www.switch-science.com/catalog/2554/
3,560 円 https://akizukidenshi.com/catalog/g/gM-09059/
https://store.arduino.cc/arduino-nano

Arduino Nano RP2040 Connect

RP2040 Cortex-M0+ dual core / 133MHz / 16MB / 264KB / WiFi/BLE/ATECC608/LSM6DSOXTR/MP34DT05

RP2040 + u-blox NINA-W102 (WiFi/BLE) の構成のボードです
Microchip のセキュリティデバイスである ATEC が搭載されている珍しいボード
LSM6D (6 軸センサー) + MP34DT05 (マイク) も搭載されています
Arduino 33 IoT から CPU が強化された位置づけになりそうです
u-blox NINA-W102 は工事設計認証は取得済だそうですが技適マークはなさそう

$24.50
https://store.arduino.cc/nano-rp2040-connect

Arduino Nano 33 BLE

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE/LSM9DS1

nRF52840ベースの u-blox NINA-B306 を搭載したボード
NINA-B306 は工事設計認証は取得済、国内版あり
$20.20
5,060 円 https://www.switch-science.com/catalog/7667/
https://store.arduino.cc/nano-33-ble
https://www.arduino.cc/en/Guide/NANO33BLE

Arduino Nano 33 BLE Sense

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE/LSM9DS1/LPS22HB/HTS221/APDS9960/MP34DT05

Nano 33 BLE の Sense 版ということでセンサーてんこ盛り
nRF52840ベースの u-blox NINA-B306 は工事設計認証は取得済、国内版あり
$31.10
8,250 円 https://www.switch-science.com/catalog/7670/
https://store.arduino.cc/nano-33-ble-sense
https://www.arduino.cc/en/Guide/NANO33BLESense/

Arduino Nano33 IoT

SAMD21 Cortex-M0+ / 48MHz / 256KB / 32KB / u-blox NINA-W102

WiFiBluetooth / BLE 対応の u-blox NINA-W102 搭載ボード
国内は技適有り version が無いと思われるので技適有りでほぼ同じ構成の Arduino MKR WIFI 1010 にしたほうが良さそう
$18.40
https://store.arduino.cc/nano-33-iot

Arduino Uno

ATmega328P AVR / 16MHz / 32KB / 2KB

$23.00
4,180 円 https://www.switch-science.com/catalog/789/
3,630 円 https://akizukidenshi.com/catalog/g/gM-07385/
https://store.arduino.cc/arduino-uno-rev3

Arduino Zero

ATSAMD21G18 Cortex-M0+ / 48MHz / 256KB / 32KB / EDBG

スイッチサイエンスによると Arduino M0 Pro に置き換わった?
$42.90
https://store.arduino.cc/usa/arduino-zero

BBC micro:bit

nRF51822 Cortex-M0 / 16MHz / 256KB / 16KB / BLE

LED x 25 や加速度センサや BLE 等色々搭載
debugger も搭載
2,200 円 https://www.switch-science.com/catalog/5263/
https://microbit.org/

BBC micro:bit v2

nRF52833 / 64MHz / 512KB / 128KB / Bluetooth LE, Bluetooth mesh, Thread, Zigbee, microphone、speaker, 5x5 matrix led

micro:bit の新型
マイク、スピーカー搭載、 CPU 強化で Bluetooth 5 対応
音頭、加速度、光、タッチセンサー付きで安い
debugger も搭載
$17.50
2,662 円 https://www.switch-science.com/catalog/7952/
2,610 円 https://akizukidenshi.com/catalog/g/gM-15882/ https://microbit.org/new-microbit/

blues wireless Swan

STM32L4R5ZI Cortex-M4 / 120MHz / 2MB / 640KB / LiPo

STM32L4+ (Cortex-M4) 搭載のボード
Adafruit Feather 規格のピン配置
$15
https://blues.io/products/swan/

Digispark

ATTiny85/ 12MHz?/ 8KB/ 512B

$7.95
http://digistump.com/products/1

Dragino LoRaWAN GPS Tracker LGT-92

STM32L072CZT6 / 32MHz / 192KB / 20KB / LoRaWAN, GPS, accelerometer

LoRaWAN + GPS が特徴
$39.50
http://www.dragino.com/products/lora-lorawan-end-node/item/142-lgt-92.html

ESP32 Core Board V2 / ESP32 DevKitC

ESP32 / 240Mhz / 4MB / 520KB / WiFi, BLE

まだポート+UART+SPI という基本的なサポートのみとなっていますが、すごい勢いで追加されつつあります
※ESP32 / ESP8266 は似たようなボードが多数あるため、以下のリンクも正しいかどうかは不明です
1,480 円 https://akizukidenshi.com/catalog/g/gM-11819/
https://www.espressif.com/en/products/socs/esp32

ESP32 Mini32

ESP32 / 240Mhz / 4MB / 520KB / WiFi, BLE

まだポート+UART+SPI という基本的なサポートのみとなっていますが、すごい勢いで追加されつつあります
※ESP32 / ESP8266 は似たようなボードが多数あるため、以下のリンクも正しいかどうかは不明です
$8.25 https://www.tindie.com/products/ttgo/lilygor-ttgo-mini32-esp32-wrover-b-module/
https://www.espressif.com/en/products/socs/esp32

ESP32-C3

ESP32-C3 RISC-V / 160Mhz / 4MB / 400KB / WiFi/BLE

この定義により ESP32-C3-DevKitM-1 や ESP32-C3-DevKitC-02 等を使うことができます。
今の所、技適有りの ESP32-C3 搭載のものはないかもしれません。
TinyGo での riscv サポートはまだあまり進んでいないことに注意が必要です。
また、 0.20.0 時点で WiFi / BLE は TinyGo から使うことができません。
https://www.espressif.com/en/products/socs/esp32-c3

ESP8266 NodeMCU

ESP8266 / 160Mhz / ? / ? / WiFi

ESP8266 が搭載されたオープンソースハードウェアボードです
色々なメーカーから NodeMCU がリリースされています
※ESP32 / ESP8266 は似たようなボードが多数あるため、以下のリンクも正しいかどうかは不明です
https://lastminuteengineers.com/esp8266-nodemcu-arduino-tutorial/
https://www.espressif.com/en/products/socs/esp8266

ESP8266 D1 mini

ESP8266 / 160Mhz / ? / ? / WiFi

ESP8266 が搭載されたボードです
※ESP32 / ESP8266 は似たようなボードが多数あるため、以下のリンクも正しいかどうかは不明です
https://docs.wemos.cc/en/latest/d1/d1_mini.html https://www.espressif.com/en/products/socs/esp8266

Game Boy Advance


以下のページで丁寧な GBA 記事が書かれたので、実機で動かすのも視野に入れつつ遊べそう
https://dev.to/aurelievache/learning-go-by-examples-part-5-create-a-game-boy-advance-gba-game-in-go-5944
https://en.wikipedia.org/wiki/Game_Boy_Advance

M5Stack

ESP32 / 240Mhz / 16MB / 520KB / WiFi, BLE, 320x240 LCD, タッチスクリーン

ESP32 を搭載した、 WiFi + BLE + 画面という構成
現状 TinyGo では ESP32 自体の WiFi 機能等は使えないことに注意
$39.9
6,094 円 https://www.switch-science.com/catalog/7362/
https://shop.m5stack.com/products/basic-core-iot-development-kit
https://shop.m5stack.com/products/esp32-basic-core-iot-development-kit-v2-6

M5Stack Core2

ESP32 / 240Mhz / 16MB / 520KB / WiFi, BLE, 320x240 LCD, タッチスクリーン

ESP32 を搭載した、 WiFi + BLE + 画面という構成
現状 TinyGo では ESP32 自体の WiFi 機能等は使えないことに注意
7,689 円 https://www.switch-science.com/catalog/6530/
7,980 円 https://akizukidenshi.com/catalog/g/gM-16170/
https://shop.m5stack.com/products/m5stack-core2-esp32-iot-development-kit?variant=35960244109476

M5Stamp C3

ESP32-C3 RISC-V / 160MHz / 384KB / 400KB / WiFi, BLE

ESP32-C3 を搭載した、 WiFi + BLE という構成
現状 TinyGo では ESP32-C3 自体の WiFi 機能等は使えないことに注意
$6
1,320 円 https://www.switch-science.com/catalog/7474/
https://shop.m5stack.com/products/m5stamp-c3-mate-with-pin-headers

Makerdiary nRF52840-MDK

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / USB Type-C connector, BlueTooth 5, BlueTooth Mesh

Type-C コネクタ
$29.90
https://wiki.makerdiary.com/nrf52840-mdk/

Makerdiary nRF52840-MDK USB Dongle

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / USB Type-C connector, BlueTooth 5, BlueTooth Mesh

Makerdiary nRF52840-MDK の USB ドングルバージョン
ピン数が少ないがだいぶ安い
$12.99
https://wiki.makerdiary.com/nrf52840-mdk-usb-dongle/

Microchip SAM E54 Xplained Pro

ATSAME54P20 Cortex-M4F / 120MHz / 1024KB / 256KB / Ethernet, CAN, CAN FD

ATSAME54 という ATSAMD51 + Ethernet + CAN/CAN FD のチップを搭載したデバッグボード
ピン数も 128 ピンの大半が線だしされています
オンボードデバッガ (EDB) があり openocd 等から使用できます
$87.99
16,894 円 https://www.marutsu.co.jp/pc/i/1351266/
https://www.microchip.com/developmenttools/productdetails/atsame54-xpro

nice!nano

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / USB Type-C connector, BlueTooth 5, BlueTooth Mesh

自作キーボードでよくつかわれる Pro Micro 互換ピン配置のボードらしい
単体で Bluetooth 通信可能、 LiPo 充電回路搭載
$24.99
https://docs.nicekeyboards.com/#/nice!nano/

Nintendo Switch

Nvidia Tegra X1/X2 / ??Mhz / ??

29,980 円 https://www.nintendo.co.jp/hardware/switch/

Nordic Semiconductor PCA10031

nRF51822/nRF51422/nRF51824 Cortex-M0 / 16Mhz / 128-256KB / 16-32KB / BLE

https://www.nordicsemi.com/eng/Products/nRF51-Dongle

Nordic Semiconductor PCA10040

nRF52810/nRF52832 Cortex-M4F / 64Mhz / 192-512KB / 24-64KB / BLE

https://www.nordicsemi.com/eng/Products/Bluetooth-low-energy/nRF52-DK

Nordic Semiconductor PCA10056

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE

https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52840-DK

Nordic Semiconductor PCA10059

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE

USB ドングルモデル
技適無し
$9.54
https://www.nordicsemi.com/Software-and-tools/Development-Kits/nRF52840-Dongle

Particle Argon

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BlueTooth 5

$27.50 https://www.adafruit.com/product/3997
https://docs.particle.io/datasheets/wi-fi/argon-datasheet/

Particle Boron

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE, u-blox SARA (LTE/2G/3G)

u-blox SARA-R410-02B LTE modem 搭載で LTE/2G/3G につながる
技適は不明 (u-blox SARA-R410M 自体は通ってる?)
$55.00 https://www.adafruit.com/product/3998
https://docs.particle.io/datasheets/cellular/boron-datasheet/

Particle Xenon

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BlueTooth 5

$19.95 https://www.adafruit.com/product/3999
https://docs.particle.io/datasheets/discontinued/xenon-datasheet/

Phytec reel board

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE

$52.77
https://www.phytec.eu/product-eu/internet-of-things/reelboard/
https://docs.zephyrproject.org/latest/boards/arm/reel_board/doc/index.html

Pimoroni Badger 2040

RP2040 Cortex-M0+ dual core / 133MHz / 2MB / 264KB / 296x128 E Ink display

RP2040 + 2.9 インチ e-paper 搭載の badger です。
5 ボタン、 Qwiic/STEMMA QT コネクタ、 LiPo 用の JST-PH コネクターなど。 £16.50
https://shop.pimoroni.com/products/badger-2040?variant=39752959852627

PineTime DevKit

nRF52832 Cortex-M4F / 64MHz / 512KB / 64KB / BlueTooth 5, BLE, 240x240 touch display

腕時計型のデバイス
$24.99
https://www.pine64.org/pinetime/

PJRC Teensy 3.6

MK66FX1M0VMD18 Cortex-M4F / 180Mhz / 1MB / 256KB / CAN, microSD

$29.25
5,557 円 https://www.switch-science.com/catalog/2989/
https://www.pjrc.com/store/teensy36.html

PJRC Teensy 4.0

NXP iMXRT1062 ARM Cortex-M7 / 600Mhz / 2MB / 1MB / CAN, CAN-FD

Cortex-M7 で 600Mhz で、という高速かつ安いボード
GPIO / UART / SPI / ADC / I2C に対応
$19.95
3,789 円 https://www.switch-science.com/catalog/2989/
https://www.pjrc.com/store/teensy40.html

PJRC Teensy 4.1

NXP iMXRT1062 ARM Cortex-M7 / 600Mhz / 8MB / 1MB / CAN, CAN-FD,sdcard

Cortex-M7 で 600Mhz で、という高速なボード
GPIO / UART / SPI / ADC / I2C に対応
5,120 円 https://www.switch-science.com/catalog/6377/ $26.85
https://www.pjrc.com/store/teensy41.html

ProductivityOpen P1AM-100

ATSAMD21G18 Cortex-M0+ / 48MHz / 256KB / 32KB

https://facts-engineering.github.io/modules/P1AM-100/P1AM-100.html

Raspberry Pi Pico

RP2040 Cortex-M0+ dual core / 133MHz / 2MB / 264KB

Raspberry Pi シリーズの末弟としての位置づけの Cortex-M0+ dual core ボード
SWD 端子がスルーホールとして用意されてたり、とても安かったりが特徴
国内外で一気に人気が出ているボードです
$4
715 円 https://www.switch-science.com/catalog/6900/
600 円 https://akizukidenshi.com/catalog/g/gM-16132/
600 円 https://steam-tokyo.com/product/raspberry-pi-pico/
https://www.raspberrypi.org/products/raspberry-pi-pico/

Raytac MDBT50Q-RX

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE

ボタンが一つあるだけのシンプルなボード (というのか USB デバイスというのか) です。
技適有りなので、 https://github.com/tinygo-org/bluetooth と組み合わせて TinyGo で遊ぶことができます。
$15.95
1,672 円 https://www.switch-science.com/catalog/5531/
https://www.adafruit.com/product/5199

Seeed LoRa-E5 Development Kit

STM32WLE5JC Cortex-M4 + SX126x / 48MHz / 256KB / 64KB / LoRa, LiPo

STM32WLE5JC + SX126x という LoRa 対応モジュールが搭載されたボード
LoRa 接続可能ですが、技適未対応
$26.90
https://www.seeedstudio.com/LoRa-E5-Dev-Kit-p-4868.html

Seeed Wio Terminal

ATSAMD51P19 Cortex-M4F / 120Mhz / 512KB / 192KB / Wifi, BLE, 320x240 TFT, microSD,LIS3DHTR

液晶にボタンに加速度センサにとてんこ盛りのボード
そして安い、、、だったのが、大分値段が上がりました
背面からピンも多数出ているので拡張性も十分
Type-C コネクタ
技適取得済み
LCD は ILI9341 320x240
$29.90
6,677 円 https://www.switch-science.com/catalog/6360/
5,490 円 http://akizukidenshi.com/catalog/g/gM-15275/
4,769 円 https://www.marutsu.co.jp/pc/i/1633550/
https://www.seeedstudio.com/Wio-Terminal-p-4509.html

Seeed Seeeduino XIAO SAMD21

ATSAMD21G18 Cortex-M0+ / 48MHz / 256KB / 32KB

とにかく安くて、小さい
その割に IO x 11 と割と多い
リセットするのが面倒なので、半田付けして線だしした方がよい
Type-C コネクタ
$4.9
1,100 円 https://www.switch-science.com/catalog/6335/
850 円 https://akizukidenshi.com/catalog/g/gM-15178/
https://www.seeedstudio.com/Seeeduino-XIAO-Arduino-Microcontroller-SAMD21-Cortex-M0+-p-4426.html

Seeed XIAO BLE nRF52840

nRF52840 Cortex-M4F / 64MHz / 1MB / 256KB / BLE

安くて小さい XIAO シリーズの nRF52840 バージョン
当然 BLE に対応している (TinyGo も BLE サポート済)
技適対応版が発売されました。
同じサイズで 6 軸 IME とマイク付きの XIAO BLE SENSE も TinyGo から使用可能です。
$9.90
1,850 円 https://steam-tokyo.com/product/xiao-ble/
1,980 円 https://www.switch-science.com/catalog/8145/
2,937 円 https://www.switch-science.com/catalog/8146/ (XIAO BLE SENSE)
2,680 円 https://akizukidenshi.com/catalog/g/gM-17342/ (XIAO BLE SENSE)
https://www.seeedstudio.com/Seeed-XIAO-BLE-nRF52840-p-5201.html

Sipeed MAix BiT

Kendryte K210 RISC-V (RV64GC) / 400Mhz / 16MB / 8MB / microSD

$12.90
安くて速い
ADC が搭載されていない?ので注意
Type-C コネクタ
カメラと LCD のセットで 3,520 円は安い
4,917 円 https://www.switch-science.com/catalog/5702/ (カメラ + LCD セット)
https://www.seeedstudio.com/Sipeed-MAix-BiT-for-RISC-V-AI-IoT-p-2872.html

SiFIve HiFive1

FE310-G002 RISC-V / 320MHz / 4MB / 16KB? / WiFi, BLE

6,600 円 http://akizukidenshi.com/catalog/g/gM-15014/
https://www.sifive.com/boards/hifive1

SparkFun Thing Plus - RP2040

RP2040 Cortex-M0+ dual core / 125MHz / 16MB / 264KB / micro sdcard,LiPo,Qwiic

Raspberry Pi Pico 等と同じ RP2040 を搭載したボード
LiPo 充電可能な 2-pin JST 搭載
ピン配置は Adafruit の Feather と同じ
$19.50
3,606 円 https://www.switch-science.com/catalog/7392/
https://www.sparkfun.com/products/17745

ST Micro "Nucleo F103RB"

STM32F103RBT6 Cortex-M3 / 72MHz / 128KB / 20KB / CAN, ST-Link/V2-1

デバッガ付きで 1,680 円と安い
1,680 円 https://www.marutsu.co.jp/pc/i/236958/
1,936 円 https://www.switch-science.com/catalog/1618/
$10.55 https://www.st.com/en/evaluation-tools/nucleo-f103rb.html
https://os.mbed.com/platforms/ST-Nucleo-F103RB/

ST Micro "Nucleo" F722ZE

STM32F722ZE / 216MHz / 512KB / 256KB / On-board ST-Link

デバッガ付きの Cortex-M7
2,490 円 https://www.marutsu.co.jp/pc/i/16838806/
$19.41
https://www.st.com/en/evaluation-tools/nucleo-f722ze.html

ST Micro "Nucleo" L031K6

STM32L031K6 Cortex-M0+ / 32MHz / 32KB / 8KB / debugger

デバッガ付きの Cortex-M0+
$10.77
1,433 円 https://www.marutsu.co.jp/pc/i/13537496/
https://www.st.com/en/evaluation-tools/nucleo-l552ze-q.html

ST Micro "Nucleo" L432KC

STM32L432KC Cortex-M4 / 80MHz / 256KB / 64KB / debugger

デバッガ付きの Cortex-M4
$10.55
1,433 円 https://www.marutsu.co.jp/pc/i/13537500/

ST Micro "Nucleo" L552ZE

STM32L552ZE Cortex-M33 / 110MHz / 512KB / 192KB / USB-PD Controler, CANFD, Type-C

デバッガ付きの Cortex-M33
$20.07
https://www.st.com/en/evaluation-tools/nucleo-l552ze-q.html

ST Micro "Nucleo" WL55JC

STM32WL55JC Cortex-M4/M0+ dual-core / 48MHz / 256KB / 64KB / LoRa, stlink-v3

LoRa 接続可能ですが、技適未対応
$41.16
https://estore.st.com/en/nucleo-wl55jc2-cpn.html

ST Micro STM32F103XX "Bluepill"

STM32F103C8 Cortex-M3 / 72MHz / 128KB / 20KB / CAN

eBay 等では 200 円ぐらいから
Bluepill よりも改良版?である Blackpill の方が色々と問題が少ないはず
https://stm32duinoforum.com/forum/wiki_subdomain/index_title_Blue_Pill.html

ST Micro STM32F407 "Discovery"

STM32F407VGT6 Cortex-M4F / 168MHz / 1MB / 192KB / CANx2

3,000 http://akizukidenshi.com/catalog/g/gM-05313/
https://www.st.com/en/evaluation-tools/stm32f4discovery.html

ST Micro STM32F469 "Discovery"

STM32F469I Cortex-M4 / 180MHz / 2MB / 324KB / 800x480 TFT, sound, microsd, st-link/v2-1

高解像度液晶付きのボード
デバッガ搭載
https://estore.st.com/en/stm32f469i-disco-cpn.html

The Things Industries Generic Node Sensor Edition

STM32WL55 Cortex-M4 / 48MHz / 256KB / 64KB / LoRa

LoRa 接続可能ですが、技適未対応
https://www.genericnode.com/docs/sensor-edition/

X9 Pro smartwatch

nRF52832 Cortex-M4
https://github.com/curtpw/nRF5x-device-reverse-engineering/tree/master/X9-nrf52832-activity-tracker/