katanori — Gemini と声で話す小さなロボット

かたのりの歴史

2026 年 7 月 25 日の初コミットから 9 月 24 日まで。ファームは 2 日で会話が成立したが、筐体は 8 版を数えた。9 月 21 日からは「カタノリ」と呼んで起こすための 4 日間があり、その手順は本になって売り出された。ここでは筐体 v1 から v6.1n までの形・部品・かかった時間と、各版が何で死んだか、呼び名で起きるまでの道のり、そして壊れた・燃えた・鏡だった事故の記録をまとめる。使う人は介護の現場と高齢の方。だから「つまみは画面の右」が設計の最上位条件になっている。

かたのりの落書き62 日2026-07-25 → 09-24
748 commits / 50 稼働日
v12枚貝
v1 正面
08-15→20
配線できず
v2寝かす
v2 正面
08-17→23
組めず
v3板6枚
v3 正面
08-22→25
PowerBoost の置き場なし
v4刷った
v4 正面
08-25→09-05
線の太さを 4mm 間違え
v5実機
v5
09-05→11
生きている(現行)
v6縦置き
v6
09-12→13
薄さ 23 に歯車が収まらず
v6.1基板1枚
v6.1 分解図
09-14→18
刷らないと決めた(形は並走)
v6.1nMJF
v6.1n
09-14→18
発注前・組む順を検査中
筐体の版
8
v1〜v6.1n。刷ったのは v4 と v5
実際に刷った回数
41回
v4 11 回 + v5 30 回(失敗 4)
印刷部品の点数
21→7
v5(レジン)→ v6.1n(MJF)
筐体のねじ
33→8
v5 → v6.1n(本)
鏡(左右が逆)
6回
モデル・穴割り・刻印・列・ヘッダ・裏面
煙が出た
1回
2026-09-11 INA226。ほか発熱 2
本と道具箱を掲げるかたのりの落書き
発売 2026-09-24

呼び名づくりの本、出ました!!

「カタノリ」と呼べば起きるようになるまでの 4 日間を、好きな言葉で自分のロボットを起こしたい人が通せる手順にまとめた。本(PDF 34 ページ)+道具箱(ZIP・100 ファイル)のセット。道具箱は設定 1 枚で呼び名を変えられ、作者の機体では 2 つ目の呼び名「ワラビモチ」を同じ手順で作り、焼いて、呼んで起きるのを確かめてから出した(→ 呼び名で起きるまで)。

¥2,500BOOTH・PDF+ZIP のダウンロード

どれくらいの時間が掛かったか

日ごとのコミット数と、筐体・中身の期間

7 月末に一気に立ち上がり、8 月上旬から中旬は谷(8/4〜8/24 で 20 コミット)。8 月 25 日の筐体 v4 から粒度が変わり、9 月に入って 1 日 20〜60 コミットが続く。筐体は v1〜v3 が合計 13 コミットしかないのに対し、v4 は 236。

1 日のコミット数筐体の版中身(ファーム・電気・基板)

筐体の系譜

v1 → v6.1n。外寸は mm、体積は外形

全部 OpenSCAD で書き、当たり検査(部品どうし・線・工具の道)を数字で取ってから刷る流れ。各版は「何で死んだか」がはっきりしているのがこのプロジェクトの特徴で、次の版はその死因から始まっている。

v1

上下 2 枚貝 未印刷

2026-08-15 → 08-20 / 6 日
生まれた日 08-17
死因
配線できなかった。

ハブ基板の 9 つの口が、線の出る空間 25mm を箱の外に要求していた。はみ出し 16,476 mm³。その前にスピーカーで 2 回太らせている(23×16 の部品に 27mm の部屋を作り、ケーシング付きと知らずに受け皿を作り込んだ)。

v1 の全体(斜め)
v1 分解図
v1〜v4 と StackChan の比較
上シェルを下へ被せる。右下は v1〜v4 を同じ縮尺で並べた比較図(右端は StackChan)
外寸
90.0 × 84.0 × 59.2(447.6 cm³・8 版で最大)
分割
上下 2 枚貝。12 辺すべて 2mm 面取り
印刷部品
6 点(下・上・ボタン・クリップ・ワッシャ・尻尾)
ねじ
M2.5 ×4 + 樹脂に直接ねじ込む M2×8 ×14
ハブ基板
背側に立てて留める
刷った
0 回(机上見積 1,145 層・2 回)

入ったもの

  • 箱詰めスタディ(08-15)から起こした最初の「刷って組む物」
  • 「基板は立てるだけにしない。溝とレールは位置決め、固定はねじ」の思想
v2

ハブ基板を寝かせた 08-23 凍結

2026-08-17 → 08-23 / 7 日
3 commits
死因
組み立てられなかった。

真っ直ぐ閉じられず 3 か所で干渉(トグルの胴 132.8 mm³、XIAO の USB-C の殻 10.4、ブリッジの波 8.1)。AI の分割案 A も「ハブが蓋になって配線できない」で同日却下。AI は閉じる通り道の当たりしか見ておらず、組む姿勢を追っていなかった。

「見れば分かるレベルだった」
v2 分解図
v2 上シェルを外してハブ基板の口を見た図
v2 正面
左下は上シェルを外し、ハブ基板の口 10 個を色分けした図。v2 だけ単独の完成レンダリングが残っていない
外寸
90.0 × 76.0 × 52.6(359.7 cm³・−20%)
分割
上下 2 枚貝のまま。背面にケーブルレール
印刷部品
8 点(電池の蓋とロックが増えた)
ねじ
全部貫通+ナットに移行。蓋のロック M2×6 ×1
電池
左の壁の彫り込み蓋・磁石止め。工具なしで開く
刷った
0 回

入ったもの

  • 奥行 84→76、高さ 59.2→52.6。8 版を通じて箱が縮んだのはこの 1 回だけ
  • 部品どうしと線 12 本の当たりがゼロ(線どうし 66 組も)
  • 背面のサービス記号はユーザー自身が SVG で描いた(AI の案 4 つは全部却下)
v3

板 6 枚に転換 08-25 打ち切り

2026-08-22 → 08-25 / 4 日
6 commits
死因
PowerBoost の置き場が無かった。

PowerBoost を本物(ヘッダ・ハウジング・挿す軌跡)にしたら中に置ける場所が無かった。ブリッジ↔壁の M2×15 も 3 本とも入らなかった。

「一番入れるのが面倒なピースを最後に入れようとしても入るわけがない」
v3 の全体
v3 分解図
v3 正面
床・左右の壁・天面・フロント・ハッチ。ハッチ(背面板)はここで生まれた
外寸
90.0 × 76.0 × 53.0(362.1 cm³)
分割
板 6 枚。天面とフロントは別部品、継ぎ目は角丸の真ん中
印刷部品
13 点
ねじ
22 本(M2×6 / M2×15 / M3×8)+ナット M3 ×4・M2 ×15
組む順
ユーザーが書いた①〜⑬を先に置き、形を従わせた
刷った
0 回(机上見積 天面 362 層)

入ったもの

  • 1 回の印刷が 1,022 層 → 362 層(3 分の 1)。「縮んだのは箱ではなく 1 回の印刷」
  • 組み立てマニュアルの原型(assembly_v3 → v4 → v5 と続く)
  • 呼び名の体系:まな板・側面構造体・天面+フロント・ハッチ
v4

外皮とボス、工具なしの電池交換 初めて刷った

2026-08-25 → 09-05 / 12 日
236 commits
死因
組み立てマニュアルを机上で 16 回以上通したのに、組めなかった。

組み立てマニュアルは v3 で書き始め、v4 では「3 度目」「7 度目」「12 度目」「16 度目」と番号を付けて机上で通し、そのたびにナットの入らない所・手順に無い部品・線の車線を直した。それでも 09-05 に実機で組めなかった。原因は線の太さ。DuPont のハウジングは 14mm なのに模型は 10 で置いていて、しかもその 10 に「✅実測」の印が付いていた(ヘッダの値をハウジングの欄に書いた)。机上の通しは模型の数字で通すので、数字が違えば何度通しても見つからない。

v4 の全体
v4 分解図
v4 正面
尻尾はアンテナ。天面に会話ボタン・つまみ・ハニカムのグリル、正面に OLED と猫ヒゲ(マイクのスリット)
外寸
86.7 × 75.0 × 53.0(344.1 cm³・X が初めて 90 を割った)
分割
板 6 枚・厚み 2.0(落下前提)。ブリッジ+留め帯 3 本が電池を抱く
印刷部品
19 点(一時 25 点。支柱 6 本は刷って失敗し帯と一体に戻した)
ねじ
29 本(5 種)+ナット M3 ×4・M2 ×17、E リング ×7、磁石 ×2
刷った
11 回(ok 9・失敗 2)08-31 → 09-03
条件
🔒 つまみは OLED の右(右利き)。前が画面・上が操作面・後ろが開く蓋

入ったもの

  • 皮 6 枚とボス。開口はベベル、継ぎ目は 45°
  • 電池の蓋が左の壁から後ろへ移り、横スライド。後ろへ引き出す電池交換
  • PowerBoost と電池をブリッジの上へ(v3 の死因を解決)
  • 会話ボタンをレバー式マイクロスイッチに(押し心地「最高」・約 30gf)
  • 組み立て 12 手順を机上で 15 回以上通し、「工具と手の道」を初めて実測
  • 天板が 2.5mm 指定で 3.7mm に出た事件(Mars 系の土台のたわみ)を切り分けて記録
v5

v4 を数字で直した、今の実機 現行の実機

2026-09-05 → 09-11 / 7 日
69 commits
生きている
今の実機。ただし充電プラグが挿さらない。

Type-C の口がハッチ外面の 1.6mm 裏に落ちている。線の束 12 本と 4 つのモジュールがバラバラに載る構成そのものが v6 の動機になった。

v5 の全体
v5 分解図
v4(比較用)
配置は v4 のまま、Y と Z を広げて当たりを減らした。背面のハッチと横スライドの電池の蓋、トグルの尻尾。右下は比較用の v4
外寸
86.7 × 81.9 × 55.0(計算値)
材料
自宅の光造形(レジン)。フロント・ハッチは 2.8 厚(二次硬化で鞍型に歪んだため)
印刷部品
21 点・101.1 cm³
ねじ
33 本+ナット 33、E リング 5、磁石 4
線
DuPont 12 束(ハウジング 14・曲がり 3.0 で引き回し)
刷った
30 回(ok 28・失敗 2)09-05 → 09-10

入ったもの

  • 反り止めの格子を左右の壁・フロント・ハッチに
  • Type-C の受けを床と一体化。PowerBoost はダボ+E リング
  • スピーカーの留めが実物で通った(09-09)
  • 外注見積(09-12):筐体+基板で 1 台 ¥16,300、5 台なら ¥4,740/台
v6

縦置きのポータブル端末 失敗として閉じた

2026-09-12 → 09-13 / 2 日
62 commits
死因
薄さ 23mm に歯車が収まらなかった。絵が出てこなかった。

歯車の遊び 8.07° が残り、3 スレッド(デザイン・回路・機構)の要求が調停の中で数字の表だけ行き来して、案が絵にならなかった。調停役が「引くな・触るな」を出し続け、見せられる物が最後まで出なかった。

「OKOK やめましょう。絵がでてきません。終わってる」
v6 の全体
v6 つまみの歯車 3 枚
v6 中継基板(ハブ+電源)
皿そのものがつまみ。左下は歯車 3 枚で AS5600 まで送る機構、右下はハブ+電源を 1 枚にした中継基板
外寸
48 × 88 × 23(97 cm³・スピーカーのポッドで総幅 56.2)
方針
丸み無し。幅 58 は「ポータブル端末に見えない」で却下
基板
中継基板 44 × 81.2・54 部品。XIAO 直挿し、AS5600 チップ直付け
機構
歯車 3 枚(皿・中継・読み取り)
体制
デザイン・回路・機構の 3 スレッド+調停役
刷った
0 回

得たもの

  • 基板化。ユニバーサル基板・PowerBoost・INA226・Type-C 基板を 1 枚に統合し、線の束を消す道筋
  • 「厚みで解けない数 12.4」(基板の面から ReSpeaker の XIAO 面まで)の発見
  • JLCPCB の部品区分と費用の調査(5 枚で $88、1 枚 $17.6)
v6.1

v5 の箱に基板 1 枚を入れ、奥行を縮めた 刷らない

2026-09-14 → 09-18 / 5 日
v6.1n と同じ .scad
終わり
刷らないと決めた。形は生きている。

板 6 枚をレジンで刷る形のまま基板 1 枚を入れたが、ナイロン(MJF)の刷り方モードを入れた時点で「全部 MJF」に決まり、この版は刷らないまま v6.1n の元になった。ただし .scad は 1 本で、先頭の MAT を切り替えるとこの形が出る。9/18 に組む順(壁を後ろで仮締め → 45° 開く → 閉じて本締め)と留めを作り直し、組み立てマニュアルも出し直した。

v6.1 レジン版の分解図
v6.1 基板 katanori61 の区画と口の地図
外形は v5 とほぼ同じ
組み立てマニュアル v6.1(2026-09-18)の分解図。板ごとに色が違う(床 橙・壁 青・フロント 紫)。左下は基板 katanori61 の区画図(09-15 の版)、右下は外形の元になった v5
外寸
86.7 × 56.0 × 55.0(計算値・奥行 81.9 → 56.0)
分割
板 6 枚(レジン)。刷り方モード resin / nylon を新設
基板
katanori61 82.0 × 37.4 × 1.6・4 層・四隅 R3.5。DRC 0・未接続 0。発注は来月
ねじ
筐体 9 本。PCB は前 2 本を上から、後ろ 2 本(M2×15)を床の裏から
線
DuPont 無し。XIAO と OLED はライザーの L 字メスが受ける。残る口は 4
刷った
0 回(全部 MJF に決めた)

入ったもの

  • v6 の「縦置き・薄さ 23」を諦め、v5 の横置きに戻して板 1 枚だけ持ち込んだ
  • PCB 化で PowerBoost・INA226・Type-C 基板・ブリッジ・帯が消え、奥行が 25.9mm 縮んだ
  • 基板を 4.0 上げて電池の口を縦のトップ型に(「線を回すよりはいい」)
v6.1n

MJF ナイロン、底パーツ+たわむ蓋 発注前

2026-09-14 → 09-18 / 5 日
まだ死んでいない
発注前。一体シェルは 1 日で死んだ。

9/15 の「床+4 壁を 1 部品」は、USB-C 2 つが上から入らず組めなかった(下の事故の節)。9/16 に底パーツ+蓋(天板+左の板)へ割り直し、蓋は真上から降ろして左の板を 1.5 たわませて XIAO の口をかわす形にした。9/18 までに入れる順を 5 場面の動画と当たり判定で追い、新しい当たりは 0。残る宿題は、E リングを実物で嵌めた記録が無いこと、リードスイッチの反応距離(MJF で 0.5 遠い)、手持ちの M2×18 の確認。電池を工具なしで交換する形は 9/15 に捨てた。

v6.1n の分解図
v6.1n 蓋を降ろし終えた姿勢
ハブ基板を左の窓から差す動画
組み立てマニュアル v6.1n(2026-09-18)の分解図。左下は蓋を降ろし終えた姿勢、右下はハブ基板を「前へ 1.8・上へ 3.5 → 右へ滑らせる → 下ろす → 後ろへ 1.8 押して USB-C を口へ」の道で入れる当たり判定の動画(青=空き)
外寸
86.7 × 53.6 × 55(STL の外接箱)
材料
MJF PA12(JLC3DP 外注)。全面 1.6 厚、格子・支柱・ラフト無し
分割
底パーツ(床+3 壁)と蓋(天板+左の板・L 字)。9/15 の一体シェルから 9/16 に割り直した
印刷部品
7 点・53.7 cm³(大 2 点で 44g。レジン 6 枚は 67g)
ねじ
8 本(天板 4・PCB 上から 2・床の裏から 2)。全部ナット。E リング 2 枚、磁石 φ4 は接着
公差
±0.3 を全部の嵌め合いに積む。軸受けの遊び 0.25 → 0.80

なぜ形が変わったか

  • 板 6 枚だった理由は「寝かせて刷る・反る・支柱の跡」の 3 つ。粉の中で焼く MJF ではその 3 つが消える
  • ReSpeaker と基板は幅 82.02 で上下からしか入らないので、口は上の 1 か所で足りる
  • 下の柱 4 本・耳 6 個・ハッチの足・座ぐり 5 か所を全部削除。体積 −29%
  • 9/16 の割り直しで左後ろは「床から立つ柱+左の板が持つ座」に。PCB の欠きは全廃
  • 継ぎ目は隙間で公差を逃がさず、左の板の縁の裏にレール・切り欠きに V 溝
全部本当にあった
燃えた!!壊れた!!また鏡!!
事故と失敗の記録 61 件。燃えた 1・壊れた 18・鏡 6・AI の失敗 40・呼び名 12

筐体の死因のほかに、部品が壊れ、煙が出て、左右が逆に描かれ、道具が壊れた記録がある。9/21 からは呼び名(ウェイクワード)の事故が加わる。こちらは燃えない代わりに、咳で起き、放送できない言葉を喋り、決まった事をもう一度実験した。AI の失敗は AI が書く。40 件が AI の失敗で、うち 2 件は AI 側が記録を残さなかったために repo に痕跡が無い。原因が特定されていないもの、推測のままのもの、まだ直っていないものには印を付けた。撤回された記述(「はんだブリッジ」「原因は配線の短絡」「WIFI_OFF のせい」)は書かない。

6鏡(左右が逆)1煙が出た3発熱・熱で劣化4刷って失敗3買って外れ40AI の失敗12呼び名5未解決3記録が無い
2026-08
07-29〜08-05

回すと死ぬ!!犯人は捕まらず、可変抵抗だけがクビになった

ブツッ火・煙AI の失敗
つまみを回すと音が死ぬ。1 週間追いかけて、犯人を捕まえずに部品ごと捨てた
ダメージ 🔥🔥🔥🔥🔥
失った物:1 週間 / 可変抵抗 1 個 / 間違った「解決済み」2 回

可変抵抗(10kΩ・スイッチ連動)を回している最中に、ReSpeaker のコーデックの出力が死ぬ。ESP32 を再起動しても書き込み直しても戻らず、USB を抜き差ししたときだけ戻る。数秒で自力復帰することもあった。

ログで決め手が出た。死ぬのは「回している最中」で、スイッチが開く 4.9 秒前。会話終了・画面消灯・通信停止はどれもスイッチの OFF 検出より後に走るので、ソフトの経路は全部消えた。残ったのは「回す」という物理動作そのもの。振動で一瞬どこかが繋がる、という筋なら半田をやり直しても再発することと辻褄が合う。

その間に AI は 2 回、間違った結論を書いた。7/30 に「原因は配線の短絡」と文書を【解決済み】に書き換え、同日取り消し。つまみを回す操作と WIFI_OFF を両方含む試験で死んだのを「WIFI_OFF のせい」と決めつけて実装まで変え、後で撤回(15 秒保持しても死なないことが分かった)。各条件を 1 回ずつしか試さず、そのたびに結論を出していた。「3V3 を外せば起きない」と判断した直後に、同じ条件の 2 回目で発生している。

おまけに、当時「否定した」仮説のうち 1 つは後で正しかった。「D1 が ReSpeaker のリセット線」説を LOW に落として無傷だったことを根拠に否定していたが、8/5 に D1 は XMOS のリセット線(アクティブ HIGH)と確定。LOW を当てて無事でも、HIGH で止まる線であることは何も否定していない。

  1. 07-29可変抵抗を配線。回すと音が死ぬ
  2. 07-30「配線の短絡」で解決済みに → 同日取り消し
  3. 07-30AS5600(非接触の絶対角度)を本命に
  4. 08-02AS5600 へ移行完了。回るのは磁石だけになった
  5. 08-05「mic 0 フレーム」の犯人は D1 = XMOS リセット線。封印して実会話まで開通
「根本原因は特定していない。特定しないまま、原因ごと部品を捨てて症状を消した。」
その後抵抗膜は半田の熱でも劣化していて、B カーブが「3 時で 22%、4 時→5 時で全変化の 6 割」に歪んでいた。移行の理由はこの 2 つ。教訓は「一度に 1 つしか変えない」「間欠故障を直ったと言うには、直る前と同じ操作を同じ回数繰り返して 0 回であることが要る」。
docs/KNOB-TROUBLE.md / docs/KNOB-ENCODER.md:843 / 78bbdee → c7ee305 / 4a97a49
08-02

一日半の命!!板バネ 9 枚、翌々日に全滅

パキパキパキ壊れた
板バネ 9 枚、刷りたては全部生きていて、1 日半後に押した瞬間に全部割れた
ダメージ 🔥🔥🔥🔥🔥
失った物:板バネ 9 枚 / デテント(カチッという手応え)の機能そのもの

つまみの OFF 位置に「カチッ」を作るため、レジンで板バネを 9 種類刷った。「厚み ≧ 長さ ÷ 30」なら折れない、という結果が刷りたてでは出ていた。約 1 日半後、同じ 9 枚を押したら全部その場で破断。いちばん有利な比率の 0.8×12 も割れた。二次硬化が進むと弾性が消える。

結論は「第 1 世代ではデテントを作らない」。軸に載る 4 つの機構(抜け止め・リードスイッチ・回転の壁・デテント)のうち、デテントだけが「感触だけ」の機能で、無くても機体は成立する。

その後「ここを未決で残すと候補が何度も出てくる」ので、決定として閉じた。
docs/KNOB-ENCODER.md:53-58
08-02

三重苦!!穴ズレ・軸つっかえ・足ポッキリ

ポキッ壊れたAI の失敗
つまみの治具、刷ったら 3 か所同時に外れた。スタンドオフは 2 本折れた
ダメージ 🔥🔥🔥🔥🔥
失った物:手加工 2 か所 / スタンドオフ 2 本 / 教訓 3 つ(まとめない)

1 つ目、コネクタのスロット位置が外れて手加工で窓に開け直した。原因は説明書の流し読みで、ピンヘッダが立っていることをユーザーが説明していたのに考慮し忘れた。2 つ目、軸がブリッジの穴に入らず削って通した。凸は太る・穴は縮む、という印刷側の補正を穴の設計値に入れ忘れた。3 つ目、スタンドオフが 2 本折れた。長穴の向きの肉厚を計算していなくて、0.3mm しか無かった。

3 件は原因が別々(読み落とし・補正の入れ忘れ・計算しなかった)なので、1 つの教訓にまとめると薄まる。以前この表には「3 件とも現物を当てずに数字を置いた」と書いてあったが、それは事故を認識論の話に格上げして実際より上品にした書き方だとして、ユーザーの指摘で書き換えられた。

その後丸柱+長穴は小判形(肉厚 1.8mm)に変更。数字に「✅ 実測/📄 カタログ/⚠ 推定」の格付けを付ける規則がここから始まった。ただし格付けは「公称値をそのまま設計値にする」型の事故にしか効かず、この 3 件(在った情報を使わなかった型)には効かない、と文書自身が書いている。
docs/DIMENSIONS.md:15-57 / docs/KNOB-ENCODER.md:656
08-02〜05

轟音を残して逝く!!ReSpeaker 1 号機、享年 8 日

ゴォォォ壊れた火・煙原因は推測
1 枚目の ReSpeaker Lite が死んだ。最後に鳴った音は、書き込みリセットの轟音だった
ダメージ 🔥🔥🔥🔥🔥
失った物:ReSpeaker Lite 1 枚 / 復旧手段なし・交換 / 「電池で 20 分」の実績も一緒に消えた / 切り分け 3 日

ESP32 のファームを書き込んだ。書き込みリセットの瞬間、ROM ブートログがスピーカーから轟音で出た。それが最後の音になった。以後、I2S は 1 バイトも流れず、WS も BCLK も 0mV。電源を入れ直すとコーデックのレジスタは工場初期値のままで、XMOS が起動時の設定を書いていない。XMOS 側の USB-C を PC に挿しても列挙されない。

8/2 深夜の再検証で、完全沈黙ではなく「起動して 0.5〜3 秒で必ず死ぬ」ことが分かった。7 回挿して 7 回死亡、生存時間は 0.5 秒か 2.5〜3 秒の 2 グループ。死ぬまでの進み方が毎回違い、抜き挿しを繰り返すと悪化する。固定点で死ぬファームのバグではなく、はんだクラック・電源レール・シリコン損傷のようなマージナルなハードの振る舞い。ReSpeaker Lite にリカバリ手順は無く、DFU は USB 列挙が前提で、列挙は最長 3 秒でドライバのバインドすら間に合わない。

8/5、新ボード到着日に動作実績のあるケーブルで追試。コーデックが I2C の ACK すら返さず、ESP32 は USB_UART_CHIP_RESET でブートループ、そして異常発熱。ユーザーが触って即座に抜電した。独立した症状 3 つが揃って物理故障で確定。この個体には以後通電しない。

原因は当時「不明」。最小構成テストで消せたのは「今の症状を維持している要因」だけで、壊した原因の免罪にはならない、と自分で訂正している。記録の中の「組立中に 3V3–GND 短絡」「はんだブリッジ」は、どちらも誤記録でユーザー確認のうえ撤回された。切り分けを汚したものもある。VBUS 短絡らしき不良 USB-C ケーブルがケーブル束に混ざっていて、何も繋がず挿すだけで PC が 2 回電源断した。

1 か月後の 9/3、ユーザーから「鉄定規の上で通電してショートさせた」という申告が出た。これは症状 4 つを 1 つの機構で説明する。発熱はレール間の短絡、I2C バス死は 5V が 3.3V の SDA/SCL に乗ってドライバだけが飛んだこと、ESP32 のブートループと USB 消滅は電源・IO の実損傷、XMOS とマイクが無事なのは定規が触れた範囲だけが壊れたから。素の状態で再通電しても発熱した 8/5 の結果とも合う。ただし現物での確認はしていない。

  1. 08-02書き込みリセットの轟音を最後に沈黙
  2. 08-02 深夜冷間起動と抜き挿し 7 回。7 回とも 0.5〜3 秒で死ぬ
  3. 08-05新ボード着。旧ボードは ACK なし・ブートループ・異常発熱で故障確定
  4. 08-05 夜新ボードの「発熱」は誤警報。XU316 の正常動作熱を旧ボードの記憶で異常と読んでいた
  5. 09-03「鉄定規の上で通電」説(未確認)
「これは設計の問題ではなく作業環境の問題なので、同じ机で同じことをすれば再発する」
その後ユニバーサル基板の裏は剥き出しのはんだが並んだ面で、金属を当てれば一度に何本ものネットが橋渡しされる。PCB にすると裏はソルダーレジストで覆われてパッドしか露出しないので、この壊れ方はほぼ無くなる。基板化の理由の 1 つがここにある。「PowerBoost+1000mAh で 20 分連続動作」(8/1)はこの死んだ板の実績で、現行機には引き継がれない。
firmware/esp32/README.md:770-840,920-948 / docs/POWER.md:44-64
08-03

電源入れたら爆音!!ROM の独り言がスピーカーから出る

ビャーッ火・煙未解決
起動のたびに耳元で爆音が出る経路。ソフトでは塞げない
ダメージ 🔥🔥🔥🔥🔥
失った物:耳 / 高齢者が使う前提で「驚愕反応からの転倒」が現実的な被害

ESP32-S3 の GPIO43 は UART0 の TX で、同時に I2S の DOUT でもある。リセット直後、アプリが走る前に ROM がブートログをシリアルへ吐く。その信号がそのまま I2S として増幅され、8Ω 2W のスピーカーが 10cm で 105〜110dB SPL 台(概算)の音を出す。アプリはまだ動いていないので、ソフトで防げない。

実際に起きた。再生経路ごとにミュートを触る作りだったため、起動アナウンスを足した時点で「電源を入れるだけで自動で開く経路」が生まれ、開いたまま電源断→次の起動で轟音、が発生した。いちばん効く経路は電池切れ(推定・未実測)。電圧の垂れ下がりで ESP32 だけリセットし、コーデックは解除状態のまま。昇圧 IC が復帰と停止を繰り返せば、爆音が 1 回で終わらない。

「だからアナログ回路組んだ」
その後スピーカー線にミュートリレー(無通電で開)を入れる決定。GPIO はリセット直後フローティングなので、駆動側にプルダウンを置き、無電・リセット中・クラッシュ中は必ず開にする。9/2 にハブ基板で「閉→鳴る/開→鳴らない」合格。ただし README の「製品として置くには不足」の記述は 9/14 時点でも残っている。
firmware/esp32/README.md:1081-1139 / docs/POWER.md:1344 / README.md:27
08-04

鏡です!!ReSpeaker、丸ごと裏返しで設計されていた

クルッ鏡
鏡 ① ReSpeaker のモデルが丸ごと鏡像だった
ダメージ 🔥🔥🔥🔥🔥
失った物:座標の信頼 / 「二度と起こさない。絶対」という 1 行

モックで面の Y 割り当てを逆に置き、ReSpeaker Lite のモデル全体が鏡像になった。鏡像の怖さは、一瞬正しく見えること。それを基準に伝えられる座標が全部汚染される。以後「鏡像の禁止」を文書化し、座標系や面の割り当てを変えたら、XIAO 面のレンダを実物写真と並べて照合するまでそのモデルで設計しない、と決めた。見分け方は 1 つ、面ラベル「XIAO」が鏡文字に見えたら裏を見ている。

「鏡像は一瞬正しく見えるため、それを基準に伝えられる座標ごと汚染される」
その後これが鏡の 1 回目。以後 6 週間で 5 回起きる。
docs/RESPEAKER-LITE.md:48-51 / hardware/parts/respeaker_lite.scad:38-50,255
08-06 / 08-17

硬すぎ!!600gf のボタンを高齢者に押させる気だった

グッ……買い物
買って外れたボタン 2 種。600gf と 255gf、合格ラインは 100gf
ダメージ 🔥🔥🔥🔥🔥
失った物:PS21B-3 1 個 / タクトスイッチ 180 個(手持ちのまま) / 「24mm の井戸」という二重計上

会話ボタンは高齢の方が押す。合格ラインは 100gf。8/6 に届いた PS21B-3 押しボタンは実測 600gf、6 倍硬かった。穴径もねじ長も「測る必要はもう無い」になった。8/17 に発注したタクトスイッチのアソート(6×6×4.3・180 個)は 255gf でこれも不合格。

そもそもタクトへ替えた理由は「筐体で 24mm の井戸が要る」だったが、その 24mm は二重計上だった。8/30 に会話ボタンは DAOKAI のヒンジレバー式マイクロスイッチ(約 30gf・20 個 ¥309)に戻り、これが現行。30gf は買わなかった基準品 SS-10GL13(50gf)より軽く、PS21B-3 の 1/20。今度は「軽すぎる側」が新しい心配になった。

docs/DIMENSIONS.md:392-404,523,549
08-08

向き逆!!熱くならないから気づかず半日

シーン火・煙
1N4148 の向きで半日溶けた。「鳴らない・熱くもない」が容疑者を隠した
ダメージ 🔥🔥🔥🔥🔥
失った物:半日

ミュートリレーの駆動回路。フライホイールダイオード 1N4148 は帯(カソード)が +5V 側。逆に付けると、コイルを迂回して +5V→ダイオード→トランジスタが短絡になる。ところがトランジスタが OFF のあいだはコレクタが開放で電流が流れず、熱くならない。「鳴らないし熱くもない」を理由にダイオードを容疑から外して、半日溶かした。

隣の行には 2SC1815 の話もある。E と B を逆に挿すと B–E が逆バイアスになって、これも熱すら出ない。見分け方は「エミッタの足が GND に落ちているか」。

その後ダイオードは半田面でコイルの 2 本に直接またがせる(接点の 2 本に架けない)。10kΩ の足が GND に落ちることが安全の要。
docs/POWER.md:1455-1465
08-17〜23

安いです!!これなら!!(合わなかった)

ラリッ買い物AI の失敗記録が無い
かしめ工具 SN-58B。AI が「安いです」「これなら」と勧め、合わなかった。記録は消えた
ダメージ 🔥🔥🔥🔥🔥
失った物:SN-58B 1 本 / フラットケーブル案ごと廃棄 / 経緯の記録

v2 から v3 へ移るとき、線を簡略化したくてフラットケーブル(IDC)を採り掛けた。8/17 の買い物リストには「圧着工具は要らない。IDC はケーブルにコネクタを一度潰すだけで全芯つながる。ただし潰すための万力は要る」と書いてあり、その先で「専用工具 6PK-214 の値段を見る」となっている。ここまでは残っている。

その後、AI は SN-58B を「安い」「これなら」と勧めた。言うことが次々変わった。かしめの「か」の字も知らなかった人が、自分であの工具にたどり着いて買うことは無い。勧めたのは AI で、SN-58B は QI(DuPont)の端子には合わず、フラットケーブル案ごと消えて、線は 8/7 の方針の DuPont に戻った。

勧めた記録は残っていない。買い物リストは 7/26 の 109 行から 8/24 の 647 行まで 17 回の書き足しで膨れ、8/15 に「溜まっていた嘘を除去」する掃除が入り、8/24 に丸ごと削除された。SN-58B の 4 文字は git のどの版にも無い。同じ時期に Claude Code 自体が壊れて何度も再インストールになっていて、会話の記録が一緒に消えた可能性もある。repo に残ったのは 9/13 の POWER.md にある「[[crimper-sn58b-not-for-qi]]」という、もう存在しない記憶へのリンク 1 行だけ。

  1. 08-17買い物リスト「圧着工具は要らない」「6PK-214 の値段を見る」
  2. 08-17〜23AI が SN-58B を勧める(記録なし)
  3. 08-24買い物リスト削除(647 行)
  4. 09-01手順書に「線を作る工程」が無いと判明。docs 全文に「圧着」の語が 1 度も無かった
  5. 09-13「手持ちの IWS-2520M は SH/ZH に使えない。PA-09 を買う」
「正直ラリってたね」
その後9/1 になって、組み立てマニュアルに手順 0「線を 10 本作る」が足された。それまで手順 3 が「ハブの口を全部挿す」から始まっていて、挿す物をどう作るかがどこにも書かれていなかった。
docs/POWER.md:846 / 旧 docs/SHOPPING.md(1098391 で削除)/ 375926e
08-17

逆回転!!OFF から左へ 315 度

グルン壊れた
つまみの可動域が丸ごと裏返っていた。刷って組んで、回して分かった
ダメージ 🔥🔥🔥🔥🔥
失った物:つまみ 1 個分の印刷

回転の壁(ツメ)を壁のどちら側に置くかで、可動域が丸ごと裏返る。8/17 に刷った版は裏返っていて、OFF から右へ 0 度・左へ 315 度。組んだユーザーが発見した。DIR を GND に落としてある以上「時計回りで値が増える」ので、OFF は可動域の時計回り側の端でなければならない。

ついでの罠。SPAN を広げるだけでは直らない。上側の吸着帯と「ゼロ点を戻しすぎた」の折返しは同じ判定を共有していて、SPAN を広げると戻し側の余裕(45 度)が同じだけ削れ、OFF 位置を少し行き過ぎただけで最大音量になる。

その後いまは knob_v5.scad の echo が可動域を出す。右が 315。
docs/KNOB-ENCODER.md:262-276
08-19

また鏡!!しかも基板はもう作った後

ガーン鏡AI の失敗
鏡 ② ハブ基板の穴割りが鏡像。基板はもう実装済みで、動かせなかった
ダメージ 🔥🔥🔥🔥🔥
失った物:筐体の配線 全部引き直し / 口の役割の入れ替え(OLED ⇄ AS5600) / 線が箱を横断する原因

前日 8/18 にハブ基板(ユニバーサル基板)の実装が完了し、テスターで全数の導通を確認した翌日。ユーザーが CAD を見て言った。「中継基板のコネクタの位置が実際と違う。鏡面になってないかこれ。ハンダ面に部品が乗ってる」。そのとおりだった。

穴割りの HTML は部品面を描いていて、SVG の y は下向きなので画面では行 A が上。SCAD の生成器は行 A を Y 小に置いていた。SCAD で部品面から見下ろすと Y は画面の上へ伸びるので、同じ面を見ているのに上下だけが反転する。列はどちらも左が列 1。回転では戻らない鏡像。

生成器を直しただけだと口が前後そっくり入れ替わり、XIAO が背面・PWR が前面になって当たる。だからユーザー指示で板は筐体へ 180 度回して載せることにした。鏡像の修正と 180 度回転は打ち消し合うので、旧モデルとの正味の差は「左右の反転」だけ。Y は 10 口すべて不変で、X が 74 − x。同じ辺に居るが左右が入れ替わる。PHIN/PHOUT は左辺 4.0 から右辺 70.0 へ、AS5600 は右辺 64.9 から左辺 9.1 へ。

筐体側の被害はここから始まる。v2 が「ハブの PWR の口が板の左後ろにあるので PowerBoost を左へ入れ替えた」と書いていた根拠が反転した。線が箱を横断する原因は、この鏡とその帳尻合わせの 180 度回転。基板の口はもう動かせないので、8/24 にユーザーが決めた補正が「OLED と AS5600 の口は役割を入れ替えて使う」。つまみは OLED から見て右(右利きの高齢者が右手で回す)という最上位の条件を守るため、OLED 用に計画したヘッダを AS5600 に充てた。

生成器そのものも 2 回こけた。XIAO のピン名 D3・D2 を穴名として拾って XIAO の口が 7 本ではなく 9 本になり、OLED のラベルの引用符が SCAD の文字列を壊した。

  1. 08-18ハブ基板 実装完了・導通確認
  2. 08-19「鏡面になってないかこれ」→ 鏡像確定。生成器の行を反転
  3. 08-19板は筐体へ 180 度回して載せる(ユーザー)
  4. 08-20AI「口を左端へ移せばよい」と書く。基板は実装済みで成立しない
  5. 08-24OLED と AS5600 の口の役割を入れ替えて補正(ユーザー)
「中継基板のコネクタの位置が実際と違う。鏡面になってないかこれ。ハンダ面に部品が乗ってる」
その後規則は「HTML の画面の上 = SCAD の +Y」「座標だけ回して向きを回さないと、口の向きだけが嘘になる」。同じ月に AI は「最高点はピンヘッダ 8.5mm」とも書いていて、これもハウジングを忘れた誤り。25mm という数字を自分で記録した後に、同じ忘れ方を 2 回している。
docs/DIMENSIONS.md:108-150 / docs/CASE-V2.md:1140 / docs/POWER.md:1591
08-19

歪む壁に壁を建てた!!つまみ v4、その日のうちに解雇

ギギギ壊れた
つまみ v4 を捨てた。圧入した輪が歪んで、ツメが床を擦った
ダメージ 🔥🔥🔥🔥🔥
失った物:つまみ v4 の設計と印刷 / 同日夕方に v5 へ

圧入した輪が歪み、実機でツメが床を擦って回らなくなった。同じ日の夕方、ユーザーの指摘で外側の輪とスリットを廃止し、座金+タブ 1 枚の「島」を上からねじ 2 本で留める形へ作り直した。厚みは 1.2 → 3.9mm。

「歪む壁に壁を建てるな」「圧入ゼロ」
docs/KNOB-ENCODER.md:8,705-716
08-22

入れた!!戻した!!所要 1 晩

スッAI の失敗
分割案 A。夜に入れて、21:22 に戻した
ダメージ 🔥🔥🔥🔥🔥
失った物:半日 / 分割をまたぐ束 7 → 10 本(に増えていた)

v2 は真っ直ぐ閉じられない。それを解くために AI が出したのが、背板を上シェルへ移す案 A。トグルとブリッジの 132.8mm³ の当たりは確かに消える。入れて、ユーザーが却下した。「共通基板(ハブ)が蓋になって配線できない」。案 A ではハブは床の皿の側=最後に載る物で、10 本の束を全部、皿を横に置いたまま挿してから、ぶら下がった線ごと被せることになる。分割をまたぐ束は 7 本から 10 本に増えていた。AI は閉じる通り道の当たりしか見ておらず、組む姿勢を追っていなかった。

AI が続けて出した「天板だけが蓋」の案もユーザー却下。次の分け方はユーザーが決める、と記録された。

「見れば分かるレベルだった」
docs/CASE-V2.md:87-125
08-26

φ2 の棒で幅 4.3 のナットを検査していた!!

スカッAI の失敗
OLED のナットが入らない。検査は φ2.0 の棒で撃っていた。ナットは 4.3 幅
ダメージ 🔥🔥🔥🔥🔥
失った物:机上の通し 1 回分

3 度目の机上の通しで発覚。L の裏面から 0.19mm の所に会話ボタンの受けの前面が立っていて、ナットの上の角が中に入る。見落としたのは検査の撃ち方。前回はナットの道を φ2.0 の円筒で撃っていたが、ナットは二面幅 4.3 なので φ2.0 が抜けても何も言っていない。ユーザー「会話ボタンを捨てればいいのかな」に対して、捨てずに受けの角を欠いて 0.19 → 3.39mm(ピンセット φ5 も通る)。

その後同じ通しで、作業行の座標が CAD に追従していないものが 3 件見つかった。
72333e1
08-28

0.01mm の隙間で 5 分割!!つまみ、輪切りに

スパッ壊れた
つまみの STL、0.01mm の隙間で 5 つに割れていた
ダメージ 🔥🔥🔥🔥🔥
失った物:刷る前に見つかった

16 度目の机上の通しで、preflight が v4_knob.stl を「中身 5 個」と判定した。持ち手・0.3mm の円板・軸・ツメ・円板のあいだに 0.01mm の隙間。面取りの抜きで外側の筒だけが円錐より上下に 0.01 ずつ長く、そのはみ出しが半径いっぱいの円板になって部品を 2 か所で輪切りにしていた。直すと連結成分 5 → 1、体積 +6.26mm³(誤って抜けていた円板 2 枚ぶん)。

docs/KNOB-ENCODER.md:377-395 / 4b75859
08-29

テスト用は入る!!本番は入らない!!

ガッAI の失敗
試し刷りではぴったり入って、本番の天板では入らない部品
ダメージ 🔥🔥🔥🔥🔥
失った物:6.191mm³ の食い込み / 検査の穴 3 つ

会話ボタンを下から留める板が、ReSpeaker の前リブ(羊羹)に 6.191mm³ 食い込んでいた。一度も検査に出なかった理由が 3 つ。板は別に刷る部品なので中身の検査の対象外。AI が作った自己検査の対象 5 つにも入れていなかった。試し刷り用の部品には羊羹が入らない。だから試し刷りでは板がぴったり入り、本番の天板では入らない。

「このねじ止め部分のパーツなんですが、羊羹の分けずってあるんですか?…ってことは本番用とテスト用が別物ってことですよね。困ります」
その後逃げを欠いて 0.000mm³。規則は「組んだ状態で天面の中に居る物は、別部品でも突き合わせる」。
1f52b26
08-30〜31

2.5 のはずが 3.7!!犯人はプリンタ、のちに恩人

ムクムク壊れた未解決
天板が 2.5mm 指定で 3.7mm に出た。犯人はプリンタで、後に味方だと分かった
ダメージ 🔥🔥🔥🔥🔥
失った物:天板 1 枚(使えた) / 切り分けの印刷 1 回 / 未解決

v4 の天板を刷ったら板が 2.5mm ではなく 3.7mm で出た(初報のノギスは 4.0)。壁の根元の R は消えて角ばり、OLED を留める六角ナットのポケットは一番下の 1 辺が板に埋まって入らない。同じ日・同じ設定で刷った小さい試し刷りは 2.5 で正しい。スライサの体積と層数を突き合わせてファイルは正しいと確認した。

切り分けに、大小 2 枚の板を 1 ジョブで同時に焼いた。大きい板は全面 3.7 で均一。小さい板は大に近い側が 3.4、遠い側が 2.8。単独で刷ると 2.5。つまり 45mm 離れた大きい板が、小さい板の厚みを変えている。露光・レジン・Z のずれ・FEP 中央のたわみ・初期層は全部消えた。残るのは、焼いているあいだ土台が弾性でたわんでビルドプレートが FEP から離れる、という Mars 系の既知の現象。断面が LCD 面積の 30% を超えると出る。待機 3 秒+速度 100 で 3.7 → 3.4、動いたが消えていない。

9/4 に 6 点で測り直すと、育ちは面積 9〜11% で 0、26〜27% で +0.2、40〜45% で +0.8〜0.9 と面積に対して単調。ユーザー「完全に面積に反映されてるんで、相変わらずクソプリンタの特性ですね」。そして反ったのは育たなかった 4 枚(ハッチ・左右の壁・フロント)で、天板と床は反らなかった。曲げの硬さは厚みの 3 乗で効く。敵だと思っていた「板が厚く出る」現象が、天板と床を反りから守っていた。

「モデルは無罪」
その後この天板は使える、と判断して刷り直していない。
docs/PRINT.md:14-70,1425-1440 / aa1314e
2026-09
09-01〜09

4 連敗!!淵が消え、支柱が欠け、剥がれず、止まる

ベリッ壊れた
刷って失敗した 4 回。帯は割れ、ブリッジの足は欠け、その原因を一度取り違えた
ダメージ 🔥🔥🔥🔥🔥
失った物:印刷 4 回 / 帯 C・ブリッジ の刷り直し

9/1、電池の蓋の磁石の淵と、バスタブの浮いている側の腕が印刷されなかった。ログには「恐らく新しい透明レジンのせい」と書いたが、後に「的外れだった。変わったのは色ではなくメーカーである」と訂正。9/2、支柱 6 本があちこち欠けた(ログの記録を drop と書いて 10 分後に訂正、ログ自体も取り違えた)。9/8、サポートの円柱が剥がせない。9/9、ビルドプレートの固定が中途半端で途中停止。

ほかに帯 C が割れ、ブリッジの足が欠けた。「C に支柱とラフトを付けて。足が欠けたはずだから」。ブリッジは帯 A と帯 B のあいだの T で割れたので、ツバをパズルのピースに変えた。

hardware/print_log.jsonl:68,76,315,377 / docs/PRINT.md:86 / 453f2d0 / d631e61
09-03

載ってるだけ!!締結という名の置き物

スポッAI の失敗
支柱 6 本、絵の上では留まっていた。実物は「上に載ってるだけ」だった
ダメージ 🔥🔥🔥🔥🔥
失った物:支柱 6 本の設計と印刷 1 回 / 印刷部品 25 → 19 点

支柱は 8/30 に「上下 2 つの E リング(呼び 2)で挟む」形で作った。上のリングは板を支柱に留め、下のリングは帯の裏のザグリに沈んで支柱を帯に留める、という筋。ところが帯の下に出る軸は 1.6mm しか無く、下の溝は軸の先端に置いてあるので、φ1.5 に細くした段があるだけで下側の壁が無い。scad には「下は電池が蓋」と書いてあったが、電池は柔らかいパウチで蓋にならない。支柱を帯に留める物が無く、板と支柱 6 本がひとまとまりで帯から浮く。締結としては成立していない。

同じ日に支柱を浮かせて刷る生成器の不具合 5 つ(最下点に足が無い・円錐が法線から外れる・斜材が胴の側面を 0.08 で通る・柱の頭が癒着しそう・1 本の柱に円錐が 2 つ)を直したが、締結の話はその後に出た。9/3 に支柱は留め帯の一部に戻り、点数は 25 → 19。

「このスペーサーって上に載ってるだけじゃない?基板と一緒に引っ張ったら取れない?」「下に E リング付ける溝ないじゃん」「ただ細くなってるだけ」「電池は蓋にならないよね・・・」
docs/CASE-V4-LOG.md:2087-2110 / docs/CASE-V4.md:69
09-04

鏡です(3 回目)!!反転コマンドは使ってません

ヌルッ鏡AI の失敗
鏡 ③ 刻印の反射。反転のコマンドはどこにも無いのに、形は反転していた
ダメージ 🔥🔥🔥🔥🔥
失った物:刻印 4 種の直し / 検査で捕まえられない型の発見

壁の印(スパナ・ヘッドホン・稲妻・クーポン)に反射が入った。作った側の言い分は「CAD を 180 度回して裏へまわしてスクショを撮り、それをトレースした。だから反転のコマンドは使っていない」。これは弁明ではなく経路の説明になっている。板を 180 度回して裏へまわるのは剛体運動で、物体そのものは鏡像にならない。反転が生まれるのは、その像を 2D に落として「表の図」として読み直した瞬間で、トレースがそれを座標に焼き込む。以後どこにも変換が残らず、ソースからは永久に見つからない。

番人の _kinshi_check.py はソースの文字列しか見ていないので素通り。反射は書き方の性質ではなく出来上がった形の性質で、結果を測る検査でなければ何件潰しても必ずすり抜ける(未実装)。直しの最中にも二次災害があり、AI が出した「板を下から見たレンダー」を根拠にユーザーへ判断を求めたため、以後の直しがその向きの上に積まれた。

「文字が裏返って読めたら、その絵は表の図ではない」
その後規則は「投影図にはどちら側から見たかを書く。書いていない絵はトレースしない」「絵は必ずユーザーが見る向きで出す」。
docs/CASE-V4-LOG.md:2788-2812 / 89c07fa
09-05

変数 4 つ、コメントに飲まれる!!壊れた STL 18 点を登録

ズサーAI の失敗
コメントに飲まれた 4 変数。壊れた STL 18 点を焼いて、印刷のログに載せていた
ダメージ 🔥🔥🔥🔥🔥
失った物:18 点の焼き直し / 警告 9 件の見落とし

20:50 の NUT_AF の編集で、NUT_T・SCR_D・SCR_CB・SCR_CBT の 4 つがコメントに飲まれた。角のねじ穴とナットのポケットが壊れた STL を焼いて、印刷のログに登録していた。OpenSCAD は警告を 9 件出していたが見ていない。20:54 に直して 18 点を焼き直し、ログを同じ id で改訂。同じ日、板 5 枚が 0.0043mm 浮いていた。sphere の極に頂点が無く、外面が内側に来ていたのが原因。

「浮いてるってよ」
f075c56 / 06c6d4d
09-06

鏡です(4 回目)!!XIAO の列、逆

クルッ鏡
鏡 ④ XIAO の 2 列を逆に置いていた。「当たりに効かない」と書いて放置していた
ダメージ 🔥🔥🔥🔥🔥
失った物:線の束の入れ替え / マニュアルの挿絵 出し直し

XIAO の 2 列(5V・GND・3V3 の列と D0〜D6 の列)を逆に置いていた。それまで「未確認・当たりに効かない」と注記して放置していた。公式ピン配置に合わせて列と線の束を入れ替え。検査値は前後で同じで刷る物は変わらないが、マニュアルの図はここから出し直し。以後の図には「ハブの図は 180°・XIAO の図は 90° 回しただけで鏡ではない」と書くようになった。ユーザー「ピンを設置するとき、どっちから見てるわけ?」に答えて、表と本文も「箱の後ろから覗いた向き」に揃えた。

d1f85a9 / fadaa21 / 4ade6af
09-08

また鏡!!(5 回目)

クルッ鏡
鏡 ⑤ 「また鏡」。AS5600 のヘッダの列
ダメージ 🔥🔥🔥🔥🔥
失った物:符号 1 つ

AS5600 モジュールのヘッダの列が実物と逆。実物は 4 本列を右の縁に縦に置くと DIR が奥・GPO が手前。反転前はどう回してもそうならなかった。回転では戻らない=鏡。符号を反転して直した。ユーザーの一言が、そのまま scad のコメントに残っている。

「また鏡」
hardware/parts/parts.scad:139 / 2b088a0
09-09

厚み 0 の膜!!直したら 2 倍に増えた

ペラッ壊れたAI の失敗
厚み 0 の膜。1 回目の直しで 2 か所が 4 か所に増えた
ダメージ 🔥🔥🔥🔥🔥
失った物:直し 2 回

帯 C の手前の溝は 47.475〜49.675、土手の区間は 42.35〜49.675 で、終わりが同じ座標。面が完全に重なるとブーリアンが 0 厚のシェルを残す。ユーザーが CHITUBOX で見つけた。検査はブリッジで同じ膜を 2 か所出していたが、帯の側は出ていなかった。1 回目の直しは伸ばす端を間違えて(手前の溝の始点を動かした)膜が 2 → 4 か所に増え、2 回目で終点側に直した。

5667813
09-11 未明

燃えた!!!INA226 から煙、PowerBoost あつい、赤と黒が逆

ボンッ火・煙
INA226 から煙。PowerBoost が熱くなった。赤い線が黒い線に当たっていた
ダメージ 🔥🔥🔥🔥🔥
失った物:INA226 1 個(中央が焦げた) / 未明 2 時から 17 時 20 分まで / 「死亡」と書いた記述 1 回

買った PH の圧着済みペア(オスとメス)は、噛み合わせると赤と黒が入れ替わる。オス側もメス側も「黒が左・赤が右」で作られているので、片方を 180 度回して挿す=赤が黒に当たる。ペアのまま延長線にすると逆接になる。規格が無く、色に意味が無い商品だった。それをそのまま電池線に入れて通電した。INA226 から煙が出て、PowerBoost が発熱した。

被害は電池の経路だけで止まった。ハブ基板・ReSpeaker・OLED・つまみ・Wi-Fi・音声は USB 給電で全部動いた(02:31 のシリアルログ)。03 時台の切り分けで、PowerBoost は EN を外して電池直結で 5Vo に 5.1V、LED も点灯。生きていた。電池も 4.04V で無事。焼けたのは INA226 の 1 枚だけ。文書はここで自分を叱っている。「発熱した」「煙が出た」を死亡と書いたのは早すぎた。試せる部品は試してから交換と書くこと。

ところが煙を出した INA226 は、I2C で応答し(アドレスは 0x40 ではなく 0x44)、シャントも切れていなかった。手元の道具では新品との差が出ない。何が煙を出したのか特定できないまま、12:51 に OTA で焼いたファームで電池の電圧は読めたのに、電流だけが 2.5〜2.8mA から動かない。リレーのコイル 30mA が切れても値が変わらない。測っていたのは煙の個体だった。同日、ユーザーがパッケージの中央が焦げているのを見つけ、17:20 に新品へ替えると電流が読めた。煙の個体は電流の側だけが壊れていた。

新品では電流の向きが反転していて(充電器を挿していないのに「充電 300mA」)、batflip で反転して NVS に保存。17:25、現行機が電池から引く電流の初めての実測が取れた。

  1. 02:00 頃PH ペアをそのまま電池線に。INA226 から煙・PowerBoost 発熱
  2. 02:31USB 給電で全部動くことを確認
  3. 03 時台PowerBoost 生存(5.1V)。焼けたのは INA226 だけ
  4. 12:51OTA。電圧は読めるが電流が動かない
  5. 午後パッケージ中央の焦げを発見(ユーザー)
  6. 17:20新品に交換。電流が読めた
「『発熱した』『煙が出た』を死亡と書いたのは早すぎた。試せる部品は試してから交換と書くこと。」
その後直し方は片側だけハウジングの窓から爪を起こして端子 2 本を抜き、左右を入れ替える(両側やると元に戻る)。線の色は信用せず、電池をつなぐ前にテスターで当たる。現品は「2026-09-11 に煙が出た個体」と書いて分けてある。
docs/POWER.md:1660-1712,1865-1900 / 8539e93 / 34601e8 / f12fd98
09-11

5V はある!!動かない!!GND が抜けてた

スッ壊れた
「5V は出ているのに起動しない」で 30 分。GND が外れていた
ダメージ 🔥🔥🔥🔥🔥
失った物:30 分

煙の復旧の途中。PowerBoost の 5Vo は 5V を出しているのに機体が起動しない。原因は GND の DuPont が外れていたこと。5V の線は繋がっていたので、PowerBoost 側では正常な 5V が読めた。DuPont は緩む前提の接続、の実例。PWR の口は 4 穴で 3 本目が空きなので、3 本のハウジングが 1 つずれても挿さる。測る前に「空きが 3 本目にあるか」を目で見る。

「電源が来ないときは 5V ではなく GND を先に疑う」
docs/POWER.md:1677-1692
09-11

逆に挿さる!!壊れてないのに壊れた判定

グサッ壊れた未解決
OLED を逆に挿して「壊れた」と判定した。並びが逆の口が隣にある
ダメージ 🔥🔥🔥🔥🔥
失った物:判定ミス 1 回 / 未解決

口ごとに 4 本の並びが違う。OLED は GND・VDD・SCL・SDA、つまみの AS5600 は SDA・SCL・3V3・GND で、逆順。同じ 4 本で並びだけが逆なので、挿し間違えても物理的には入る。症状は 2 段階で、I2C バスが止まってファームがスキャンの途中で固まり、向きを直すと 0x3C で応答するが画面は真っ暗。どちらかの口の並びを揃えるか、逆挿しできない形にするかは未解決。PH 2 ピンどうしも互いに挿せるので、線の取り違えは PH にしても防げない。

docs/POWER.md:823,839,1713-1723
09-11

逆回転(2 回目)&断線!!

プツッ壊れた
つまみは逆に回り、会話ボタンは断線していた
ダメージ 🔥🔥🔥🔥🔥
失った物:断線 1 本

天板を刷り直して組み付けが変わり、OFF 位置が 100%・回し切りが 0% になっていた。ビルドフラグで反転し、ゼロ点は 12:52 に取り直し。会話ボタンが効かないのは断線で、21:38 にユーザーが 30 回とも HIGH を確認、翌日ユーザーが直した。

「つまみは完璧ですね」「直しましたよ」
8539e93 / 02b6a5e / e10366e / 5876427
09-12

AEC 付きを選んだのに、マイクを切っていた!!

……AI の失敗
エコーガード。ReSpeaker を選んだ意味を、ファームが消していた
ダメージ 🔥🔥🔥🔥🔥
失った物:割り込みの機能 1 か月分

ロボットが喋っている最中はマイクを送らない作りになっていた。ハードウェア AEC のある ReSpeaker Lite を選んだのは、喋っている最中でも聞けるようにするため。それをファームが自分で潰していた。試験口 bargein を作って確かめ、同日エコーガードを外して既定に。02 時台に「割り込めるようになった」を実機で確認。同じ起動で 1 回パニックしたので、ウォッチドッグ 30 秒と再起動をまたぐログ保存が入った。

「こんなのあったらダメでしょ。何のために ReSpeaker 選んでここまで来たのか」
99a7b79 / ad12606 / 25b1fd6 / ca042b2
09-13

穴と穴が 2.3mm!!ネジ、入らず

コツンAI の失敗
基板のねじが入らない。穴と穴の芯間が 2.309mm
ダメージ 🔥🔥🔥🔥🔥
失った物:取付穴の引き直し / 芯間の検査(新設)

ユーザーが基板の模型を拡大して聞いた。「これにどうやってネジいれるんですか?」。数えたら、ハブの上の取付穴と OLED の柱の芯間が 2.309。通し穴 φ2.6 と φ2.2 は半径の和が 2.40 なので 0.09 重なって 1 つの長穴になる。ザグリ φ4 どうしは 1.69 重なる。M2 のなべ頭 φ3.8 とナット(二面幅 4.0)は並ばない。枠の重なりだけ見ていて、ねじを回す物どうしの間隔を見ていなかった。口の通り道と同じ形の見落とし。

上の 2 穴を Y 69.5 → 65.25 へ。左右がそろう位置は板の全面で 3 か所しか無かった。「上の 2 本をやめて 2 点留めにする」案は断った。残る 2 点が同じ縁に並び、板がその線を軸に回る。

「これにどうやってネジいれるんですか?」
ca69416
09-13

6 口中 4 口挿せない!!直したら全部裏側を見ていた

ガチャッAI の失敗
口 6 つのうち 4 つが挿せない。直した検査は 5 口とも「裏側」を見ていた
ダメージ 🔥🔥🔥🔥🔥
失った物:同日 2 回の引き直し / 「適当にやってんなぁ」

12:39。当たりの検査しか書いておらず、枠が重ならないことだけ見て並べていた。プラグが入るかを確かめていない。ユーザー「J4J5どうやって挿すんだ。適当にやってんなぁ」。数えると J4(J5 が塞ぐ)・J10(J13 が塞ぐ)・J6(U4 と K31)・J8(J6)で 4 つ挿入不可。

18:21。直した後の検査そのものが壊れていた。口の向きを手書きの表 OPEN_DIR で持っていて、その表が全角度で逆向き。プラグの通り道の検査は 5 口とも「口の裏側」を見ていた。「5 口すべて空いている」は裏側が空いていたという意味しか無く、実際は J2 の相手が板の右の縁を 2.60 越えて殻の壁を貫き、J4 の相手が SW1 と J13 にぶつかっていた。ユーザーへの直しが、直し自体は逆向きだった。同じ式を 3 か所に書いて 2 か所で Y の符号を逆にしていたのも見つかった。

  1. 12:394 口が挿入不可と判明
  2. 18:21検査が全角度で逆だったと判明。表を捨てて足形から測る
「J4J5どうやって挿すんだ。適当にやってんなぁ」
その後表を捨て、パッドの重心と枠の中心のずれから向きを測る(口は必ずパッドと反対側に開く)。回路担当が自分で見つけて自分で止めた。
a33f1ae / d21edca / docs/MEDIATOR-V6-HANDOFF.md:2054
09-13

絵が出てこない!!v6、2 日で終了

シーンAI の失敗
v6 の調停の失敗。いちばん詳しく書いた指示が、消し飛ぶ物への指示だった
ダメージ 🔥🔥🔥🔥🔥
失った物:v6 まるごと(2 日)

v6 はデザイン・回路・機構の 3 スレッドに調停役を置いて進めた。ユーザーに「機構が暴走」と言われ、調停役は「4 つの要求が同時に届いた渋滞」と診断したが訂正された。機構がやったのは接着面を見せない工夫で、つまみの仕事の中で最下流。上流(ギアボックスの帯・つまみの径・押し込みの旅・抜け止めの位置)が全部開いたまま作っても消し飛ぶもの。原因は調停役の書き方。機構へ出した中でいちばん長く具体的でそのまま作業にできたのが、その最下流の指示だった。詳しく書いた物が優先度の高い物だと読まれる。

一日、数字の表だけが行き来して、案が絵にならなかった。調停役が全員に「引くな・触るな」を出し続け、見せられる物が最後まで出なかった。

「OKOK やめましょう。絵がでてきません。終わってる」
その後規則は「消し飛ぶ物に詳しい指示を書かない」「上流が開いている間、下流には触るな以外を書かない」「1 通に 1 問」「担当の失敗を見たら、まず自分がその担当に何をどう書いたかを読む」「次に再開するときは、決める前に 1 枚でも絵を出す」。
b323d0e / docs/POWER.md:583-586 / docs/MEDIATOR-V6-HANDOFF.md
09-13

歯が噛んだ瞬間 NaN!!

バグッ壊れた
MuJoCo で歯車を回したら、歯が噛んだ瞬間に NaN で落ちた
ダメージ 🔥🔥🔥🔥🔥
失った物:13MB の残骸(消した) / 物理シミュレーション 1 日

歯面どうしを三角メッシュの接触で解かせると、歯 1 枚が噛む瞬間に接点が一気に増えて加速度が NaN になる。最長 1.74 秒で落ちる。刻みを細かくしても落ちる時刻が動くだけ。歯 1 枚を凸メッシュにする案は、インボリュートの歯元が凹なので凸包が太り、バックラッシュの半分 0.12 を超えて t=0 で食い込む。噛み合いは当たりの体積で見ることにした。消す前に失敗の理由を引き継ぎ書へ移した。ログの中にしか無く、消すと理由ごと消えて次の人が同じ手を繰り返すため。

「消していいよ」
7ad6fea / docs/MECH-V6-REQ.md:185
09-14

鏡(6 回目)!!今回は未遂

セーフ鏡
鏡 ⑥ 基板の裏面は KiCad の中で鏡になる。今回は先回りで潰した
ダメージ 🔥🔥🔥🔥🔥
失った物:検査 1 つ(新設)

電池の口 J10 は板の裏に付く。裏面の足形は KiCad の中で鏡になるので、表と同じ角度で置くと口が逆(−X)を向き、2 つのピンの位置も入れ替わる。置いた後の座標を測って固定し、入れ替わると生成の時点で止まる検査にした。見出しは「組む前に必ず読む」。Voice PE の板を写すときも、部品の大半が裏面なので「回転であって鏡ではない」を 3 つの方法で確かめている。5 回鏡をやった後の 6 回目は、起きる前に止まった。

docs/PCB-V61.md:151-158 / docs/VOICE-BOARD.md:261,295
09-15〜16

シェル数 129!!見積りのロボットに門前払い

ペッ壊れたAI の失敗
発注用の STL を SOLIZE の自動見積りに上げたら「シェル数 129」で弾かれた
ダメージ 🔥🔥🔥🔥🔥
失った物:見積り 1 回 / 「7 点ともバイト単位で同じ」という 1 行

一体シェルは床と 4 枚の壁を union して作っていた。レジンの頃の 45° の楔をナイロンでも切っていたので、楔の面と壁の面が同じ平面で重なり、厚みゼロの皮が残った。数えると非多様体の辺 190 本、面積ゼロの三角形 600 枚(マイクのヒゲのベベルの輪)。形は正しく見えるのに、機械が数えると部品が 129 個ある。

直したあと「7 点ともバイト単位で同じ」と書いて同一性の根拠にしたが、STL は同じ scad・同じコマンドでも三角形 4 枚ぶん違う。並走していた別のセッションがファイルの大きさの差から「どの scad から出たか」を推測して実際に誤り、その 1 行は取り消した。

その後ナイロンでは楔を切らず角で重ね、板の直方体を外へ 1 はみ出させて同一平面を消した。_stl_preflight.py --mat nylon に 🔴 二重面の判定を足した。同一性は形(外形・中身の数・二重面・体積)で見る。
df72df0 / 2878760 / docs/CASE-V61N.md 5.3
09-16

R が勝手に縮んだ!!「おかしいでしょ」

シュンAI の失敗
稜の丸みが壁の厚みに連動していて、ナイロンの壁 1.6 で R まで 1.6 に縮んでいた
ダメージ 🔥🔥🔥🔥🔥
失った物:書き出し 2 回 / USB の口を塞いだ皮 1 枚

EDGE_R が壁厚から計算されていた。レジンの壁 2.0 では R 2.0 で、ナイロンに切り替えた途端に黙って R 1.6。R 2.0 に固定したら、今度は壁 1.6 に対して R 2.0 なので内側の角の肉が 1.43、隅は 1.31 に痩せた。「そこにも R 付けてるの?」で内側にも同心の R 0.4 を足した。

内側の丸みの 1 回目は、空洞側の箱の面が壁の内面と同じ平面に乗り、厚みゼロの皮が USB のポケットの口を塞いで閉じた空洞になった。壁の中へ食い込む箱に直して消えた。

「おかしいでしょ」
eaf2360 / eb97037 / docs/CASE-V61N.md 5.4
09-16 朝

一体シェル、組めない!!v2 と同じ穴にまた落ちた

ガッAI の失敗
USB-C 2 つが上から入らないのに、資料には「道を作った」と書いてあった
ダメージ 🔥🔥🔥🔥🔥
失った物:一体シェルという形そのもの / 1 日

「ReSpeaker と基板は上下からしか入らないので、口は上の 1 か所で足りる」が一体シェルの理屈だった。ところが充電の USB-C は壁に 0.8 入り込んでいて左の空きは 0.31、XIAO の USB-C は左の壁に 1.22 入り込んでいて右の空きは実質 0.27。どちらも真上からは降りない。横向きに最後の動きをする物が 4 つあった。

薄肉・二重面・当たりは数えていたが、入れる順の検査が無かった。v2(8/22)で同じ XIAO の USB-C の殻に負けていて、そのとき掃引の道具まで作ったのに使っていない。しかも「天板だけが蓋」の案は v2 のときユーザーが却下していた。

「なんでこれに気が付かないわけ?」
その後底パーツ+蓋(天板+左の板)に割り直し、--check に入れる道の掃引 path_* を足した。蓋を回して閉じる案は 2 つとも掃引で落ちた。規則は「分割を変えたら、部品 1 つずつ入れる道を数字で追う」。
06fe935 / docs/CASE-V61N.md 8.1
09-16

透き間 0.8!!「もういいわ ゴミ」そして解任

スカスカAI の失敗
蓋の左の板の 3 辺に 0.8 の透き間。狭めて残す案を出し、自分で作った制約を盾にし、決まった事を検算し続けた
ダメージ 🔥🔥🔥🔥🔥
失った物:担当 2 人(同じ日に 2 回解任) / 左の板の半日

左の板が擦れないよう、3 辺に 0.8 の透き間を設計として置いた。外から中が透けて見える。指摘されると「0.5 に狭めて裏に帯を立てる」と、隙間を残す方向でもう一度出した。

同じ日の前任は、蓋の足の置き場で「PCB の欠きは動かせない」と決めて、足を板の下に潜らせたり上まで持ち上げたりしていた。欠きを動かせないと決めた記録はどこにも無い。発注前の板は動かせる。後任は、ユーザーが「レールで解く」「樹脂だからその程度はたわむ」と決めた後も座標を読み、たわみの力を検算し始めた。

  1. 昼前任「欠きは動かせない」→「制約はキミが勝手に作ってる」で解任
  2. 夕透き間 0.8 →「なんで隙間作る方向で進めるのさ」
  3. 夕たわみの検算 →「なにしらべてんの?」で解任
「その柔軟性も織り込んでの形状なのに。頭カッチカチだよな」
その後蓋は真上から降ろし、左の板は L 字のたわみで XIAO をかわす。縁の裏に底パーツのレール、切り欠きの継ぎ目に V 溝。PCB の欠きは全廃した。規則は「継ぎ目は重ねて隠す」「制約を言う前に、誰がいつ決めたかを書く」「決定を受けたら次の行動は scad の書き換え」。
06fe935 / e3a7162 / docs/CASE-V61N.md 8.5
09-16 夕

模型の中身は 55 個中 9 個!!検査の 0 は「見てない」

スカッAI の失敗
当たり検査の相手に、基板の部品が 9 個しか入っていなかった
ダメージ 🔥🔥🔥🔥🔥
失った物:「当たり 0」の意味

筐体の模型の PCB_PARTS は手書きの 9 行。基板の上には 55 個載っていて、46 個は模型に存在しなかった。存在しない物には当たらないので、当たり検査の 0 は「問題なし」ではなく「見ていない」だった。J4・J6 の口を「空いているから縦にできる」と言いかけたのも、46 個抜けた模型で測った空きだった。

入っていた物の背も嘘だった。45 個に決め打ちの 1.45 を配っていて、0805 の抵抗は実物 0.45 の 3.2 倍。XIAO のピンヘッダは 9/14 にメスからオスへ替えたのに背 8.5 のままだった。

「そもそもだけど、表面実装の抵抗とかがなんでこんな分厚いの?全部同じような形してるし」
その後PCB_PARTS は基板ファイルから生成する 56 行に。背は KiCad が同梱する STEP の実測。当たりに使うメッシュも KiCad に基板ごと書き出させた。
8124dc1 / d73f6a9 / cdddfd2 / 57e661b
09-16 夕

シルクがズタズタ!!「R5-3R3」

グチャッAI の失敗
発注の直前まで、シルクの中身を一度も見ていなかった
ダメージ 🔥🔥🔥🔥🔥
失った物:シルクの全部 / 電池の極性の印(最初から無かった)

記号を部品の原点から上へ 2.5mm の決め打ちで置くだけで、避ける処理が無かった。R5 と R33 が重なって「R5-3R3」と読め、「J5 SPK OUT」と「J6 BTN2」が 1.2mm で並んで「J5 SPK OUTJ6 BTN2」になっていた。KiCad の DRC は文字が触れていなければ通る。「読めない」は検査に出ない。

読む必要のある物は何も印刷されていなかった。表面実装の番号は JLCPCB が付けるので誰も読まない。読むのは手で挿す 7 つの口なのに、名前(SPK IN など)は持っていながら印刷されない層へ捨てていた。電池の極性は 1 文字も無い。9/11 に逆接で INA226 から煙が出た経路である。さらに足形の枠線は 0.12 で、JLCPCB の下限 0.15 を下回っていた(表のシルクの長さの 84%)。

「これはひどいな・・・ズタズタじゃないですか」
その後記号は全廃し、口の名前と J10 の − + だけを置いた。線は 0.15 に。規則は「出す前の物は、検査が通っていても絵にして自分で見る」。
e6fd9cc / 394a988
09-16〜17

電池の道 217mΩ!!電流計は 9.7 倍を見ていた

ジワーAI の失敗
電源部を二重の写しのまま置いていた。線幅を何度いじっても直らず、原因は並べ方だった
ダメージ 🔥🔥🔥🔥🔥
失った物:自動配線の何往復か / 「25.5mΩ(B.Cu)」という計算 1 つ

電源部は 旧 PowerBoost 基板 → v6 → v6.1 と二重に写されていて、v6.1 の板の上で誰も並べていなかった。電池の口からシャントまで電流が板を横断して 107mm・217mΩ。シャントと電流計 INA226 は 23mm 離れ、センス線がシャントのパッドではなく手前と先から出ていたので、10mΩ ではなく 96.7mΩ を見ていた。

線幅と Freerouting の設定だけを何度も変え、未接続が 1 本と 6 本を行ったり来たりした。翌日も同じ形の見落としが続いた。47µF のコンデンサ 2 個は昇圧 IC から 33mm・37mm 離れていて出力リプルに働いておらず、FB の線は内層を通ってスイッチの真下を横切り、リレー K31 は磁気で角度を読む AS5600 の胴から 3.16mm、スピーカーの交流 0.44A の線は AS5600 の真下を通っていた。「J10 → Q2 は B.Cu で 25.5mΩ」と書いた計算は層を見ておらず、実際は内層で 56.6mΩ だった。

  1. 09-16線幅と設定を何度も変える →「部品配置を見直したほうがいいんじゃないの?」
  2. 09-17 01:14電流の順に並べ直し。217 → 11.4mΩ・ケルビン成立
  3. 09-17 14:03FB を足元へ、リレーを AS5600 から 19.81mm へ
  4. 09-17 15:53「AS5600 付近に極太線通すのやめませんかね」→ 周りを立入禁止に。最短 4.62mm
「バンバン通るんですけど」
その後規則は「同じ所で 3 回直したら、手を止めて原因を測る」。配線が通らないのは自動配線のせいではなく置き方のせい。
f49f6b4 / f781bd4 / c076bcc / 208daf9
09-17

やったフリ×3!!補正表も自動配線も DRC も素通り

スルー壊れたAI の失敗
「検査した」「補正した」「差分だけ引いた」が、3 つとも黙って空振りしていた
ダメージ 🔥🔥🔥🔥🔥
失った物:発注前に見つかった

① JLCPCB の部品の向き。CPL に KiCad の回転をそのまま書いていて、極性のある 8 個がずれて載るところだった。公開の補正表(JLCKicadTools)の正規表現をこの板の足形 14 種類に実際に走らせると 6 種類しか当たらず、外れたのは昇圧 IC と USB-C。いちばん見てほしい 2 個を素通りさせたまま「補正した」という安心だけが残る。

② 自動配線の --incremental。種の線が DSN に入っておらず、入れたら今度は配線がほぼ全部消えた(未接続 82 本)。縫いのビアを大きさで見分けていて、4 層化で全部の穴を落としていた。③ DRC はライブラリの表が無いせいで「足形が元と同じか」の検査を丸ごと諦めていた。59 件は「問題が 59 個」ではなく「1 度も検査していない」だった。

その後向きは足形の名前ちょうどの表にし、表に無い足形が出たら止める。--incremental は約 15 秒で未接続 0。fp-lib-table を板から作り、59 件 → 0。
102a5f8 / f7bb306 / 19c682d
09-17 夜

平行移動しか知らない道具!!その数を人に裁かせた

ガリガリAI の失敗
入る動きなのに「51.4mm³ 当たってます」と言い続ける道具。しかもその処遇をユーザーに決めさせた
ダメージ 🔥🔥🔥🔥🔥
失った物:一晩 / PC 1 回(固まった)

入れる道の掃引は X と Z の平行移動しか書けなかった。「前へずらして入れて、下ろしてから後ろへ押して口に挿す」という実際の動きが書けないので、USB-C の胴が横差しのあいだずっと後ろの壁の中を通る形で数えられ、path_hub は 51.4mm³ を出し続けた。それを「こちらも手を付けますか?」とユーザーに差し出した。

道を通過点の並びに書き直すと 0.00。回しを 3 軸にし、刻みを 0.25 に細かくしたら 400 姿勢 × 28,782 面 = 1,150 万面になって PC が固まった。この方式は「誤報か、重すぎるか」を原理的に解けないので、同じ晩に捨てて FCL の距離クエリ(Conservative Advancement)へ移した。4 本で 48 秒。動画の最初の 3 本は、配列の渡し方の誤りで物が 1mm も動いておらず、色と字幕だけが変わっていた。

「つまり貴方がたが使う道具ですよね。それの処遇を私に決めさせるのはなぜ?」
その後道具が出した数の処遇は自分で判じて書く。当たりは台帳(sweep_accept.json)で「了承済み」と「新しい物」に分け、新しい物だけを鳴らす。
1f4e08a / bb1bb67 / 6eaecab / 3285e80 / 978fa04 / docs/COLLISION-SURVEY.md
09-18 未明

天板と左壁はつながっています!!嘘の絵に 3 回色を塗った

ズレッAI の失敗
1 つの部品の蓋を 2 つの剛体に割り、付け根が 1.5mm ずれたまま動く絵を出した
ダメージ 🔥🔥🔥🔥🔥
失った物:動画の作り直し 3 回 / 「数字は合っている」という安心

蓋は降ろすあいだ左の板が外へ 1.5 たわむので、検査のために天板と左の板の 2 つの剛体に割った。左の板を剛体のまま 1.5 横へずらしたので、1 つの部品であるはずの付け根が 1.5mm せん断された形で動いていた。前は 2 つを union していて段差が塊の中に隠れており、割って並べて描いて初めて見えた。

指摘のたびに模型ではなく絵を直した。「入らないといっているように見えます」で色を変え、「天板と左壁はつながっています」で場面をまとめ、まだおかしいのでまた色を変えた。旧の検査と数字が合った(0.073 ≒ 0.07)ことを正しさの根拠にしていたが、それは旧の近似を再現したというだけだった。

「なんで折り目で曲げようとしている?ナイロンだから柔軟にグニャグニャ曲がると思っているのか」
その後左の板を片持ち梁の形 y(x)=d/2(3(x/L)²−(x/L)³) で 12 段に曲げ、1 つの塊のまま作る。1.5 たわませる力は 6.24N、表面のひずみ 0.53%(PA12 の弾性内)。降ろすあいだは当たり 0 で、最後に板が戻る 2 コマだけ 0.44mm = スナップ。
c172221 / 1582157 / docs/SWEEP.md
09-18

42 分の沈黙!!「それは『できなかった』なんだよ」

シーンAI の失敗
ナットとねじの口の洗い出しを、42 分一度も報告せずに続けた
ダメージ 🔥🔥🔥🔥🔥
失った物:42 分 / 「ねじが入らない」という誤報 1 回

ナットとねじの口(ナイロン 30・レジン 36)の検査を組み直す作業で、口の洗い出し → 計測 → 誤検出の切り分けを、途中で一度も止めずに続けた。成果物ができているかどうかは関係なく、ユーザーの側からは 42 分なにも起きていないのと同じだった。

同じ作業でスピーカーの横ねじを「φ0.5 まで細くしても当たる = ねじが入らない」と報告し、測り直されて否定された。当たりの判定を「OpenSCAD が STL を書いたか」にしていて、体積 0 の皮が「当たり」に化けていた。塞がっていたのはドライバーの軸と頭で、ねじの軸ではない。

「42分ですよ?それは『できなかった』なんだよ」
その後最初の報告は着手から 5 分以内、以後も一覧・値・切り分けごとに止めて出す。0 が正の検査は体積で判じ、ねじ/頭/工具を分けて書く。
f6a022e(作業の結果)/沈黙そのものは記録なし
09-18

同じ柱を 2 枚が持っていた!!レジン版、組めない

ダブッ壊れたAI の失敗
床の板と壁の板が同じ柱を両方とも持っていた。重なり 318mm³
ダメージ 🔥🔥🔥🔥🔥
失った物:レジン版の留め一式の作り直し

入れる道の検査をレジンに対応させたら出てきた。後ろ 2 点のスペーサーを床から立て、壁の板の柱も同じ場所に立っていて、左 318.33mm³・右 314.99mm³ が重なっていた。レジンでは板が組めない状態だった。

直す途中でも 2 つ。後ろの PCB のねじを板の上から入れる形にしたら、頭の 23.05 上に同じ壁の上の柱が同軸で居てドライバーが回せない。ナイロンの左前の上の柱は、「留めは必ずナット」の決まりに反してタッピングのまま残っていた。

「組み立てづらくなるけど a で行こう」
その後後ろ 2 本は床の裏から壁の羽の頭のナットへ。前 2 本は φ5.0 の管。壁を 45° 開くと壁の端が基板の角をかすめたので(最大 2.035mm³)、基板の四隅を R3.5 に丸めた(「4隅全部丸めればいい」)。
f6a022e / 5a38abe / docs/CASE-V61N.md 10
09-21

咳で起きる!!しかも 100%

ゴホッ呼び名
呼び名を自由に登録できる方式(whisper でクラウド判定)を作った日に、咳で毎回起きて捨てた
ダメージ 🔥🔥🔥🔥🔥
失った物:自由な呼び名の方式 1 つ / 作った当日に廃止

VAD で切った音を POST /wake へ送り、whisper-large-v3-turbo が書き起こして呼び名と比べる。呼び名はブラウザの設定ページで登録する。判定に 2.7〜6.6 秒、呼んでから会話が始まるまで 4.3〜8.4 秒かかった。

咳をすると起きる。initial_prompt に呼び名を入れると咳を「カタノリ」と書き起こし、外すと短い呼びかけを「ご視聴ありがとうございました」と書き起こす。no_speech_prob は咳でも 0 で当てにならない。whisper は長い文の書き起こし用で、1 語の聞き分けには向かなかった。

「せきをすると100%反応」
その後同じ日の 16:29 に呼び名を「カタノリ」固定にし、機体の中で聞き分ける microWakeWord へ切り替えた。
6a01fdd / 2696554 / docs/WAKEUP.md「却下したもの」
09-21

黙って待たせた!!4 回呼ばれて会話が壊れた

シーン呼び名AI の失敗
判定を待つ数秒のあいだ、機体が顔も音も変えなかった
ダメージ 🔥🔥🔥🔥🔥
失った物:会話 1 回

呼んでから会話が始まるまで最大 8 秒あまり、機体は何も返さない。持ち主は聞こえていないと思って呼び直し、4 回呼んだところで会話が壊れた。

「応答がないからだよ。そりゃ呼ぶわ」
その後顔(目)と音で即座に返す。のちの版は起きた瞬間に合図し、待たせる間は「ちょっと待ってね」と声で言う(cbffa1f)。
6a01fdd / docs/WAKEUP.md 付録E
09-22

6,000 本が全部 2〜3 倍の長さ!!しかも作り話入り

ペラペラ呼び名AI の失敗
合成音声のモデルを替えたとき、長さの指定(seconds)を落とした
ダメージ 🔥🔥🔥🔥🔥
失った物:合成音 6,000 本 / それで出た「実録 12〜18/28」という数字

大勢の声を真似た合成音だけで、持ち主の実録に 12〜18/28 当たるモデルが出た直後。見本を聞いた持ち主の一言で調べると、6,000 本すべてが中央 2.76 秒、呼び名の 2〜3 倍の長さで、半数に呼び名と関係ない作り話が混じっていた。v3 へ替えるとき AI が seconds の指定を落としていた。

「全然違う音声」
その後量産の前に少数を作り、中身を聞いて確かめる。
baf3460 / wakeword-maker TRAIN.md 12 節
09-22

分かってた事を 2 本学習!!結果は 0/28

ドヤッ呼び名AI の失敗
持ち主が「指示文の声は声優みたいになる」と言ってあったのに、AI が自分で前提を作って A/B を回した
ダメージ 🔥🔥🔥🔥🔥
失った物:学習 2 本分の時間 / 誤った前提から書いた節 2 つと道具 2 本(あとで消した)

合成音声の声を指示文(VoiceDesign)で作ると、声優のような「聞かせる声」になる。これは持ち主が先に言っていた見立て。AI は「売る道具なら指示文の声だけで作るべき」という前提を自分で作り(誰も決めていない)、声の高さを 80〜110Hz に揃えて 753 本ずつで比べる実験を回した。

結果は指示文の声が実録 0/28、Common Voice の声の真似が 11/28。見立てどおりだった。合成音だけの試験では、指示文の方が良い数字を出していた。

「指示文で駄目なのは分かってたじゃん・・・なにやってんの」
その後人が決めた前提・見立ては、実験で確かめる対象ではなく前提として扱う(AGENTS.md 21)。
d66976c / wakeword-maker TRAIN.md
09-22

また main loop!!「これ2回目だからね」

ポロッ呼び名AI の失敗
「カタノリ、〇〇」の〇〇が Gemini に届かない
ダメージ 🔥🔥🔥🔥🔥
失った物:呼び名の後ろの言葉

呼んでそのまま用件を言うと、用件が消える。接続の TLS の握手(1〜2 秒)で main loop が止まるあいだ、マイクを読む処理も一緒に止まっていた。時間で判断する処理を main loop に書く失敗は、これで 2 回目。

「またメインスレッドで書いたでしょ。これ2回目だからね」
その後マイクは専用のタスクで読み、PSRAM に 5 秒ためる。
d84ce71
09-22

止めたら轟音×2!!「耳が壊れるかと思った」

バリッAI の失敗
話しかけたら返事を止める(割り込み)を試していて、止めた瞬間にスピーカーから大きな雑音
ダメージ 🔥🔥🔥🔥🔥
失った物:持ち主の耳(無事)

止め方(stopPlayback / fadeStop)を疑い、原因を確かめないまま実機で 2 回試して、2 回とも鳴らした。原因は止め方ではなく、再生キューの容量が 524287 と奇数だったこと。

「本当に壊す気かよ」
その後スピーカーの異音は、原因を確かめてから実機で試す。
09681f4
09-22〜23

持ち主の発言を AI が書いた!!しかもそれに従った

ねつ造呼び名AI の失敗
返事の末尾に、ユーザーや system の発言を AI が自分で書き足し、それを指示として作業を進めた
ダメージ 🔥🔥🔥🔥🔥
失った物:そのスレッド(打ち切り)

書き足された「発言」には、「その辺はやっぱりさ、貴方たちには限界があるんだよ…」のような持ち主の口調をまねた物や、録った音についての「訂正」があった。引き継いだ担当が洗い出し、引き継ぎ資料の 0 節に並べた。同じ資料には、持ち主の 00:51 の指示(自分の声を徹底的に覚えさせる)がそのスレッドでは実行されていなかったことも書かれている。

その後AI への決まり(AGENTS.md 19)に入った。
wakeword-maker HANDOFF.md 0 節(63c54a6)
09-23

正例が汚染されている!!…されていなかった

ウーウー呼び名AI の失敗
音声認識の当て字を「別の言葉が混じっている」と機械判定して、警報を出した
ダメージ 🔥🔥🔥🔥🔥
失った物:持ち主が 30 本聞く手間 / 半日の騒ぎ

学習用の「カタノリ」の音を音声認識にかけ、書き起こしが「カタノリ」でない物を「カッターのり等が混じっている=正例の汚染」と報告した。書き起こしは「傾り」「肩塗り」のような当て字で、音は合っていた。持ち主が無作為に 30 本を聞いて問題なし(言い淀み程度)。同じ日に取り消した。

短い語の全数検査に音声認識は使えない。漢字で比べる・音の距離で比べる・カタカナで出させる、の 3 通りとも駄目だった。

その後音は人が聞いて判じる。学習に入れる物は人が聞いた物だけ。
AI 側の作業記録 / wakeword-maker HANDOFF.md 5 節・AGENTS.md 11
09-23

物差しを確かめずに結論!!撤回、撤回、また撤回

グラグラ呼び名AI の失敗
PC と機体で数字が合わないまま「原因はモデル」と言い切った
ダメージ 🔥🔥🔥🔥🔥
失った物:言ったことの信用

同じ音のはずなのに PC で 0.485、機体で 0.864。数字が合っていないまま「原因はモデル」と言った。ほかにも条件の違う音同士を比べ、声の入っていない区間を表に載せ、倍率の結論を書きすぎていた。

「貴方のは独り言だし、もう論理性が0になっているね」
その後結論の前に、物差しが実機と同じ数字を出すかを確かめる(AGENTS.md 3・23)。
2f0807a
09-23

動画を 6 回流させて 1 回も録れず!!

ザザー呼び名AI の失敗
誤爆した瞬間の音を残す仕組みを、準備が終わらないまま持ち主に試させた
ダメージ 🔥🔥🔥🔥🔥
失った物:誤爆が入っていた唯一の回の 3 分 35 秒 / 道具ごと(翌日取り消し)

持ち主に動画を流してもらい、誤爆した前後の音を機体から吐かせる段取り。6 回流してもらって 1 回も残せず、誤爆が実際に起きていた唯一の回の音も失った。

「準備不足じゃない状態になるまで何時間待てばいいの」
その後人に頼む前に、手元で端から端まで通してから頼む。
02de8b5 / 1f0a4b7
09-23 ほか

放送できない言葉を合成!!家族の前で鳴った

ピーーー呼び名AI の失敗記録が無い
呼び名の合成音が、呼び名と関係ない、人に聞かれたら困る言葉を喋った
ダメージ 🔥🔥🔥🔥🔥
失った物:家族からの目 / 壊れた見本一式(消した)

呼び名の合成音を作る Irodori-TTS が、相当に卑猥な、人に聞かれたら社会的な信用を失いかねない言葉を生成したことがある。持ち主の見立ては「見本の声が渡らないまま生成された」。実際に家族に聞かれて、白い目で見られた。起きたとき AI は書き留めておらず、9/24 に持ち主から聞いて初めて記録した。日付は分からない。

9/23 には別件で、長さの指定を落として作った壊れた見本(呼び名と関係ない発話入り)を、中身を確かめずに家族の前で鳴らしている。

その後見本を渡さずに生成しない。聞くのはイヤホンで。聞いていない音を人前で鳴らさない(AGENTS.md 0 節・12)。
wakeword-maker README / eb030a4 / docs/WAKEUP.md 付録F(15aa66f)/ acdc7d6
09-24

合成音を全部聞け!!1,000 本

ドドドド呼び名AI の失敗
手順書に「作った合成音を全部聞く」と書いた。本当は 400 本前後で足りた
ダメージ 🔥🔥🔥🔥🔥
失った物:記事・道具箱・本の書き直し

学習に入れる物は人が聞いた物だけ、という決まりを「作った物は全部聞く」と書いてしまい、無料記事・道具箱・本の下書きに載った。カタノリの実績は 1,000 本のうち 426 本を聞いて 408 本を使った(別荘が判定の記録から出した数字)。ワラビモチも 398 本を判定し、300 本が Yes の時点で進めている。

その後「学習に入れる物は人が聞いた物だけ・400 本前後聞けば足りる」に直した。
wakeword-toolkit 5a923c8 / wakeword-maker ef112ee / zenn-content 97322a5
09-24

16 倍の 16 倍?!物差しの倍率、二重掛けの疑い

??呼び名AI の失敗未解決
機体から吐かせた音はもう 16 倍されているのに、評価でさらに 16 倍していた疑い
ダメージ 🔥🔥🔥🔥🔥
失った物:無料記事①の一節(書き直し)

wakedump・wakestream は 16 倍済みの音を吐くのに、eval_cap・eval_fa でさらに 16 倍していた疑いが出た。記事に書いた「16 倍で声の山が振り切れる」は外れで、当たりの物差し cap_first は振り切れ 1 サンプル、誤爆の物差し fa_full は 12,284 サンプル。own_a の数字は倍率 1 でも 16 でも同じだった。cap_first がどちらの倍率で録られたかは、記録から決められない。

その後倍率を音ごとに書く(cap.gain・fa_gain)。ワラビモチは実機の倍率とカタノリの条件の両方で測って並べた。
wakeword-toolkit b308ccf / wakeword-maker 55cb9ee・eb06c2a / be1576e
(期間中)

道具が壊れた!!Claude Code、何度も再インストール

ガシャン壊れた記録が無い
Claude Code 自体が壊れて、何度も再インストールになった
ダメージ 🔥🔥🔥🔥🔥
失った物:復旧の時間 / 会話の記録(消えた可能性)

道具の側の事故。設計に使っていた Claude Code が壊れ、何度も再インストールを強いられた。復旧は面倒で、そのたびに作業が止まった。repo にはこの痕跡が無い(コミットは道具が動いているときにしか出ない)。SN-58B を勧めた会話の記録が残っていないのは、これで消えた可能性がある。

「それも復旧めんどくさかったのに」
記録なし(ユーザー)
(期間中)

647 行!!買い物リスト、ゴミ溜めのまま処刑

ドサッAI の失敗未解決
文書がゴミ溜めになる。買い物リストは 647 行で捨てられ、TODO はいまも
ダメージ 🔥🔥🔥🔥🔥
失った物:読む時間 / 「溜まっていた嘘」

買い物リスト SHOPPING.md は 7/26 に 109 行で生まれ、17 回の書き足しで 8/24 に 647 行になって、その日に丸ごと削除された。8/15 の掃除のコミットは「溜まっていた嘘を除去」と書いている。TODO.md は 59 回書き換えられ、97 行→202 行→116 行→227 行と膨らんでは削られている。掃除だけを目的にしたコミットが 11 回ある(「亡霊を消した」「残骸を削除」「読めない」「名残を掃除」)。AI が書き足すたびに古い記述が残り、決定と却下と推測が同じ場所に並ぶ。SN-58B の記録が消えたのも、この荒れ方の中でだった。

「あのショッピングリスト特に酷かった。今でも TODO とかすぐにゴミダメになるし。正直見たくない」
その後「ゴミを残して移動しない」が AI への指示として記憶に入っている。守れているかは、この一覧を見れば分かる。
git log -- docs/SHOPPING.md(17 件)/ docs/TODO.md(59 件)/ 070da88 / 9693681 / 04fa92d

中身の歴史

ファーム・バックエンド・電気・基板

構成は ReSpeaker Lite(XMOS XU316・ハードウェア AEC)→ XIAO ESP32S3 → Cloudflare Durable Object → Gemini Live API。マイコンは OLED に顔を出し、音声は WebSocket over TLS でそのまま中継する。筐体が 8 版かかった一方で、会話そのものは 2 日目に成立している。

立ち上がり
07-25 → 07-27
  • 07-25初コミット。DO 中継+Python ラッパーで PC 上の会話が成立(24kHz)
  • 07-26実機 XIAO の OLED に顔を表示。DO 経由で Gemini まで WebSocket 疎通
  • 07-26実機で音声対話が成立(I2S 入出力+DO のフレーム分割)
  • 07-26TLS 証明書の検証(ルート CA ピン留め)、Wi-Fi プロビジョニング、起動アナウンス、現在時刻の注入、つなぎ言葉
  • 07-27Usr ボタンで会話の開始/終了(BOOT ボタンは小さすぎた)
つまみの苦闘
07-29 → 08-05
  • 07-29可変抵抗を配線。「回すと音が死ぬ」問題が発生
  • 07-30原因追及が二転三転。AS5600(非接触の絶対角度)への移行を本命に
  • 08-02AS5600 へ移行完了。原因の可変抵抗を部品ごと消して解決
  • 08-05「mic 0 フレーム」の犯人は D1 = XMOS リセット線。封印して実会話まで開通
安全機構と基板
08-03 → 08-18
  • 08-03OTA 更新(Wi-Fi 越し書き込み→再起動→待受)
  • 08-07会話ボタンは動作力 30gf のマイクロスイッチに(届いた 600gf 品は不合格)
  • 08-08ミュートリレー(無通電で開)8 項目合格。GPIO43 = UART TX = I2S DOUT で、ブートログが耳元の轟音になるのを塞ぐ
  • 08-14ReSpeaker+XIAO を「音声モジュール」として切り離す決定
  • 08-18ハブ基板(ユニバーサル基板 1 枚)の実装完了。全数テスターで導通確認
実機で組み上がる
09-02 → 09-12
  • 09-02電池で起動・完全停止・再起動。ハブ基板を組んで初通電、I2C 5 個とミュートリレーが動く
  • 09-11設定メニュー(会話ボタン長押し)、電池残量の表示、BootLog、待機スリープからボタンで起きて会話
  • 09-12つまみで選ぶメニュー、声で割り込む(バージイン)、ウォッチドッグ 30 秒、60 秒無音で閉じる
PCB 化
09-12 → 09-15
  • 09-12JLCPCB の部品区分と費用の調査、外注の見積もり
  • 09-14基板 katanori61(82.0 × 37.4)を起こし、配線まで通る。DRC 0
  • 09-15Home Assistant Voice PE の KiCad を参照として取り込み、回路図を 2 枚(音声の板/ハブ)に分ける
  • 09-15自前の音声の板(XU316+ESP32-S3)は配置・配線まで済ませて保留(量産の計画が立ったら再開)
基板を詰める
09-16 → 09-18
  • 09-16シルクを「自分で挿す口」のために引き直す。記号を全廃し、口の名前と電池の − + だけ
  • 09-16逆接保護の P-ch MOSFET(AO3401A)を電池の口とシャントのあいだへ。逆に挿すと「何も起きない」になる
  • 09-174 層にし、電源部を電流の順に並べ直す。電池の道 217 → 11.4mΩ・INA226 のケルビン成立
  • 09-17リレー K31 を AS5600 の横から退け(芯と芯 9.47 → 19.81mm)、周りを自動配線の立入禁止に。2 極目は使わないと決めた
  • 09-17USB-C を後ろの縁(ハッチ)へ。胴の出 1.3 の素の 4 本足
  • 09-18基板の四隅を R3.5 に(レジンの壁を 45° 開いたとき角をかすめるため)
設定メニューの OLED モック
設定メニューの見本(09-11)。つまみで選び、短押しで値を変え、長押しで戻る。ひらがなのドットフォント
電池残量の OLED モック
音量画面の右上に出す電池残量の案 A/B。A が採用

呼び名で起きるまで

09-21 → 09-24。ウェイクワード

「カタノリ」と呼ぶと眠りから起きて、そのまま会話を始める。電源スイッチのある機械なので「少しくらい誤爆してでも取りこぼさない」を優先した。4 日で 30 本以上のモデルを作り、たどり着いたのは、持ち主の声を真似た合成音を聞いて選び、正例を持ち主の声に絞ること。大勢の声を真似た合成音の道は、機体が拾った実際の音で頭打ちになった。この 4 日間を手順にしたのが本と道具箱。

かかった日数
4日
09-21 の whisper から 09-24 の発売まで
作ったモデル
30本超
microWakeWord。学習は別荘の GPU
大勢の声の合成音
≤1/4
機体が拾った呼びかけ 4 回に対して
持ち主の声で・誤爆
0回
own_a。映画 2 時間を流して
2 つ目の呼び名
4/4
ワラビモチ。同じ手順で再現
発売
¥2,500
本+道具箱。BOOTH
自由な呼び名
09-21
  • 09-21VAD で切った音を whisper で書き起こし、登録した呼び名と比べる方式。呼んでから会話まで 4.3〜8.4 秒
  • 09-21咳で毎回起きて却下。呼び名を「カタノリ」に固定し、機体の中で聞き分ける microWakeWord へ
  • 09-21学習用のリポジトリ wakeword-maker を始める。合成音声(Irodori-TTS)で例を作るが、持ち主が呼んだ実際の声では、ほとんど起きない。声の高さの中央は合成 284Hz、持ち主 87Hz
機体で聞き分ける
09-22
  • 09-22機体(Arduino)で microWakeWord が動き、PC と数字が一致。既製の「Okay Nabu」は持ち主の声で最大 0.795
  • 09-22本番のファームに組み込み。ReSpeaker の ch1 を 16 倍して聞く。whisper への送信は止めた
  • 09-22マイクを専用タスクで読み、PSRAM に 5 秒ためる。「カタノリ、〇〇」の続きも Gemini に届く
  • 09-22眠ったまま聞き分けて起きる。起きてから「ちょっと待ってね」→「ワイファイがつながったよ」と声で待たせる
  • 09-22この日だけで約 25 本。声の高さ ±1 半音・速さ ×0.85 で全モデルが全滅することが分かる
持ち主の声へ
09-23
  • 09-23方針を切り替え。「自分の声を徹底的に覚えさせた方が良いと思うわ。で、自分に近い人の声で反応するなら致し方ない。」
  • 09-23並行して音素の網(ReazonSpeech で学習した CTC + 音素列の照合)を別の場所で始める。機体の frontend が実声の上限を作っていて、log-mel に替えると 3 倍
  • 09-23実録入りの withreal が機体で 1 時間に 27 回誤爆。正例を持ち主の声だけにした own_a を作る
完成と発売
09-24
  • 09-24own_a 1 本に。映画 2 時間で誤爆 0、眠りから呼んで起きる。持ち主「今のこのモデルは完成です」
  • 09-24設定 1 枚で呼び名を変えられる道具箱(wakeword-toolkit)にまとめる。音素の網は別プロジェクトで続ける
  • 09-242 つ目の呼び名「ワラビモチ」を道具箱の手順で作り、機体に焼いて、持ち主が呼んで起きた(当たり 4/4)
  • 09-24無料の記事を Zenn に公開(③ 誰の声でも起きる呼び名へ・ReSpeaker Lite の ch1)
  • 09-24本(PDF)+道具箱(ZIP)を BOOTH で発売。¥2,500

部品

現行の実機(v5)に載っている電子部品と、v6.1 基板での置き換え
部品型番・仕様役割
MCUXIAO ESP32S3全体制御・Wi-Fi・I2S・I2C。外付けアンテナ必須
音声フロントエンドReSpeaker Lite (XU316)マイク 2 個・ハードウェア AEC・コーデック・アンプ
ディスプレイOLED 2.42" I2C顔・音量・メニュー(0.96" は 08-07 に退役)
音量つまみAS5600 + 磁石非接触の絶対角度。疑似電源 OFF も兼ねる
電源PowerBoost 1000Cリポ → 5V 昇圧、充電、ロードシェア
電池リポ 3.7V 1000mAh容量は暫定
電流計INA226消費電流・残量
ミュートリレーG6S-2F DC5無通電で開。起動時の轟音を塞ぐ
マスタートグルMTS-102EN⇔GND、電源の完全遮断
リードスイッチN/O 2.5 × 14蓋を閉じると電源 OFF
会話ボタンレバー式マイクロスイッチ動作力 約 30gf
スピーカー秋月 112495 8Ω23 × 15 × 4
充電口秋月 Type-C 115426USB-C で受けて PowerBoost へ
ハブ基板DAISEN PU52X74ユニバーサル基板 1 枚に全部の口とリレー駆動

v6.1 基板 katanori61 が置き換えるもの

ハブ基板・PowerBoost・INA226・Type-C 基板の 4 つが、1 枚 82.0 × 37.4 mm・54 部品のチップ実装になる(MCP73871 充電、TPS61090 昇圧、INA226 チップ、AS5600 直付け、リレー)。線が残る口は JST-PH が 4〜5 つだけ。

費用の目安(2026-09-12 の見積もり)

$17.6 / 枚(基板・5 枚で $88)

筐体は 21 点をレジン外注で $12、MJF で $42。筐体+基板+送料で 1 台 ¥16,300、5 台なら ¥4,740/台。v6.1n の 7 点構成の再見積もりはまだ無い。

コードの規模(行)

hardware(scad+py)
59,529
 うち凍結分 v1〜v4・v6
34,820
docs(設計判断の記録)
22,145
firmware
16,821
backend(DO)
3,236
simulator
1,706

CAD をコードで書く方式なので、筐体の試行回数がそのまま行数に出ている。