Nintendo Switch(初代)の外装を変えたら"あの頃"になった

昨年末、ようやくNintendo Switch 2を購入しました。

Switch 2を買ったということは、Switch(初代)は好きにしていいということですね!
以前からやってみたいと思っていたeXtremeRateの外装キットを購入し、懐かしのクリアボディにしてみました。

買ったもの

Joy-Conと背面用のシェル

# eXtremeRate Nintendo Switch用交換フルセットシェル&ボタン【クリアグレイシャーブルー】

フロントフレーム

# eXtremeRate NS Switchコンソール用DIY交換ハウジングシェル、音量上下ボタン&電源ボタン付きフロントフレーム【クリアグレイシャーブルー】

ドック

# eXtremeRate Nintendo Switchドック用AiryDocky DIYキット交換シェルケース【クリア】

組んでみた

組み立てには付属の工具ではなく、VESSELのドライバーセットを使いました。
ネジがナメるのが一番困る。 https://www.vessel.co.jp/product/screwdriver/125498/

一番参考にしてはいけない動画はextremeRateの公式動画です。
付属工具だけでさくさく作業していくのですが、バッテリーのケーブルを抜かずに作業していたり、パワープレイが多いです。あれ鵜呑みにするとまずそう。

eXtremeRateのシェルに交換して分かったことは、「任天堂のシェルの造りがいかに素晴らしいか」でした。こんなチリがぴったり、強度もしっかりあってたわまない、そんなシェルが最初から装着されていていいんですか?という素晴らしさ。eXtremeRateのシェルは十分な品質ですが、それでもシェル単体でみたときのチリや強度感は任天堂には及びませんでした。

ちなみにフロントフレームの交換は大仕事です。ほぼ全バラでした。
軽い気持ちで手を出してはいけない。。。 デジタイザと液晶パネルを取り外すために通常はヒートガンやドライヤーで加熱することが一般的ですが、今回は手元にある3DプリンタBambu Lab P1Sのヒートベッドを使いました。80℃で15分程度。バッテリーが熱くならないタイミングで取り出してパネルを取り外しました。

感想

小難しいことは言いません。この写真がすべてです。最高…

2025年買ったもの・作ったもの

今年も雑にまとめておきます。
雑すぎて生成AIに頼る気にもならん

買ったもの

Moondrop Golden Ages 2

  • Golden Ages(初代)からの買い替え
    • 初代は妻のもとへ
  • 音、ノイズキャンセリング、初代のあらゆる良さに磨きがかかったという感じ。しあわせ

Bambu Lab P1S

aose.hatenablog.jp

  • 購入後すぐにAMS2とP2Sが登場したのはショックだった…
  • とはいえ、あのあたりから中古市場で3Dプリンタが余り始めていたので、Prusa MK3S+を売るには最後のタイミングだったんだろうなと思ってる

レトロフォーミュラ

  • https://www.elekit.co.jp/product/MR-9137
  • 前回がいつか思い出せないくらいひさしぶりにプラモデルを組んだ
  • 4歳児が組み立てに興味持ってくれたり、完成品で一緒に遊んでくれるので楽しい

Eufy Clean X8 Pro with Self-Empty Station

  • 古いルンバがバッテリーが死んでしまっていたので買い換えた
  • 今までと違ってLiDAR付きなので、ほぼ確実に掃除を終えて充電ステーションに戻ってることに毎回感動する
  • iRobotが破産する前に先代を手放してよかった…

作ったもの

Prusa MK3S+のKlipper化

aose.hatenablog.jp

  • Klipper後、しばらくして結局Bambu Lab P1S買ってしまったけれど…
  • エントリにも書いたけれど、Klipperが効くというより丁寧に調整するとこんなに出力の質が上がるのか!と感動した
  • MK3S+のModやKlipper化で得た経験値は今後も役立ちそう

無指向性スピーカー

aose.hatenablog.jp

  • 日々幸せに音楽聴いてます

Raspberry Pi+I2S DACSpotify再生機

  • 今までSabreBerry+とMoode Audioで居間オーディオ再生機を運用していたが、SpotifyのLossless対応によりそのままではいられなくなった
  • librespotはlosslessに対応しないことになったので、Moode AudioをやめてLossless再生ができるようにした

ロードスター

飛び石によるガラス交換という悲しい事件はあったものの、無事です…


相変わらず育児が最優先の一年でしたが、こうして振り返るとなんだかんだ楽しんでますね。
では、良いお年を!

3Dプリンタを買い換えた(Bambu Lab P1S)

ひさしぶりに3Dプリンタを買い換えたので購入ログです。

私のプリンタ遍歴

最近本質から離れすぎた

DIYのツールとして3Dプリンタを使っていたはずでしたが、気が付くと2025年は3Dプリンタ自体のメンテナンスに時間を費やしていました。

  • Klipper化
  • ABS出力のしすぎで歪んだパーツの再出力、ABS化、オーバーホール

育児もあり可処分時間に限りあるなか、3Dプリンタのメンテに時間を取られすぎていて、まともに動く3Dプリンタに買い換えることにしました。

次のプリンタに望む機能を考えてみました。

  • フィラメントの自動交換
    • フィラメント切れしそうな出力のとき、プリンタの前で張り付いて待つのをやめたい
  • エンクロージャーあり
    • 冬場の印刷を安定させたい
    • LACKエンクロージャーは手が掛かるので手放したい
  • CF-ABSが出力できる
    • 硬いノズル、エクストルーダーギアが手に入る
  • マルチカラー
    • あってもいいけど、必須じゃない

ここまで条件があるとCore-XY && AMS or 多ヘッドの機種に限られてきます。
Bambu Lab X1C登場以来、ここ数年間はこういった製品は多く出ており選択肢は豊富です。

とはいえ、MK3S+を使っていて感じたのは「メジャーな製品を使っているとサードパーティーOSSのものが充実してる」ということです。
それなりにユーザー、市場が多そうな機種ということで、Bambu Lab P1SかPrusa Core Oneに限られてきました。

Prusa Core OneはMMUまで購入するといい値段になることから、ここはP1S一択となりました。
最近のBambu Labの界隈での振る舞いを見ているといい気分にはなりませんが、予算的に購入できるのはこれだけ。最後に悩んだポイントは性能ではなくこの部分で、しばらく購入をためらっていました。

使ってみた

まだ軽く使ってみた程度です。

良い

  • AMSは良い
    • フィラメント交換なしに素材を切り替えたり、同色フィラメントを連続で継ぎ足して印刷し続けてくれるのは本当に便利
    • PETGをPLAのサポート面に使うとたしかに綺麗にサポートが取れる
  • 買ってすぐにまともに動く
    • ベッドのレベリングも不要、(それなりに慣れている身なので)テキトーに使ってても出力に失敗しない

悪い

  • 思ってたよりBambu Labのソフトウェア面はイマイチ

まとめ

満足!というより消去法でコレだなと選んだ感じなので、ワクワク感はほとんどありませんが、十分にツールとして動いてくれています。

現時点で購入できる機種としては一択でしたが、あと半年後にはどうなっているんでしょうねぇ。
Prusa Core Oneの多ヘッド化、Snapmaker U1など選択肢が広がっているかもしれないし、思ったほどじゃないかもしれません。
また数年使った頃に買い換えを悩んでみましょうかね。

3Dプリント無指向性スピーカー製作記(第3.5世代)

定期的に"スピーカー作りたい病"にかかるのですが、ひさしぶりに作ったので製作記です。

ここ数年はリビングのBGM用に無指向性スピーカーを作っています。
今回は第3.5世代で、以前作った第3世代からのアップデート版といった程度の小変更になっています。

第3世代の振り返り

第3世代は2024年1月頃に完成しました。

ユニットはPeerless P830985です。

ボルトが一切見えないスクエア形状と、将来的なユニット交換を見越して交換可能なバッフル板、バスレフポートを備えた形状にしていました。 第2世代が実装できていなかったユニット交換可能なバッフル板を備えるほか、より満足いく音の無指向性スピーカーになりました。

製作からしばらくは満足していたのですが、しばらくするとP830985の高音の"ささる"感じが曲によっては聴き疲れすることがありました。 また、ペアで作ったエンクロージャーのひとつはプリンターの調子が悪く、見た目に難のある造形になっていました。

ほかにも目論見の外れた箇所があります。
ユニット交換可能な設計としたバッフル板ですが、高さ2mmで広い面積の"はがすのが困難"なサポートが必要なモデルになっていました。 正直もうバッフル板作りたくない…

広くて高さのないサポート面

緑はサポート。はがすの面倒なんですコレ…

第3.5世代に向けた改善の動機

2025年、いくつかの3Dプリンタまわりのアップデートをしたことでスピーカーを作り直す気持ちになりました。

3Dプリンタの調整・改造

Klipperの導入、InputShaper設定、細かな調整により、印刷の歩留まりが向上しました。 ハードウェア自体もパーツ冷却用のダクトを変更したことでオーバーハング性能があがり、あまりサポート材をつけずにパーツ出力できるようになりました。

aose.hatenablog.jp

aose.hatenablog.jp

PETGパーツの埋め込み

エンクロージャーはPLA製です。
PLAとPETGはくっつかないという性質を利用して、PLAの出力途中でPETGパーツを埋め込むことでサポート材なしでのバッフル板、エンクロージャー出力が可能になりました。

ユニット変更

第3世代のPeerless P830985はアルミコーンでしたが、紙のコーンを採用したユニットとしてMarkaudio CHN50PMicaを 手が滑って 購入しました。

個人的には初のMarkaudio。

再設計

PETGパーツの埋め込みによるサポート材不要のバッフル板制作

バッフル板は以下のようなモデルになっており、3Dプリンタでの出力時に底面となる面に地面から浮いている箇所があります。
FDM方式の3Dプリンタで通常このような形を出力するにはサポート材をつけて出力し、印刷後にサポート材をペンチでもぎ取ったり、カッターナイフで切り取ったりしていました。

今回は、代わりに異素材であるPETGで事前にサポート材となる箇所を印刷しておき、PLA製のバッフル板の出力途中で一時停止してPETGサポート材を入れ、そのうえに出力するようにします。

PETGで出力するサポート材。ただの円形だとこの上に印刷するときにサポート材がまわるので、回り止めを付けます。

バッフル板と一緒に印刷する回り止め兼フチ。
最初入れてなくて盛大に回転しました…

赤色のフチとグレーのバッフル板の外周を0.4mmだけつなげておくことで反りを防ぎます。
最初入れてなくて盛大に反りました…

断面。

実際に一時停止してPETGパーツを入れたところ

一時停止は通知が来るようにしておいて待ち構えます。
aose.hatenablog.jp

バスレフポート設計の変更(Φ30→Φ25、長さ70→30)

いろいろ試して、寸法を確定させました。
バスレフポートのバリエーションが簡単に増やせるので3Dプリントはいいぞ

完成

こんな感じになりました。
半透明のPLAだとインフィルがうっすら見えていい感じに仕上がっています。

肝心の音についても、期待どおり聴き疲れしない音になりBGMにちょうどよい感じになりました!

謎レイヤーシフトを追え!MK3S+のUSBシリアル変換チップのファームウェア変更

はじめに

以前の記事でKlipper化したPrusa i3 MK3S+を今も現役で使っていますが、最近になってレイヤーシフトが発生するトラブルに遭遇しました。

aose.hatenablog.jp

症状

  • 印刷中に突然レイヤーがずれてしまう(レイヤーシフト)
  • いろいろな印刷物で発生
  • X軸Y軸どちらにも発生
  • 発生するタイミングは統一感がない

原因調査

最初はハードウェアのトラブル(ベルトやモーター、滑りなど)を疑いましたが、klipper.logを確認したところ、bytes_retransmitの値が0ではなく、印刷中ずっと増え続けていることに気付きました。
これがレイヤーシフトの直接的な原因でした。

調べてみると、MK3S+のメインボードに載っているUSBシリアル変換チップ(ATmega32U2)のソフトウェア不具合が原因で、通信エラーが頻発し、結果としてレイヤーシフトが発生することがあるようです。

解決方法

おまけ:調査のきっかけ

実は最初、完全にハードウェアの問題だと思い込んでいましたが、調べる前にChatGPTのDeepResearchで他の原因候補がないか確認したところ、このファームウェア問題がヒットしました。
今後は「まず裏取り」してから調査を進めようと、ちょっと感心した出来事でした。

同じ症状で悩んでいる方の参考になれば幸いです。

Klipperの印刷終了通知をスマホで受け取る設定メモ

Klipper化以降、印刷完了を知る手段を用意してなかったので設定してみました。

ntfy.shを利用します。

ながれ

  1. スマホに ntfy.sh アプリをインストール
  2. topicの値を作って動作確認
  3. Klipperに導入する

手順

スマホに ntfy.sh アプリをインストール

Androidなので ntfy.sh をインストールするだけですね。

https://play.google.com/store/apps/details?id=io.heckel.ntfy&hl=ja

topicの値を作って動作確認

topicの値を決めます。

印刷完了が他人に伝わったところで問題ないので、他人と重複していなければいいやーという程度のユニークさの値を作ります。

テキトーにすませた例

echo hogehoge | sha256sum
678e851755589c2ed8905b10e0e8302a694af7e40ee86abacfa4bddfba859bb1  -

値が決まったら、Androidのアプリ側でSubscribeしておきます。

動作確認としてPC(もしくはMainsail OSの端末)から通知を投げて、Android側で通知が受け取れたらOKです。

curl -d "test message" ntfy.sh/YOUR_TOPIC_VALUE

Klipperに導入する

https://github.com/prd0000/push_notify を使います。

以下、基本的にREADME.mdそのまんまです。

git clone https://github.com/prd0000/push_notify.git
ln -s ~/push_notify/script/fcm.py ~/klipper/klippy/extras/

printer.cfg に追記します。

# ntfy.sh
[fcm]
topic: YOUR_TOPIC_VALUE

macros.cfg も編集します。印刷終了時に動いてほしいのでPRINT_ENDマクロの最終行にFCM_NOTIFYを追加しました。

[gcode_macro PRINT_END]
gcode:
    #SET_SKEW CLEAR=1
    _TOOLHEAD_PARK_PAUSE_CANCEL    ; Park
    M84 X Y E    ; Disable steppers
    TURN_OFF_HEATERS    ; Disable heaters
    M106 S0     ; Disable fans
    BED_MESH_CLEAR    ; Clear bed mesh
    FCM_NOTIFY MSG="printing done!" 

ここでKlipperのファームウェアをリスタートして、Consoleから通知が出せるかテストしておきます。

FCM_NOTIFY MSG="ping" 

happy printing!

Prusa i3 MK3S+ Klipper化のログ

きっかけ

  • 普段使っているPrusa MK3S+に「印刷遅いな・・・」って感じるようになった
  • リンギングが気になる、Input Shaper試したい
  • MK3S+は保守フェーズに入ってて、最近変化がない
    • 公式はMK4S+やCore Oneがメイン
    • サードパーティーもMK3S+向けパーツはもう新製品が出てこない

やること

なにか(思い出せない…)で見かけたMK3SのKlipper化記事でやる気が出たので、これに習って導入しました。 https://github.com/charminULTRA/Klipper-Input-Shaping-MK3S-Upgrade

  1. 【勝手に追加】プリンターを調子いい状態にメンテナンスしておく(※後述)
  2. 現在の設定値をメモる
  3. Raspberry PiにMainsail導入する
  4. Prusa MK3S+のファームウェアをKlipper MCUに焼き替える
  5. 設定が適切かチェック
  6. PrusaSlicerの設定を変更する
  7. Ellis' Print Tuning Guideを参考に調整する
  8. Input Shaperで調整する

たった数ステップ!簡単ですね。

嘘です。大変でした。 Ellis' Print Tuning Guideだけでも結構なボリュームです。

買うもの

イチからすべて購入すると結構な費用がかかりそうですが、幸い手元にRaspberry Pi 4B(8GB)があったので追加購入したものはInputShaper用の加速度センサーのみです。

今回、Raspberry Piとセンサーをケーブルでつなぐには距離が必要だったので、USB接続のものを選びました。AliExpressで1,500円くらい。

BIGTREETECH BTT ADXL345 V2.0 Accelerometer Board Stealthburner For Klipper Extruder Hotend Rspberry Pi 3D Printer Parts

ちなみにこのセンサーを取り付けるパーツは事前に出力しておきましょう(してなくてちょっと困った

こちらのパーツを使っています。

以下、躓いたところとか今後忘れそうだったところ

基本的には上記のREADME.mdにしたがってすすめるだけなので非常に簡単なのですが、躓いた箇所があったのでメモしておきます。

プリンターを調子いい状態にメンテナンスしておく

以後の手順を繰り返しても調子が悪く原因を切り分けていった結果、プリンター自体の不具合がいくつか見つかりました。

今回、Klipperにしたからプリントの質が上がったのではなく、このメンテナンスで質が上がっています。

  • ベルトのテンションが弱かった
    • ストックのファームウェアについているテスト機能では問題ない値となっていたが、ちゃんと調べるとゆるみ切っていたことが発覚
  • 各所のボルトがゆるんでいた
    • まし締めしたら改善した
    • 年末に締めなおしたばかりなので注意してみたところ、プリントパーツがつぶれて積層割れし始めてる箇所がある様子
      • これはまた組みなおしが必要そう

ガイドの未適用の修正を取り込んでおく

参考にしたリポジトリはIssue、プルリクがいくつかたまっていたので、中を精査して必要なものは適宜マージして使っています。

https://github.com/charminULTRA/Klipper-Input-Shaping-MK3S-Upgrade

PrusaSlicerは英語設定で使う

ガイド自体が英語設定のPrusaSlicerを前提に手順を書いてくれているので、作業が完了するまでは英語にして使っていたほうがラクでした。

とはいえ、基本的には以下設定するだけです。

  • MK3.5S設定をベース
  • Marlin向けのGcodeではなく、Klipper向けを出すようにする
  • "Arc Fitting"はサポートされてないので無効にする

PA設定用GCode生成サイト?の使い方

https://ellis3dp.com/Pressure_Linear_Advance_Tool/

個別に設定した箇所

  • Nozzle Diameter
    • 0.4mmノズルじゃない場合は適宜変更
  • Bed Size X
    • 250mm
  • Bed Size Y
    • 210mm
  • Don't Add Heating G-Codes
    • チェック入れる
  • Start G-code
    M190 S0 ;
    M109 S0 ;
    PRINT_START EXTRUDER_TEMP=[first_layer_temperature] BED_TEMP=[first_layer_bed_temperature]

ノズル径を変えるとき

ストックのファームウェアならプリンタのメニューから変更して終わりだが、Klipperではprinter.cfgを修正する

素材も代わった場合はキャリブレーションしておく

PID_CALIBRATE HEATER=extruder TARGET=230
SAVE_CONFIG

InputShaperは手順が公式見て。しか書いてない

まずは加速度センサーにファームウェアを書き込みます。

PDFみればだいたいなんとかなりました。

https://github.com/bigtreetech/ADXL345/tree/master

今後、エクストルーダーの構成を買えたときのために手順残しておきます。

Y軸、X軸それぞれ以下ステップで実施

  1. 加速度センサーを取り付けてUSBケーブル接続する
  2. 加速度センサーのcfgファイルを測定する軸側の設定をコメントアウトを外す
  3. printer.cfgの加速度センサーの設定をコメントアウト外す
  4. Klipper再起動
    • 接続 && cfgに問題なければ正常起動する
  5. ACCELEROMETER_QUERYコマンドで数値が返ってくればセンサーから値がとれてる
  6. SHAPER_CALIBRATE AXIS=Xコマンドで測定開始(※Y軸ならAXIS=Y)
  7. SAVE_CONFIGコマンドでprinter.cgfに追記される
  8. printer.cfgから加速度センサー部分のincludeをコメントアウト
  9. 加速度センサー取り外し

PrusaSlicerからネットワーク経由で出力する

参考

https://docs.mainsail.xyz/overview/slicer/prusaslicer

まとめ

今までより速く綺麗に出力できるようになったことで、DIYが捗るようになりました!

また、細かな調整を自分でやったことで、スライサー設定やトラブルシューティングの引き出しは増えた気がしています。

とはいえ、完成までにかなりの時間を溶かしていて、予算に余裕あるなら新しい機種を買った方が・・・と思わないでもないです。

Klipper化後