初めに
どうも、初めてQiitaを使うSHIMAというジャンカーです。作法がわかんないので無茶苦茶な記事になるかもしれませんが、よろしく☆
動機
ペンプロッターは、昔から僕の憧れのマシンの一つだった。でも、そこそこ高価で買いづらいし、自作するにしたってステッピングモーターやそのドライバ、レールやベルトなんかで結局高く付く。大体制御が面倒くさい。でも、手元に何をしてもいいジャンクみたいな3Dプリンターがあったなら?面倒くさいプログラミングを全部ClaudeCodeに押しつけられたなら?手間もコストも掛けずに、欲しいものを手にする、それがジャンカー稼業だと確信した。
K10
K10というのは、信じられないくらい安く、小型で、二年ばかり前に3DPクラスタを騒然とさせた、EasyThreed製の3DPだ。どっからどう見てもA1miniな見た目に、LCDすらない、LED一個だけの超強気インジケーターを備えてる。6000円くらいで買えるから、私は学校に掛け合って一台買わせた。今回の本題ではないから省くが、PETボトル再生フィラメントが使えるように改造したり色々やってるうち、ゲテゲテになってしまい、部室には二台のA1が導入されたから、誰も見向きしない存在になっていた。そこに目を付けて、今回のプロジェクトの生け贄になってもらった。

方針
最初は、ガイドレールとモーターだけ、つまりレールだけ流用して、ステッピングモータードライバーとArduinoで制御しようかと考えていた。でも、ステッピングモータードライバーを新規で購入するのも、なんというか、ジャンカーとして負けじゃ無いか?と思い、とりあえず解析の先例が無いかChatGPTと話していたら、案の定あった。さすがに有名だもんな....ただ、こっからが罠で、個体ごとでマザーボードの設計が全く異なるらしく、先例で解析されていたのとは似ても似つかないMCUが載っていた。ピン数まで違ったんだぞ!だから、ClaudeCodeにChatGPTで作ったmdを突っ込んで(これよくやるんだけど、なんか元カノに今カノのための準備して貰ってるみたいでゾクゾクする)マザーボードの写真もぶち込んで、解析させた。
どうやらSWDのランドがあるらしく、そこからちまちまMCUのピンと導通チェックして(テスターのプローブの方が端子よりでかいから苦労した!)使えそうだと判ったから、これを元にファームウェアを解析、改造して再書き込みすることで、マザーボードだけでペンプロッターを完成させることにした。
ハッキングのお時間
SWDのランドにピンヘッダを取りつけて、SWCLK、SWDIO、GNDの三つをRaspberryPi Picoとジャンパして、PCに繋いだ。後はマザーボード側に電源を供給して(なんと、この安さにしてPD電源に対応している!ありがたい...)Claudeにやれと指示するだけ。あっという間にファームウェアをダンプできた。

ファームウェアとGcodeのデータを使って、何が何に対応しているかチェックしたが、それでも尚イマイチ掴みきれなかったため、専用のGcodeを生成して貰ってSDカードに書き込み、プリントボタンを押して、順番にClaudeがやれと言った動作を試す。その間のMCUの動きを全部PICOでチェックして貰って、解析を進めた。(Claude曰く、動的解析というらしい)。そうそう楽にはいかないもので、初めのうちはステッピングモーターの配線が取り違っていたりして、向きを揃えるのにも苦心した。それでも、累計3時間かそこらで、きちんと動くファームウェアは完成した。
ハードウェア
既存の筐体をほとんど丸ごと流用できそうだったが、唯一ペンを上下させる機構だけはどう頑張っても流用はできない。でも、その動力は持ってくることができた。フィラメント供給用のステッピングモーターだ!
エクストルーダーの構造はシンプルで、プラスドライバー一本で楽楽解体できる。ステッピングモーターの外形を採寸するのはえらく面倒だし、ここでもAIを使った。GPTに写真撮ってぶん投げたのだ。
結局細部はノギスで測る必要があったから、どれほど参考になったかと言われると微妙なところだが、まぁ助かった。ペンの上下は、昔ながらのラック&ピニオン方式で作ることにしたんだが、Fusionにはデフォルトではそういう機構を楽に作れる操作は無いし、外部アドオンだってなかなか使いづらいから、ここもAIに丸投げ。STEPデータをClaudeCodeにでっち上げて貰い、それをFusionに突っ込んだ。つくづくずぼらである。
さて、ここまではAI丸投げだが、こっからは手動で頑張るしかない。結局現実と直に接する部分の設計は、まだまだ肉体がある人間の方が有利なのだ。K10は、以前に部活で使ってたときに一回3Dデータに起こしていたので、ほとんどモーターのハウジングを作っただけで作業は完了した。

プリントするのは6パーツ。固定は嵌め合わせの摩擦と、以前バラバラにしたスーファミのネジを使ってテキトーに固定する。使用するプリンターはP1S。もはや旧世代機だが、まだまだ戦える。碌なフィラメントが手持ちに無かったので、クリアーのPETGを使ったが、一発で完璧に成功した。一つだけ寸法がミスってたパーツがあったが、問題無く組み込めた。動作も一発で成功した。

動作
もともと、Y軸にステージがある前提のバランスで成立しているので、限界まで奥にペンを動かすと倒れる。だから、本来Z軸があった場所にカウンターウェイトを置いて動かした。
最初はY軸の動作が逆だったり、Gcodeの変換にしくじったりして何度か失敗した、が、30分ほど苦闘してテストパターンの描画に成功した。
なので、次に絵を描いてみることにした。元絵はこれ、私が書いたブルアカの鬼怒川カスミだ。
次にこれをGeminiにぶち込んで、色を抜いてガタガタしてる線を補正した!

そしてこれをSVGに変換して...

目が抜けてるけど耐えたか?
で、実際動かしたのがこれだ

うーん、ひどいね!まぁいいや、とりあえず描けはした。
これにて、一旦の完成にしよう!
最後に
今回のプロジェクトは、最初から最後までAI漬けだ!大手の三社は全部使っているし、それぞれの特性や強みを活かせていると思う。マルチモーダルなGemini、調査力のGPT、実装のClaude。僕はAIクラスタじゃないからザックリでいいがげんな評価だけど、やっぱり無料で使える分はあるんだから「Geminiはバカ」「GPT以外はあり得ない」みたいな、その時々で変わってしまうような短絡的な考えは良くないと思う。
そして、ClaudeCodeはこういったハードウェア絡みのプロジェクトがめっぽう強いこともここで主張したい!ソフトウェア方面ではアマチュアは結局手も足もでないし、金と時間がある人間に有利な一方だが、電子工作やこういった「ハードウェア・ハッキング」の方面はまだまだブルーオーシャンで、そして何より人と違わないくらいまともに指が動かせるようにならない限りは、絶対にギュられないんだ!私も、また機会があったらこういうプロジェクトをまとめて公開しようと思う。良いジャンカーライフを!
おまけ
https://github.com/SHIMA-R7/k10-pen-plotter
みんなも一緒にK10をペンプロッターに改造しよう!3Dデータも入っている!