AIに設計させたキーボード基板は動いたのか――部品選定の癖と回路図ミスの原因

YouTubeで開く ↗
概要

前回の動画で、話者はAIにハードウェア設計を任せ、その基板をJLCPCBに発注した。今回は、届いた自作キーボード基板の中身を確認し、ファームウェア開発もAIに任せて実際に動かしている。AI設計の基板は一発で動作したが、一部のキーが反応しない不具合が見つかった。話者はその原因を突き止め、AIによる回路設計をどこまで信頼できるかを振り返っている。

7分で読めます

届いた基板と費用

基板は5枚作り、部品はすべて実装済みの状態で届いた。マイコンはピン数が多く、ほかの部品も基本的に表面実装部品である。この数の部品を自宅でリフローしたり手はんだしたりするのは無理だと判断し、実装まで業者に依頼したという。

費用は、プリント基板代、部品代、実装・組み立て代、送料をすべて合わせて66ドルだった。話者は、1枚あたり2000円ほどで作れた計算になると述べている。

キーボードの仕様と設計上の反省点

基板は、一般的なキーマトリクス方式を使った60%サイズの英語配列キーボードである。話者は完成後に、全角/半角の切り替えキーを入れ忘れていたことに気づいた。普段はほとんど日本語で使うため、入れておけばよかったと振り返っている。ただし、使用頻度の低いAltキーを日本語切り替えに割り当てるなど、ソフトウェア側で対応できるとしている。

キースイッチとの対応が分かるようにシルク印刷で文字も入れたが、文字が小さすぎた。部品配置を工夫してシルクを大きくすればよかった、というのが話者の反省である。

タクトスイッチの選定に見えたAIの癖

今回は初期試作なので、キースイッチには単価の安いタクトスイッチを使うようAIに指示していた。AIは、実装費用を抑えられる表面実装タイプのタクトスイッチを選び、その単価は1個3円だった。ところが、同じ形状でも1個1円の製品が存在していた。

なぜ高いほうを選んだのかをAIに尋ねると、使用事例の多いものを選んだという答えだった。話者によれば、AIは価格を横断的に比較していなかった。EasyEDAのライブラリで部品を検索し、LCSCで在庫があることを確認した時点で探索を終えていた。同等品を価格順に並べて比較することはしていないようだったという。

結果として、AIは「実績はないが安い部品」より「実績はあるが高い部品」を選んだ。この経験から話者は、価格を抑えたい設計では、価格でソートして複数の候補を出すようAIに指示するとよいと提案する。あるいは、使いたい部品を最初から指定しておけば、よりスムーズに進むだろうとしている。

RP2040と電源・水晶振動子まわり:人間が介入した部分

マイコンはRaspberry PiのRP2040を使っている。話者の説明によれば、RP2040は3.3Vの電源が必要で、USBから供給される5Vでは動作しない。そのため電圧レギュレーターで5Vを3.3Vに降圧している。

電源まわりのパスコンについて、話者はAIのレイアウトを「動かないこともなさそう」だが若干怪しいと見た。そこで位置の調整だけ人間が手を入れた。ただし、その介入も完璧ではないと話者は付け加えている。配線には自動配線を使った。

マイコンの左下には水晶振動子がある。話者によれば、RP2040は発振回路を内蔵しているのでマイコン単体でも動作できるが、USB経由でプログラムを書き込む場合は水晶振動子が必須になる。この部分もAIのレイアウトは微妙だったため、部品の位置だけ人間が調整し、配線は自動配線に任せた。

外付けフラッシュメモリとコストの見落とし

マイコンの左側にはフラッシュメモリがある。RP2040はプログラム用のフラッシュメモリを内蔵していないため、外付けが必要になる。話者は後になって、フラッシュメモリを内蔵したラズパイ系マイコン「RP2354」があることを知った。これを使えば設計をもう少し簡単にできたのではないかと考えている。

価格でも差があった。今回の構成では、RP2040が0.99ドル、外付けフラッシュメモリが2.54ドルで、合計3.53ドルだった。一方、RP2354は1.62ドルで、フラッシュ内蔵の構成にすれば2ドル近く安くなる。5枚作ったので、合計で10ドル近く安くできる選択肢があったことになる。今回はAIが出してきた設計をそのまま作ったが、もっと安く作れないかをAIと対話して確認しておくべきだった、と話者は振り返っている。

AIがRP2040を選んだ理由と古い知識

RP2040を採用した理由をAIに尋ねると、「初回で確実に動くことを最優先した」ことと「E9エラッタへの警戒」の2点を挙げた。前者については、自作キーボードの世界ではRP2040がよく使われているので、それに倣ったという説明である。

E9エラッタについては話者も初めて知った。調べてみると、すでに解決済みの問題であることが分かった。この点をAIに問いただすと、AIの持っている情報が古く、AI自身も改めて調べて解決済みであることに気づいたという。

PCへの接続とファームウェアの自動生成

PCに接続すると、基板はマイコンとして正しく認識された。水晶振動子、パスコン、フラッシュメモリまわりのレイアウトや自動配線が「かなりしょぼかった」ため、話者は動くかどうか心配していた。それでも無事に動作したようだった。ただし、挿しただけでは電源が入っているのかマイコンが動いているのかが分からない。インジケーター用のLEDも付ければよかった、と話者は述べている。

この時点では、ファームウェアを何も書き込んでいないのでキーボードとしては動かない。そこでAIにファームウェアの作成を頼んだところ、AIがさまざまな作業を自分で進めてくれそうだったので、そのまま任せた。5分ほど待つとAIが作業を進め、キーボードとして使える状態になった。

実際に入力すると文字が打て、改行もバックスペースも正常に動いた。話者は、自分はほとんど何もしていないのに動く回路ができたと驚いている。AIがここまで自律的に動き、ファームウェアの書き込みまで自動で行うとは思っていなかったとも語っている。

規則的に動かないキーとAIとのデバッグ

使っているうちに、特定のキーだけが反応しないことが分かった。数字の列では1と2は入力できるが3と4が入らず、5から9は動く。その下の列でもQとWは動くがEとRが動かない。同様にAとSは動くがDとFが動かず、最下段もZとXは動くがCとVが動かない。

話者は、不具合に法則性があるので原因はある程度推定できたとしつつ、まずAIに理由を尋ねた。全キーを打ち込んだ結果をチャットで見せ、対話しながらデバッグを続けたが、なかなか解決しなかった。

そこで話者自身が回路図を確認したところ、カラム3とカラム4が存在しないように見えることに気づいた。この点をAIに伝えると、AIは「いい着眼点です、データで確認しましょう」と応じた。5分ほど待つと、AIは回路図のバグを見つけた。カラム3とカラム4が3.3V電源とショートしていたのである。回路図では、ラズパイマイコンの3.3V電源のネットとカラム3・4がつながっていた。

原因:部品を詰め込みすぎた回路図

話者によれば、原因はAIが回路図を作る際に部品をぎちぎちに詰めて配置したことにある。部品の配置間隔に余裕を持たせていれば防げた事故だという。予想していなかった箇所での不具合ではあったが、AIへの指示を適切に出せば防げた種類のものである。話者は、この知見を次回以降のAI設計に活かせるとしている。

AI回路設計の評価と使いどころ

話者のまとめでは、キーボードとしての基本機能は問題なく動いた。回路図のミスで一部のキーが動かなかったが、原因は特定済みで次回以降は改善できる。そのため、ラピッドプロトタイプとしては成功と言ってよいと評価している。

大きなミスなくうまくいった理由について、話者は題材を挙げる。自作キーボードはありふれたテーマで、インターネット上に回路図が数多く公開されている。ファームウェアもオープンソースで公開されており、AIもそれを参照していた。

ここまでの試作に話者が使った時間は3時間ほどだという。その経験から話者は、AIによる回路設計を過大評価すべきではないが、現状では過小評価もすべきではないと述べている。使いどころとしては、配線を正しくつなげば動くような回路ならAI設計で十分に通用すると考えている。一方、パワー系などそれ以外の領域は、まだ人間がやったほうがよいというのが話者の現時点での見方である。