
3Dプリンターを使っていると「これまで何回印刷したか」「トータルで何時間動かしたか」といった稼働履歴が気になることがある。OrangeTungsten氏が公開した「Fi5 IoT Module」は、印刷が終わるたびに稼働データを自動でGoogle スプレッドシートに記録してくれるESP32ベースの小型デバイスだ。
3Dプリンターの制御ボード「MKS Robin Nano v1.2」には、本来Wi-Fiモジュールを接続するための通信ポートがある。OrangeTungsten氏はこのポートを活用し、ESP32モジュールと接続。さらに、3Dプリンターを動かすソフトウェア「Marlin」に手を加えて、印刷終了時に累計印刷回数、成功回数、稼働時間、フィラメント使用量といったデータをESP32に送る機能を追加した。
ESP32はこのデータを受け取ると、Wi-Fi経由でGoogle スプレッドシートに送信する。クラウド側の仕組みにはGoogle Apps Scriptを使っており、専用サーバーを用意しなくてもGoogleの無料サービスだけでデータの蓄積が可能だ。
ファームウェア改造の手順も公開
OctoPrintのようにRaspberry Piを使う方法もあるが、このプロジェクトの特徴は3Dプリンター内部のソフトウェアを直接改造している点にある。Marlinに新しい命令「M1600」を追加し、この命令が実行されるとデータが外部に送られる。印刷データの最後にM1600を入れておけば、毎回自動で記録される仕組みだ。
GitHubリポジトリには、ファームウェアの改造手順、ESP32用のプログラム、回路図、基板データ、ケースの3Dモデルまで一式公開されている。MKS Robin Nano v1.2を使っている環境であれば、同じ仕組みを再現できる。現状はデータ記録のみだが、将来的には外出先からプリンターを操作するといった拡張も想定した設計となっている。

