YAPC::Hiroshima 2024 に参加しました

2024/02/10 に開催された YAPC::Hiroshima 2024 に前夜祭から参加して、本編で LT もしてきた。 いろんな人としゃべったりも含めて最高の体験だった。 生のとほほさんと t_wada さんを見て、トークも聞いて、というのも最高だった。

yapcjapan.org

「プログラムを書いて楽しむ自作キーボードの世界」 という LT をしました

Perl のイベントでプログラム要素もほとんど出てこない自作キーボードの話をしてきました。 ベースは以下の Go Conference 2023 MINI IN KYOTO でしゃべったものです。 下記は、 Go のイベントなのもあり、 20 分枠のうち 10 分ぐらい使ってレイヤー機能付きキーボードをライブコーディングする、という内容です。 動画もあるので興味がある人は是非。

sago35.hatenablog.com

で、 YAPC で LT ということで Go / TinyGo 要素を出来るだけ削除しつつ自作キーボードを作るという行為におけるプログラムを書くって楽しいよ、というのを題材にしました。 自作キーボードにおけるプログラムというとファームウェアを使う、作る、といったあたりになりますが、自分はファームウェアを作る、という部分で遊んでいます。 普段何気に使っているキーボードという物体を作るのはとても面白い。 期待動作の大半が分かっているにもかかわらず、今まで意識したことがなかった、というのが分かって面白い。

資料はこちらです。

2024/02/09 広島到着 ~ 前夜祭 ~ STORES Beer Bash

前日入りからの原爆ドームなどの観光 (という名の散歩) からのチェックインからの前夜祭という感じでした。 前夜祭は、 Hono のトークも面白かったしキャッシュバスターズもよかった。 何より会場の奥行きが広くて、前で真剣に聞いてみたり、後ろでビールとかをいただきつついろんな人としゃべったり、と最高だった。

その後、 onk さんとともに STORES Beer Bash に移動。

hey.connpass.com

STORES Beer Bash では、多くの PHPer がいらっしゃってて、こういう異文化交流?も最高って感じでした。 asumikam さんと kotomin_m さんは初対面だったのですが、いろんな意味で熱量がすごくてとても刺激を受けました。

このタイミングで、事前にもっていってた sgkey という自作キーボード (というのか、マクロパッドというのか) のキットをお渡し。 相手がはんだごて持ってるか、とかそういうのを気にしないスタイルでした。 ※やったことはある、と言ってた

なお、完成するとこんな感じになります。

2024/02/10 本編

生のとほほさんにただただ感動した。 自分の LT が終わって席に帰るまでのタイミングでとほほさんがキーノートに向けて待機されていたので話しかけることができた。 2000 年付近でとほほのperl入門よく読んでお世話になりました、という話ができてとても良かった。

キーノートもとても良かった。 淡々と技術的にもすごいことをやっていて、そしてやり続けていて、という事ですごい。

何故継続できるのか?という会場からの質問に 「好きだから」 と答えていたのも含め最高だった。

2024/02/10 懇親会

自分は翌日の事もあり割と早めの新幹線に乗る必要があり 20:00 すぎぐらいで退散となった。 Go な人との会話もいつも通り楽しかったし、松本勇気さんとも話ができて良かった。 スクワット、少しでも生活に取り入れるようにする。

YAPC なビールも美味しかった。 最高だった。

Gopher Badge

前夜祭からではありますが、今回も Gopher Badge を付けて歩いてました。 色々な人に興味を持ってもらえてよかったと思う。

カンファレンスとか懇親会のボッチ対策的な話もありますが、個人的には 「間違えようのない目印」 を付けておくと話しかけられやすい、と思っています。 自分自身としても、確かあの人は~~さんなんだけど自信がない、みたいなケースで躊躇しちゃうので。 なので、 YAPC とかで配っている大きな名札もとても良いと思っている。

以下から購入可能ですが、送料含めて割とお高いのでなかなか手が出ないかも。 自分は TinyGo プロジェクトの中の人ということでプロトタイプ版を送っていただきました。 なので恩返しとしてたくさん露出を増やして還元?していきたいと思ってる。

以下からスペックを見たり、購入したりができます。

gopherbadge.com

Perlbatross

KAYAC さんがコードゴルフ開催してくれていて参加した。 自分の Perl 知識で挑むも最終 4 位。 悔しい部分があるとともに、パー切りはできたのでとてもうれしかった。

結果はこちら。 他の人の回答を読むと、あ~その手があったか、とか、それはシランカッタ、とかいろいろあって面白い。 コードゴルフしたことがなかったので、とても勉強になった。

まとめ

とても楽しかった。 次の YAPC は場所未定という事ですが、とても楽しみです。

2023 年にやったこと

そろそろ 2023 年も終わりという事で、 2023 年の活動を振り返ってみます。

TinyGo 関連

去年 (2022/11) に書籍 「基礎から学ぶ TinyGoの組込み開発」 をリリースしました。 詳しくは以下に記載していますが、 2023 年はこの書籍に基づく、というのか、 TinyGo の活動をさらに活発に行っていました。

sago35.hatenablog.com

Go Conference 2023 でハンズオン開催 + LT 登壇

TinyGo で自作キーボードを作るハンズオン

2023/06/02 開催の Go Conference 2023 では、 TinyGo で自作キーボードを作るハンズオンを開催しました。 詳しくは以下の記事と、当日のハンズオン用のサイトを参照という感じです。

sago35.hatenablog.com

github.com

LT: TinyGo で作る自作キーボードの世界

当日にハンズオンをやりつつ、 LT でも 「TinyGo で作る自作キーボードの世界」 というタイトルで登壇しました。 Go で簡単に USB HID キーボードは作れるよ、というような紹介をする LT です。 この発表をもとに 2023/12 の Go Conference mini 2023 Winter IN KYOTO で、より深いトーク (20 分) をしました。

gocon.jp

www.youtube.com

資料はこちら。

docs.google.com

Go Conference mini 2023 Winter IN KYOTO で登壇

この Go Conference はオフライン開催だったこともあり、いろんな人と再会したり交流したりができました。 また、自身にとっても数年ぶりのオフライン登壇となりました。

自分は、ライブコーディングするのが好きなので、 TinyGo でこんな簡単にキーボードが作れるよ、というのを示すべくトライしました。 結果、 Twitter 等で良い反応をいただけてとてもうれしかったです。

このあたりの話は以下にあります。 振り返ると、今回のトークは TinyGo + 自作キーボードの話として 2023/03/26 の Kyoto.go → 2023/05/13 の Umeda.go → 2023/06/02 の Go Conference 2023 → 2023/12/02 の Go Conference mini 2023 Winter IN KYOTO と何度も発表をしてきた集大成になっています。 自分としても、一年の締めくくりとして良い発表ができた、と思いました。

sago35.hatenablog.com

www.youtube.com

資料はこちら。

docs.google.com

自作キーボード

書籍リリース後はひたすら自作キーボード作ってたし、イベント登壇などを含む自作キーボード関連の活動をしていました。 色々ありますが軽く紹介。

データ等は以下のリポジトリにあります。 (※無いものもありますが)

github.com

sgkey と wiokey

以下は 2023/06 の Go Conference で実施したハンズオンに向けて作った基板です。 TinyGo で自作キーボードを作りたい、って思ったときに基板が手軽に手に入る状態を作りたかったので作成。

sgkey と wiokey については以下から購入できます。

sago35.booth.pm

fric10key

社内で使っているシステムをテンキーだけで触れるようにするために作ったテンキー。 お渡ししてからずっと使い続けてくれていて、こちらとしてもとてもうれしい。

sgkb 0.4.0

HHKB JIS 版と同じキー配列の分割キーボードで、すでに 4 バージョン目。 今回からホットスワップ対応となり、キースイッチの交換が手軽にできるようになりました。 個人的にもとても気に入っているし、社内でこのキーボードのユーザーもたくさんいて面白い状態に。

xiao-kb01

ロータリーエンコーダーと LED を使いたくて作ったマクロパッド。 3D プリンターでキープレートというかケースを作る、というのもトライしてみた。 この経験がその後の 3D プリンターを組み合わせたものにつながっていってる。

sgh60key

市販ケースに入る形のものを作りたかったので、ということで GH60 ケース向けのものを作った。 レイアウトは HHKB JIS と同じ。 右手のスペースキー位置にジョイスティックを付ける、というトライも実施してる。 世間ではトラックボール付きが流行ってるけど、自分はジョイスティックを付けてみた、という感じ。 割と気に入ってる。

sg48key

キー数が少ないキーボードは、あまり乗り気じゃなかったのですが、なんとなく作ってみたもの。 事前に 60% キーボードのレイアウトで 48 キーにトライしてていけそうだったので作ってみた。 これもジョイスティック付き。 今は、基本的にはこのキーボードを使っていて、コード書いたりは 60% を使うことが多い、という感じ。 徐々に慣れていくと、これでよくなりそう。

DIY ハンドルコントローラー

レースゲームをするためのハンドルコントローラーの自作をしています。 元ネタというか大部分を作ってくれたのは @nobonobo 氏で、自分はそれに対してパドルシフターを追加、ステアリングスイッチを追加、という改造を行いました。

@nobonobo 氏による記事はこちら。

www.switch-science.com

パドルシフターの CAD データ、ソースコードはこちら。 ステアリングスイッチの基板データは登録できてないので、そのうち登録予定ということで。

github.com

実際に使って遊んでいる様子はこちら。 FFB の部分などは動画からは伝わらないと思いますが。

Flutter

兵庫県の三ノ宮にある ハックバー で話をしていると店員さんも来ている人も Flutter 激推しだったので、という理由で使い始めてみました。 作ったものはオフロードバイクのレース用のものですがこんな感じの画面を作りました。 あ、 NFC タグを読み取るアプリの画面が手元にないな。。。

BLE ビーコンでラップ集計をするアプリ

バイクの車体側からは BLE Advertising をし続けていて、ピットにおいたパソコンでその信号を拾えたら集計下、という感じにしています。 去年も使ってたのですが、その時点では画面周りは質素でした。 今年は Flutter で作り直したので、ついでに時計と温湿度計を追加したりしてました。 簡単に作れてよかった。

NFC タグを読み取ってラップ集計をするアプリ

先程のは集計対象が自分のチームのバイクだけ、というやつですが、今回のはレーススタッフ側なので参加車両すべてに対してラップ集計を行います。 以前から集会してきたバイクのゼッケンを手入力、それをデータとして蓄えておく、というような形のものを Go で作っていました。 今年はそれに追加して 「手入力の代わりに NFC タグを読み取る (Android / Flutter)」 と 「NFC タグを読み取ったら各種情報を画面に表示する (PC / Flutter web)」 という部分を作り足しました。 作り足した部分は両方 Flutter で作りました。

こんな感じで読み取りを実施します。

NFC で読み取れたら、こんな感じで自分のゼッケンなどが画面に表示されるので、それを確認したら進んで良い、というスタイルにしました。 このやり方であれば、レース中にデータ入力を確認しつつ進めることができるので、データの正しさのチェックがとても楽になります。

ちなみに貼り付けた NFC タグは NFC213 タグというもので 100 枚単位での購入で 1 枚あたり 23.3 円でした。 1,000 枚単位だと 1 枚あたり 19.2 円というところ。 エンデューロごっこというレースでは合計 100 台のエントリーだったので NFC タグの費用としては約 2,300 円ぐらいになります。 例えば以下から購入することができますし、日本の Amazon 等からも購入可能です。

https://ja.aliexpress.com/item/4001260033454.html

まとめ

2023 年は TinyGo でキーボードと DIY ハンコンを作り続けた一年でした。 来年も楽しくやっていきたい。

Go Conference mini 2023 Winter IN KYOTO に参加しました

2023/12/02 に開催された Go Conference mini 2023 Winter IN KYOTO に参加してきたのでまとめ。

オフラインイベントが徐々に復活してきていますが、自分としては相当久しぶりのオフライン登壇となりました。 リアルな熱気とか、実際にしゃべれる、とかが本当に楽しい。

勝手に展示会開催

今回は、 TinyGo のオフィシャルのステッカーやピンバッジなどを持ち込んでいたので、配ったりしてました。 ステッカーもらいに来てくれた人と話し込んだり、というあたりがとてもオフラインっぽい。

また、 satoken さんと基板持ち寄って遊んでみたり、という感じで色々楽しめました。 以下のうち自作キーボードは会場の後方にて、昼から展示していました。 自作キーボードの話をするのに、自作キーボードを持ち込まないわけには、という感じで持ち込み。

自分のトーク

「続) TinyGo で作る自作キーボードの世界 」 というタイトルで登壇しました。 資料はこちら。

docs.google.com

動画は多分後で改めて公開されそうだけど、アクセスできるのでここにも貼っておきます。 10 分ほどで 42 ページめくりつつ、残り 10 分でライブコーディングする、という構成で話をしました。

www.youtube.com

若干時間が足りない感じがあったので急遽 Demo 内容を変えたらアクシデントも発生して、そういうあたりもとてもライブっぽい。 自分は Vim を使っているのですが、 Vim に対して 「強制的に一秒ごとに a キーを送る」 というキーボードを接続してはいけない。

そんな感じのアクシデントも含めてとても楽しかったです。

ライブコーディングはハプニングもあったけど、ほぼいい感じだったので、皆さんの反応も良かったので安心。

正規表現で色付けを行う

ライブコーディング中に何気なく使った Vim で選択範囲 (正確には正規表現にマッチする部分) を色付けするプラグインが注目を集めてた。

これは、 Mark.vim という Vim plugin を使ってます。 社内の自分が関わる辺りでは、ものすごく当たり前に使われているものですが、確かにこの手の話はあまり共有できていない。

www.vim.org

ちなみに、 VSCode にも同様のことが出来る Plugin はあるのでこちらを入れておくとよさそう。 こちらも社内の VSCode ドキュメントではおすすめ拡張機能として紹介されてる。

marketplace.visualstudio.com

この辺りの話は、だいぶ昔ですが YAPC::Kansai 2017 OSAKA の前夜祭で話をしています。 各々の開発環境のこだわりポイントとかマニアックな何かを紹介するイベントでとても楽しかった思い出。 定期的にこういうのやって、他の人の何かに刺激を受けたい。

sago35.hatenablog.com

Togetter

当日の Twitter は以下にまとまっています。

togetter.com

TinyGo のトークは以下のあたりから。

togetter.com

気になったトーク

当日の自分的に気になったトークはこちら。

日時処理の新スタンダード: Synchro によるタイムゾーン安全、楽々開発

@codehex さんが開発している日付処理 package の話。 Twitter で見てたので存在は知ってるけど、って感じだったのが一気に解像度上がった。 これはさっそく使ってみる。

speakerdeck.com

Goプログラムがビルドされるまで(コンパイラーの仕組みを探る)

Richard Rowland さんの Go コンパイラーの話。 コンパイラーのバックエンド、フロントエンドのあたりの話とか、とても興味がある分野なので面白い。 字句解析 → パース → AST 生成 までがフロントエンド、その後バックエンドでミドルエンド最適化、ウォーク、SSA、機械言語の生成、という形で紹介されてた。 そして、それぞれを分かりやすく紹介してくれているのが素敵。

まとめ

楽しかった。 運営の皆さんありがとうございました。 そして参加者の皆さんもありがとうございました。

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

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

github.com

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

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

  • reflect package の互換性改善
  • WASI/WASM のデフォルト stack size を 16KB から 32KB に拡大
  • マイコン関連
    • Adafruit Gemma M0 対応を追加
    • PyBadge のリネームとして GoBadge を追加
    • USB
      • ATSAMD21 と ATSAMD51 に USB INTERRUPT OUT サポートを追加
        • RP2040 と nRF52840 は元からサポート済み
      • RP2040 の USB enum fix をチップバージョンに関係なく実施するように変更
      • USB MIDI の改善
        • channel を 1 ~ 16 に変更 (元は 0 ~ 15)
        • エラーチェック追加
        • ControlChange()、 ProgramChange()、 PitchBend()、 SysEx() を追加
  • LLVM16 対応
  • などなど

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

sago35.hatenablog.com

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

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

gocon.jp

youtu.be

2023/06/02 の Go Conference 2023 で TinyGo で作る自作キーボードの世界 という LT と、自作キーボードを作るハンズオンを実施しました。 LT の動画も公開されています。

自作キーボードと言えば、 sago35/tinygo-keyboard という TinyGo の USB HID Keyboard ファームウェアを作っています。
最近では Vial に対応したことにより Web ブラウザからキー設定を変更できるようになっています。
是非遊んでみてください。
キーボードのハードウェアが無くても Tutorial などを見ながら手軽に試すことができます。

github.com

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

www.youtube.com

さて。

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

0.30 追加分

Adafruit Gemma M0

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

JST Battery コネクター付き、 6 ピンのうち 3 ピンを自由に使用可能。
あとは NEOPIXEL LED およびリセットボタン、直径 3cm 弱のサイズという構成。
$9.95
1,947 円 https://www.switch-science.com/products/8387
https://www.adafruit.com/product/3501
https://learn.adafruit.com/adafruit-gemma-m0/

既存の対応ボード

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 M0 Express

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

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

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 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

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

AKIZUKI DENSHI AE-RP2040

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

秋月電子オリジナルのボードが TinyGo でサポートされました。
RP2040 搭載ボードで、 RP2040 のすべてのポートを取り出しながら Raspberry Pi Pico よりも小さいサイズです。
リセットボタンも BOOTSEL もついていて、 Type-C で Pico よりも安いです。
700 円 https://akizukidenshi.com/catalog/g/gK-17542/

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

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 も出たので使いやすくなってきたかも
とはいえ、 TinyGo + wifinina で使うには若干メモリが足りない気味ではある
$18.40
4,620 円 https://www.switch-science.com/products/9003
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

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

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

Gopher Badge

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

RP2040 搭載ボードで、いろんな用途に使えるようにたくさんの機能が搭載されています。
320x240 ST7789 display 、加速度センサー LIS3DH 、 6 ボタン、 WS2812 LED や blue LED、ブザーに LiPo battery チャージ、 2 x Qwiic/StemmaQT connector など。
背面のパッドから 12 ピン取り出すこともできます。
日本国内での取り扱いはありませんが、公式サイトから購入することができる (はず) です。
60,50 € (9,000 円ぐらい)
https://gopherbadge.com/

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/

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

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
2,959 円 https://www.switch-science.com/products/8693
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/

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

X9 Pro smartwatch

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

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

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

github.com

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

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

  • Go 1.21 support
    • max / min / clear サポート
    • GOOS=wasip1 を用いた Go build-in WASI support の追加
  • reflect package の互換性改善
  • マイコン関連
    • ATSAMD51 (Wio Terminal など) で i2c が動かない問題を修正
    • USB
      • HID Keyboard で NUMLOCK 等の LED 状態の取得に対応
      • ユーザーソースから ENDPOINT 等の設定を変更できるようになった
    • Renesas の SVD を追加 (まだマイコン対応は入っていません)
  • などなど

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

sago35.hatenablog.com

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

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

gocon.jp

youtu.be

2023/06/02 の Go Conference 2023 で TinyGo で作る自作キーボードの世界 という LT と、自作キーボードを作るハンズオンを実施しました。 LT の動画も公開されています。

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

www.youtube.com

さて。

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

0.29 追加分

AKIZUKI DENSHI AE-RP2040

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

秋月電子オリジナルのボードが TinyGo でサポートされました。
RP2040 搭載ボードで、 RP2040 のすべてのポートを取り出しながら Raspberry Pi Pico よりも小さいサイズです。
リセットボタンも BOOTSEL もついていて、 Type-C で Pico よりも安いです。
700 円 https://akizukidenshi.com/catalog/g/gK-17542/

既存の対応ボード

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 M0 Express

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

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

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 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

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 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

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 も出たので使いやすくなってきたかも
とはいえ、 TinyGo + wifinina で使うには若干メモリが足りない気味ではある
$18.40
4,620 円 https://www.switch-science.com/products/9003
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

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

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

Gopher Badge

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

RP2040 搭載ボードで、いろんな用途に使えるようにたくさんの機能が搭載されています。
320x240 ST7789 display 、加速度センサー LIS3DH 、 6 ボタン、 WS2812 LED や blue LED、ブザーに LiPo battery チャージ、 2 x Qwiic/StemmaQT connector など。
背面のパッドから 12 ピン取り出すこともできます。
日本国内での取り扱いはありませんが、公式サイトから購入することができる (はず) です。
60,50 € (9,000 円ぐらい)
https://gopherbadge.com/

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/

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

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
2,959 円 https://www.switch-science.com/products/8693
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/

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

X9 Pro smartwatch

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

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

TinyGo 0.28 がリリースされました。
※少しマイナーな問題を修正した TinyGo 0.28.1 がリリースされました

github.com

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

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

  • reflect package の互換性改善
    • encoding/json がほぼ動くようになった
  • マイコン関連
    • マイコン搭載の Flash を読み書きするための machine.Flash を追加
      • 外付け QSPI Flash などがなくても、設定などを保存できるようになった
      • 対応マイコンは SAMD21 / SAMD51 / nRF528xx / stm32f4 / rp2040
    • USB HID Keyboard の MediaKey サポートを追加
      • 音量変更や、 Play / Pause など
    • USB HID Mouse の戻る、進むボタン対応
    • USB VID / PID / Manufacturer name / Product name を書き換え可能にした
    • 割り込み内でヒープアロケーションをした場合は panic するようになった
  • 多くのバグフィックスコンパイラおよび runtime の改善
  • などなど

今回は文句なしに @dgryski 氏による reflect package の互換性改善がすごいです。 encoding/json がほぼほぼ (完全に?要確認) 動くようになりました。

このあたりは以下の記事に書きました。

sago35.hatenablog.com

あと、マイコン関連の大きな変更としては 「割り込み内でヒープアロケーションをした場合は panic するようになった」 があります。 0.27 までは動いていたが 0.28 では panic する、というパターンになる可能性があります。 一時的に panic を回避するには、以下をコメントアウトしてください。 割り込み内でのヒープアロケーションは禁止なので、なるべく早く修正するようにしてください。 どこが問題かを調べるには tinygo flash -print-allocs . を使うことができます。

// src/runtime/gc_blocks.go#L280-L282
if interrupt.In() {
    runtimePanicAt(returnAddress(0), "heap alloc in interrupt")
}

0.26 で追加された tinygo flash -monitor は便利なので使っていきましょう。 特に Windows の人は、 Tera Term などをいちいち切断する必要がなくなるのでかなり体験が良くなります。 tinygo monitor -target wioterminal や tinygo monitor -port /dev/ttyACM0 のように使うことができます。 TinyGo 0.28 では tinygo flash -monitor 時のみ、 panic 箇所のソース情報 (ファイル名、行番号など) が表示され、、、るはずだけど手元の Windows 環境では動いてない? (要調査)

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

  • 新規追加
    • AS560x : on-axis magnetic rotary position sensor
    • 1-Wire
    • mpu6886 : 6軸IMU
    • ttp229 : 静電容量式タッチスイッチ
  • その他
    • などなど

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

2023/06/02 の Go Conference 2023 で TinyGo で作る自作キーボードの世界 という LT と、自作キーボードを作るハンズオンを実施しました。 LT 動画も近く公開されるようなのでお楽しみに。

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

www.youtube.com

さて。

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

0.28 追加分

Gopher Badge

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

RP2040 搭載ボードで、いろんな用途に使えるようにたくさんの機能が搭載されています。
320x240 ST7789 display 、加速度センサー LIS3DH 、 6 ボタン、 WS2812 LED や blue LED、ブザーに LiPo battery チャージ、 2 x Qwiic/StemmaQT connector など。
背面のパッドから 12 ピン取り出すこともできます。
日本国内での取り扱いはありませんが、公式サイトから購入することができる (はず) です。
60,50 € (9,000 円ぐらい)
https://gopherbadge.com/

既存の対応ボード

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 M0 Express

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

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

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 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

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 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

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 も出たので使いやすくなってきたかも
とはいえ、 TinyGo + wifinina で使うには若干メモリが足りない気味ではある
$18.40
4,620 円 https://www.switch-science.com/products/9003
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

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

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/

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

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
2,959 円 https://www.switch-science.com/products/8693
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/

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

X9 Pro smartwatch

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

ついに 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