脱Marlin!Klipperファームウェア導入手順を初心者向けに完全解説

Klipper

この記事では、Raspberry Pi Zero 2wMainsailOSの組み合わせで安心して実行できるKlipper導入方法について詳しく解説していきます。

Klipper導入のメリット:

  • 🚀 高速印刷: 従来比最大3倍の速度で印刷可能
  • 🎯 高精度: より精密な制御で品質向上
  • 📱 リモート操作: スマートフォンやパソコンから遠隔操作
  • 🔧 柔軟な設定: 高度なカスタマイズが可能
  • 💰 コスト効率: 既存の3Dプリンターを最大限活用

Klipperファームウェアを使ってできることは次のようになります。

Klipperファームウェアを導入すれば上記のように、ブラウザ上で細かな設定を行えるようになります。

Klipperとは?:

Klipperは、3Dプリンティングの世界に革命をもたらすファームウェアです。Marlinのような従来のファームウェアとは異なり、3Dプリンターの制御を強力な外部プロセッサ(例えば、Raspberry Pi)に分担することで、高速かつ高精度な印刷を可能にします。

さらに、古いプリンターにも高性能な心臓を与えることができる点は、多くのユーザーにとって劇的な改善でした。

この革新的なシステムがどのように機能し、あなたの3Dプリンティング体験をどのように向上させるのか、詳細な記事でぜひご確認ください!🚀

私の環境(2025年8月時点)

  • 3Dプリンター: Creality Ender3(無印) 2017年製
  • メインボード: Creality v4.2.7 (STM32F103) 静音メインボード(以下MCU※と言います)
  • BLTouch: オートベッドレベリングセンサー
  • SBC: Raspberry Pi Zero 2w
  • OS: MainsailOS
  • ファームウェア: Klipper
  • インストールツール: KIAUH(MainsailOS Klipper導入の為に使います)
  • ストレージ: MicroSDカード 64GB

※MCUとは: Micro Controller Unit(マイクロコントローラーユニット)の略。3Dプリンターの制御基板のことです。

※SBCとは: Single Board Computer(シングルボードコンピューター)の略。Raspberry Pi Zero 2wのような、一枚の基板にコンピューターの機能が集約されたデバイスのことです。Klipperでは、このSBCが3Dプリンターの制御を担当し、MCUと連携して動作します。

Creality Ender3(無印)ではCreality v4.2.2のMUCが使われていますが、Creality v4.2.7 静音メインボードに交換しています。

Klipper導入に必要なもの

Klipper導入に必要なハードウェアを紹介します。最低限必要なものと推奨追加品に分けて説明します。

  • 最低限必要なもの – Klipper導入に絶対に必要なハードウェア
  • 推奨追加品 – より快適な運用のためのオプション品

所要時間: 約5分(確認時間)難易度: ⭐☆☆☆☆ (基本的な確認作業)

Klipper導入に最低限必要なもの

OTGとは: On-The-Go の略。通常はホスト(パソコン)として動作するデバイスを、他のデバイスに接続できるようにする技術です。

推奨追加品

  • 加速度センサー:
    ADXL345LIS2DWを使って、Input Shaper(入力整形)機能を利用するために必要です。振動を測定し、共振による造形品質の低下を防いで、高速印刷を可能にします。
  • カメラ:
    印刷中の状況をリアルタイムで監視したり、タイムラプス動画を撮影したりするために使用します。
  • KlipperScreen用タッチスクリーン:
    Raspberry Piに接続する専用または汎用のタッチパネルディスプレイがあると便利です。プリンタの横に設置して、PCやスマホを使わずに、印刷状況の確認や基本的な操作を直接行えるようになります。
  • フィラメントセンサー:
    フィラメントの有無(切れ)や動作(詰まり)を検知するセンサーがあると長時間の印刷中にフィラメントが切れたり詰まったりした場合に、自動で一時停止して、印刷失敗を防ぐことができます。このようにKlipperはマクロを組んで細かく動作を設定できます。
  • CANバス接続用のハードウェア:
    一部の高性能なボード(MCU)やツールヘッドに利用される通信規格です。従来のUSB接続よりも信頼性が高く、配線がシンプルになります。特に大型プリンターや高速プリンターで、配線の煩雑さを解消したい場合に有効です。

手順1: MainsailOSの書き込み

Raspberry Pi Zero 2wにMainsailOSを書き込んで、Klipper制御の準備します。MainsailOSは3Dプリンター専用のOSで、Klipperを動かすために必要なソフトウェアが最初から入っています。

手順の流れ:

  1. Raspberry Pi Imagerのダウンロード公式サイトからインストーラーを取得
  2. MainsailOSの選択 – 3D printing用のOSとしてMainsailOSを選択
  3. 初期設定 – ホスト名、ユーザー名、WiFi設定、SSH有効化
  4. SDカードへの書き込み – 設定した内容をSDカードに書き込み
  5. 起動確認 – Raspberry Pi Zero 2wに挿入して起動テスト

所要時間: 約30分(ダウンロード時間含む) 難易度: ⭐⭐☆☆☆(初心者向け)

1-1. Raspberry Pi Imagerのダウンロードとインストール

まず、Raspberry Pi 公式サイトからRaspberry Pi Imagerをダウンロードします。

ダウンロードしたインストーラーを実行してインストールします。

1-2. MainsailOSの書き込み手順

  1. パソコンにMicroSDカード 32GBまたは64GBを挿入
    ⚠️ 注意:間違えないようにMainsailOSをインストールしたいMicroSDカードだけをパソコンに接続してください。他のドライブを選択すると、そのドライブのデータが消去されます。
  2. 先ほどダウンロードしたRaspberry Pi Imagerを起動する
  3. Raspberry Piデバイスの「デバイスの選択」をクリック

  4. 「Raspberry Pi Zero 2w」を選択

  5. 「OSを選択」をクリック

  6. 「Other specific-purpose OS」を選択

  7. 「3D printing」を選択

  8. 「Mainsail OS」を選択

  9. 「Mainsail OS(〇〇〇バージョン) – Raspberry Pi (64-bit)」を選択

  10. 「ストレージを選択」をクリック

  11. 接続したMicroSDカードを選択

  12. 初回だと設定しますか?と聞かれるので「はい」または「設定を編集する」を選択して以下の設定をしていきます

    • ホスト名: 好きな名前(例:mainsailos)
    • ユーザー名とパスワードを設定
    • WiFiの設定(必要な場合)
      • SSID(WiFi名)とパスワードを入力
      • 国を「JP」に設定
  13. 一般タブの設定が終わったらサービスタブに移動します
    • SSHを有効化
  14. 「書き込む」をクリック
  15. 警告が表示されますが、内容を確認して「はい」をクリック

  16. 書き込みが開始されます
    ⚠️ 注意: 書き込み完了後、初回起動時の設定にも追加で10~15分程度かかることがあります。

  17. この画面が出れば書き込み終了です

    「続ける」をクリックして、MicroSDカードをパソコンから取り外してください。

💡 ヒント: ホスト名ユーザー名パスワードはのちに使うので覚えておきましょう。

1-3. MainsailOSについて

MainsailOSとは: 3Dプリンター専用のOSで、Klipperを動かすために必要なソフトウェアが最初から入っています。その他のOSイメージでは、FluiddPiOctoPrintなどがあります。FluiddPiは直感的な操作感があるとして人気で、OctoPrintはKlipperファームウェアが登場する前からあり、長い歴史を持っていますが、情報量の観点から個人的にはMainsailOSがおすすめです。

主な特徴:

  • Klipper対応: Klipperファームウェアとの完全な互換性
  • Mainsail UI: モダンで使いやすいWebベースのユーザーインターフェース
  • 自動設定: 初回起動時に必要なコンポーネントが自動でインストール
  • 軽量: Raspberry Pi Zero 2wでも快適に動作
  • 安定性: 3Dプリンター用途に特化した安定したシステム

含まれているコンポーネント:

  • Klipper: 3Dプリンター制御のメインソフトウェア
  • Moonraker: KlipperとWebインターフェースの橋渡し役
  • Mainsail: モダンなWebベースのユーザーインターフェース
  • Crowsnest: カメラ管理システム(オプション)
  • KlipperScreen: タッチスクリーン用インターフェース(オプション)

MainsailOSの利点:

  • 初心者向け: 複雑な設定が不要で、すぐに使用開始可能
  • 統合環境: 必要なソフトウェアがすべて含まれている
  • アップデート: 定期的なセキュリティアップデートと機能改善
  • コミュニティ: 活発な開発者コミュニティによるサポート

公式サイト: より詳細な情報や最新のアップデートについては公式サイトをご覧ください。

1-4. MainsailOS書き込み完了後の確認

  1. MicroSDカードをRaspberry Pi Zero 2wに挿入して電源を入れます
    (この時点ではまだ3Dプリンターに接続しないでください)
  2. 数分待つと、MainsailOSが起動します
  3. ブラウザから http://mainsailos.local にアクセス
    (ホスト名を変更した場合は、http://[設定したホスト名].local でアクセス)
  4. Mainsailブラウザにアクセスできるか確認してください

現段階では赤文字でエラーが出ていると思いますがこれは一旦無視して大丈夫です。

👆このエラーはまだprinter.cfgファイル(後で説明します)がないよーと言っています。

これで、MainsailOSの書き込みは完了です。これらの設定をすることで、Raspberry Pi Zero 2wで3Dプリンター(Ender3)を制御する為の準備が整います。

手順2: KIAUHのインストール

Raspberry Pi Zero 2wにSSH接続して、KIAUHというKlipper管理ツールをインストールします。KIAUHを使うことで、Klipperの設定や更新を簡単に行えるようになります。

手順の流れ:

  1. SSH接続の準備 – パソコンからRaspberry Pi Zero 2wに接続
  2. 必要なソフトのインストール – システムを最新にして必要なパッケージを追加
  3. KIAUHのダウンロード – GitHubからKIAUHを取得
  4. KIAUHの起動 – インストールしたKIAUHを起動
  5. 初期設定 – KIAUHの初回起動時の設定を完了

所要時間: 約15分 難易度: ⭐⭐⭐☆☆(コマンド入力が必要)

2-1. SSH接続の準備

KIAUHのインストールと設定には、Raspberry Pi Zero 2wにSSH接続する必要があります。

SSH接続方法

Windowsの場合:

  • コマンドプロンプトまたはPowerShellを起動
  • PuTTYなどのSSHクライアントソフトを使用

macOS/Linuxの場合:

  • ターミナルアプリケーションを起動

コマンドプロンプトまたはターミナルを開いたら接続コマンドを入力します。

接続コマンド:

# SSH接続(ユーザー名とホスト名は設定したものに変更)
ssh [ユーザー名]@[設定したホスト名].local

# 例: ユーザー名がpi、ホスト名がmainsailosの場合
ssh pi@mainsailos.local

💡 接続できない場合の代替方法:

  • ルーターの管理画面でRaspberry Pi Zero 2wのIPアドレスを確認
  • IPアドレス直接指定: ssh pi@192.168.1.xxx

💡 SSH接続が初めての方へ:

  • 初回接続時は「接続を続けますか?」と聞かれるので「yes」と入力
  • パスワードは画面に表示されないので、正確に入力してEnterキーを押してください
  • 接続に成功すると、Raspberry Pi Zero 2w上でコマンドを実行できるようになります

💡 注意: パスワードは最初にRaspberry Pi Imagerで設定したものです。

このようになればSSH接続は完了です。

2-2. 前提条件のインストール

SSH接続が完了したら、必要なパッケージをインストールします。

コマンドの実行方法: SSH接続が完了したら、Raspberry Pi Zero 2w上でコマンドを実行できます。以下のコマンドを1つずつ入力してEnterキーを押してください。

# パッケージリストの更新(最新のソフトウェア情報を取得)
sudo apt-get update

コマンドの入力手順:

  1. sudo apt-get update」と入力
  2. Enterキーを押す
  3. パスワードを聞かれるので入力(画面には表示されません)
  4. Enterキーを押す
  5. 更新が完了するまで待つ

更新が完了したら、次のコマンドを実行します:

# 必要なパッケージのインストール
sudo apt-get install git -y

2番目のコマンドの入力手順:

  1. sudo apt-get install git -y」と入力
  2. Enterキーを押す
  3. パスワードを聞かれるので入力(画面には表示されません)
  4. Enterキーを押す
  5. インストールが完了するまで待つ

このようになれば完了です。

💡 コマンド実行のコツ:

  • コマンドは正確に入力してください(大文字・小文字も区別されます)
  • パスワードは画面に表示されないので、正確に入力してEnterキーを押してください
  • コマンドが実行中は、完了するまで次のコマンドを入力しないでください

2-3. KIAUHのインストール

前提条件のコマンドが完了したら、KIAUHのインストールを開始します。以下のコマンドを順番に実行してください。

1つ目のコマンド – ホームディレクトリに移動:

# ホームディレクトリに移動
cd ~/

入力手順:

  1. 「cd ~/」と入力
  2. Enterキーを押す

2つ目のコマンド – KIAUHのダウンロード:

# KIAUHをクローン(GitHubからダウンロード)
git clone https://github.com/th33xitus/kiauh.git

入力手順:

  1. git clone https://github.com/th33xitus/kiauh.git」と入力
  2. Enterキーを押す
  3. ダウンロードが完了するまで待つ(数秒から数十秒)

3つ目のコマンド – 実行権限の付与:

# 実行権限を付与(ファイルを実行可能にする)
chmod +x ./kiauh/kiauh.sh

入力手順:

  1. chmod +x ./kiauh/kiauh.sh」と入力
  2. Enterキーを押す

💡 各コマンドの実行タイミング:

  • 前のコマンドが完了してから次のコマンドを実行してください
  • コマンドが実行中は、プロンプト(pi@mainsailos:~$のような表示)が戻るまで待ってください
  • エラーが出た場合は、コマンドを再入力してEnterキーを押してください

このようになればKIAUHのインストールが完了です。

2-4. KIAUHの起動

KIAUHのインストールが完了したら、以下のコマンドでKIAUHを起動します:

./kiauh/kiauh.sh

これでKIAUHのメニュー画面が表示され、次の設定に進むことができます。

2-5. KIAUHについて

KIAUHとは: Klipper Installation And Update Helper(Klipperインストール・アップデートヘルパー)の略で、Klipperエコシステムのインストールと管理を簡単にするツールです。

主な機能:

  • 一括インストール: Klipper、Moonraker、Mainsail、Fluidd、OctoPrintなどを自動でインストール
  • アップデート管理: 各コンポーネントの最新版への更新を簡単に実行
  • バックアップ・復元: 設定ファイルやデータのバックアップと復元機能
  • ログ管理: システムログの確認やローテーション設定
  • サービス管理: 各サービスの開始・停止・再起動を簡単に実行

KIAUHの利点:

  • 初心者向け: コマンドライン操作が苦手な方でも簡単に操作可能
  • 安全性: インストール前に自動でシステムチェックを実行
  • 柔軟性: 必要なコンポーネントのみを選択してインストール可能
  • 保守性: 定期的なアップデートやバックアップが簡単

KIAUHで管理できるコンポーネント:

  • Klipper: 3Dプリンター制御のメインソフトウェア
  • Moonraker: KlipperとWebインターフェースの橋渡し役
  • Mainsail: モダンなWebベースのユーザーインターフェース
  • Fluidd: 軽量で高速なWebベースのユーザーインターフェース
  • OctoPrint: 従来からあるWebベースのユーザーインターフェース
  • Crowsnest: カメラ管理システム
  • KlipperScreen: タッチスクリーン用インターフェース

このツールにより、複雑なKlipperエコシステムの構築が大幅に簡素化され、初心者でも安心して導入できるようになっています。

2-6. 初回起動時の設定

最初に出る画面はKIAUHの新バージョン(v6.0.0-alpha1)に関する通知です。

※もしこの画面が出なければここは無視しても大丈夫です。

選択肢の説明:

Would you like to try out KIAUH v6?
1) Yes - 新バージョンを試す(一回限り)
2) No - 現在のバージョンを使用(一回限り)
3) Yes, remember my choice - 新バージョンを使用(選択を記憶)
4) No, remember my choice - 現在のバージョンを使用(選択を記憶)
Q - 終了

推奨: 現時点ではまだアルファ版なので、2) Noを選択することをお勧めします。安定性を重視する場合は、現行バージョンの使用が安全です。

2を入力してEnterを押してください。その後、通常のKIAUHメニューが表示されます。

2-7. インストール状況の確認

Raspberry Pi ImagerでMainsailOSをインストールしているので、以下がインストール済みになっていると思います:

  • ✅ Klipper(Python 3)
  • ✅ Moonraker
  • ✅ Mainsail
  • ✅ Crowsnest(カメラ管理システム)

もしもKlipper、Moonraker、Mainsailなど必要なものがインストールできてない方はここでインストールしてしまいましょう。インストール済みであれば「2-8. 不足コンポーネントのインストール方法」をスキップして構いません。

2-8. 不足コンポーネントのインストール方法

Klipperのインストール:

1  # [Install]を選択
1  # [Klipper]を選択

# 以下の質問に回答:
# - Python 3を選択
# - インスタンス数:1を選択
# - グループメンバーシップの質問:Yesで回答

Moonrakerのインストール:

2  # [Moonraker]を選択

WebUIのインストール:

3  # [Mainsail]を選択
# マクロファイルのダウンロードを確認

メインメニューに戻る:

B  # Back to main menu

2-9. 便利なコマンド

# Klipperサービスの状態確認
sudo systemctl status klipper

# Moonrakerサービスの状態確認
sudo systemctl status moonraker

# サービスの再起動
sudo systemctl restart klipper
sudo systemctl restart moonraker

# ログの確認(問題の診断に使用)
tail -f /tmp/klippy.log

手順3: Klipperファームウェアのビルド

3Dプリンター(Ender3)用のKlipperファームウェアを作成します。ファームウェアとは3Dプリンターの制御基板(MCU)に書き込むソフトウェアのことです。先ほど、インストールしたKIAUHを使うことで、自分が持っている3Dプリンターに最適なファームウェアを自動で作成してくれます。ここでは私の環境であるEnder3用のファームウェアを紹介します。

手順の流れ:

  1. ビルドメニューへの移動 – KIAUHのAdvancedメニューからBuild onlyを選択
  2. 設定の選択 – Ender3用の設定(STM32F103、USB接続など)を選択
  3. ファームウェアの作成 – 設定に基づいてファームウェアファイルを生成
  4. ファイルの確認 – 作成されたファームウェアファイルの確認
  5. 次の準備 – SDカードへの書き込み準備

所要時間: 約10分(ビルド時間含む) 難易度: ⭐⭐☆☆☆(メニュー選択が中心)

3-1. ビルドメニューへのアクセス

KIAUHのメニュー画面が表示されている状態から始めます。

メインメニューからビルドメニューへの移動手順:

  1. メインメニューで「4」を入力してEnter
    • 画面に「[Advanced]」という項目があるので、その番号「4」を入力
    • これでAdvanced(高度な設定)メニューに移動します
  2. Advancedメニューで「2」を入力してEnter
    • 画面に「[Build only]」という項目があるので、その番号「2」を入力
    • これでファームウェアのビルドメニューに移動します

💡 メニューの見方:

  • 各項目の左側に番号が表示されています
  • その番号を入力してEnterキーを押すことで、その機能にアクセスできます
  • メインメニューに戻りたい場合は「B」を入力してEnterを押してください

KIAUHの使い方:「####### Perform action:」に数字やアルファベットを入力します。

Advanced(高度な設定)メニューに移動するとこのような画面になります。

Advancedメニューの選択肢について:

Advancedメニューが表示されると、以下のような選択肢が表示されます:

2) [Build only]
3) [Flash only]
4) [Build + Flash]
5) [Get MCU ID]
[B] Back to main menu

各選択肢の説明:

2) [Build only] – ビルドのみ

  • 機能: ファームウェアをコンパイル(ビルド)するだけ
  • ファームウェアファイル(.bin)を生成したい場合
  • 後で手動でフラッシュしたい場合
  • /home/pi/klipper/out/klipper.binファイルが作成される

3) [Flash only] – フラッシュのみ

  • 機能: 既存のファームウェアファイルをMCUに書き込む
  • 既にビルド済みのファームウェアがある場合
  • ファームウェアの更新のみを行いたい場合
  • 前提条件: 事前にビルドされた.binファイルが必要

4) [Build + Flash] – ビルド + フラッシュ

  • 機能: ファームウェアをビルドして、すぐにMCUに書き込む
  • 一連の作業を自動化したい場合
  • 流れ: ビルド → フラッシュ → 完了
  • 注意:Ender3(STM32)系のMCUでは使えません

5) [Get MCU ID]

  • 機能: MCU(プリンタ基板)の識別子(USBシリアルの安定パス or CANのUUID)を取得します
  • 用途: printer.cfg の [mcu] に正しい接続先を設定するため
  • 流れ: 接続確認 → 取得

[Get MCU ID] の使い方:

  1. プリンタ基板(MCU)をRaspberry Pi Zero 2wにUSB接続(CANならCAN配線と設定)
  2. 3DプリンターとRaspberry Pi Zero 2wを電源ON(必要なら一度抜き差し)
  3. KIAUH → Advanced → 5) Get MCU ID を実行
  4. 表示されたserial:またはcanbus_uuid:はMCUとRaspberry Pi Zero 2w間の認識に使います
serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0

STM32F103だとこのようなMCU IDになると思います。これはのちに説明するprinter.cfgファイルで使うので覚えておいてください。

💡 推奨: Ender3の場合は「2」「Build only」を選択することをおすすめします。これにより、ファームウェアファイル(.binファイル)が作成され、後で手動でMCUに書き込むことができます。この方法が最も安全で確実です。

3-2. ビルド設定

このような画面が表示されたら

[ ] Enable extra low-level configuration options
まずこれにチェックを入れます。

このように新たに表示されたと思います。

Micro-controller Architecture (Atmega AVR) —>を選択して、STMicroelectronics STM32を選びます。

Disable SWD at startup (for GigaDevice stm32f103 clones)にチェックします。

Ender 3の一般的な設定:

  • Processor: STM32F103(多くのEnder3系で使用されている)
  • Bootloader offset: 28KiB bootloader (Creality 4.2.xボード用)
  • Communication interface: Serial (on USART1 PA10/PA9) または USB (on PA11/PA12)

3-3. 私のKlipperファームウェア設定例

以下は私の環境での設定です(Raspberry Pi Zero 2wとMCUをUSB接続している場合)

[*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32)  --->
    Processor model (STM32F103)  --->
[ ] Only 10KiB of RAM (for rare stm32f103x6 variant) (NEW)
[*] Disable SWD at startup (for GigaDevice stm32f103 clones)
    Bootloader offset (28KiB bootloader)  --->
    Clock Reference (8 MHz crystal)  --->
    Communication interface (USB (on PA11/PA12))  --->
    USB ids  --->
()  GPIO pins to set at micro-controller startup (NEW)

💡 設定の注意点: Raspberry Pi Zero 2wとMCUをUSB接続しているのでUSB (on PA11/PA12)を選択しています。もし他の接続方法であれば、方法に沿ったものを選択してください。一番簡単な方法はUSB接続だと思います。

🔍 Processor modelがわからない方: MCUボード上の刻印から確認してください。

3-4. ビルドの実行

設定の保存手順:

  1. ビルド設定が終わったら、キーボードのQキーを押すと「Save configuration?」が表示されます。

(Y)esを選択すると、ファームウェアのビルド(作成)が開始されます。

ビルド中の画面:

  • コンパイルの進行状況が表示されます
  • 通常、数分から10分程度かかります
  • エラーが出た場合は、設定を見直して再試行してください

ビルド完了の確認: ビルドが正常に完了すると、以下のようなメッセージが表示されます:

これでビルドが完了しました。B) « BackでKIAUHのメインメニューに戻ります。

ファームウェアファイルの確認: 4. ビルド完了後、ファームウェアファイルが正しく作成されたか確認します:

# ファームウェアファイルの存在確認
ls ~/klipper/out/klipper.bin

# ファイルサイズの確認(通常1MB程度)
ls -lh ~/klipper/out/klipper.bin

正常な場合の出力例:

-rw-r--r-- 1 pi pi 1.2M Jan 15 10:30 /home/pi/klipper/out/klipper.bin

以上でRaspberry Pi Zero 2w側の設定が終了しました。

💡 ビルドが失敗した場合:

  • 設定に問題がある可能性があります
  • エラーメッセージを確認して、設定を見直してください
  • よくある問題:プロセッサーの選択が間違っている、通信インターフェースの設定が不適切

👇次のステップ: ビルドが成功したら、MCUにファームウェアを書き込む準備が整います。

手順4: MCUへのファームウェア書き込み

手順3で作成したKlipperファームウェアを3Dプリンター(Ender3)のMCUに書き込みます。これにより、3Dプリンター(Ender3)がKlipper制御に対応します。

手順の流れ:

  1. SDカードの準備 – MicroSDカード 8GBをFAT32でフォーマットします
  2. ファイル名の変更klipper.binfirmware.binにリネーム
  3. プリンターの電源切り – 完全に電源が切れるまで待つ
  4. SDカードの挿入 – プリンターの制御基板にSDカードを挿入
  5. 電源投入と書き込み – プリンターの電源を入れて書き込み開始

所要時間: 約15分(書き込み時間含む) 難易度: ⭐⭐☆☆☆(基本的な操作)

4-1. ファームウェア書き込み用のMicroSDカードを準備

📋 事前準備:

  • 8GBのSDカードを用意

💡 バックアップの推奨: 書き込み前に現在の設定(Marlinファームウェアなど)ファイルをバックアップすることをお勧めします。

SDカードのフォーマット: 初めにFAT32でSDカードをフォーマットします。これは余計なデータが入っていないことを確認するためです。

Windowsでのフォーマット方法:

  1. SDカードをパソコンに接続
  2. エクスプローラーでSDカードを右クリック
  3. 「フォーマット」を選択
  4. ファイルシステムを「FAT32」に設定
  5. 「開始」をクリック

macOS/Linuxでのフォーマット方法:

  1. SDカードをパソコンに接続
  2. ディスクユーティリティ(macOS)またはGParted(Linux)を使用
  3. SDカードを選択して「FAT32」でフォーマット

4-2. klipper.binファイルの取り出し方法

書き込み用のMicroSDカードの準備ができたらklipper.binファイルを取り出します。

簡単にklipper.binファイルを取り出す方法はWinSCPがおすすめです!

1. WinSCPの設定

WinSCPを開いて、「新しいサイト」から以下の設定を行います:

セッション設定:

  • 転送プロトコル: SFTP
  • ホスト名: [Raspberry Pi Zero 2wのホスト名]
  • ポート番号: 22
  • ユーザー名: [Raspberry Pi Imagerで設定したユーザー名]
  • パスワード: [Raspberry Pi Imagerで設定したパスワード]

設定完了後、「保存」をクリックしてセッションを保存します。

保存をするとセクション情報が追加されるので、再ログインが簡単になります。

2. Raspberry Piへの接続

保存したセッションを選択し、「ログイン」をクリックしてRaspberry Pi Zero 2wに接続します。

パスワードを入力して

警告が出ますが「承認」をクリックしてください。

3. klipper.binファイルの場所を確認

接続後、以下のディレクトリに移動します:

/home/[ユーザー名]/klipper/out/

すると、このような画面になると思います。

4. ファイルのダウンロード

klipper.binファイルを右クリックし、「ダウンロード」を選択して、ローカルPCの任意のフォルダに保存します。または、デスクトップ上にクリック&ドロップでコピーしてください。

💡 注意事項:

  • Raspberry PiのIPアドレスは、Raspberry Pi Imagerで設定したものと同じものを使用してください
  • ユーザー名とパスワードも、Raspberry Pi Imagerで設定した認証情報を使用してください
  • 初回接続時は、ホストキーの確認ダイアログが表示される場合がありますので、「はい」を選択してください

4-3. klipper.binファイル名の変更

klipper.binfirmware.binに名前を変えてください。

Creality 4.2.xボードの場合はfirmware.binにリネームしないといけません。他のボードの場合はメーカーの指示に従ってファイル名を変更してください。

名前の変更ができたら、MicroSDカードにfirmware.binを入れます。

推奨される命名方法:

Ender3(Creality 4.2.xボード)の場合:

  • 必須ファイル名: firmware.bin
  • 理由: STM32F103(多くのEnder3系で使用)はfirmware.binという名前のファイルのみを認識します
  • 手順: ビルドされたklipper.binfirmware.binにリネームしてからMicroSDカードにコピー

他の3Dプリンターの場合:

  • 各メーカーの公式ドキュメントを確認してください
  • 多くの場合、以下のいずれかの命名方法が使用できます:
    • firmware.bin
    • firmware-YYYYMMDD.bin(日付を含める)
    • klipper-YYYYMMDD.bin
    • firmware_v1.bin, firmware_v2.binなど
    • または任意でファイル名が決めれる

💡 ファイル名の変更が重要な理由: 多くの3Dプリンターのボードは、同じファイル名のファームウェアを再度書き込もうとすると、既に最新版と判断して書き込みをスキップします。そのため、必ず前回と異なるファイル名を使用してください。

Ender3(Creality 4.2.xボード)の特徴:

  • 書き込み完了後、firmware.binファイルは自動的に削除される場合があります
  • 再書き込みの場合も同じfirmware.binファイル名を使用できます
  • 書き込み中はLEDが点滅し、完了後は通常の状態に戻ります

4-4. MCUへのファームウェアの書き込み手順

ファームウェアファイルの準備ができたら、MCUに書き込んでいきます。

書き込み手順:

  1. 3Dプリンター(Ender3)の電源を切る
    • もし電源がついている場合は完全に電源が切れるまで待つ
    • Raspberry Pi Zero 2wとの接続を一時的に解除
  2. SDカードをMCUに挿入
    • 3Dプリンター(Ender3)のMCUのMicroSDカードスロットに挿入
    • 正しい向きで挿入されていることを確認
  3. 3Dプリンター(Ender3)の電源を入れる
    • 電源スイッチをONにする
    • ファームウェアの書き込みが自動的に開始される

注意: Raspberry Pi Zero 2wが接続されている場合はUSBケーブルを抜いて、MCUと接続されていない状態にしてください。

書き込みの確認:

  • 書き込み中: 通常、LEDが点滅するか、特定のパターンで光る
  • 書き込み時間: 1~5分程度で終わる
  • 書き込み完了: 数分後にLEDが通常の状態に戻る
  • Ender3の場合: Marlinファームウェアで使っていたモニターが使えなくなるので、書き込み完了後は何も表示されなくなる

書き込み完了後の確認:

  1. MicroSDカードの確認: 書き込みが完了すると、MicroSDカード内のファームウェアファイルが削除される場合があります
  2. 電源の再投入: 書き込み完了後、一度電源を切ってから再度入れる
  3. 接続テスト: Raspberry Pi Zero 2wとUSB接続して、Klipperが認識されるか確認

💡 注意事項:

  • 書き込み中は絶対に電源を切らないでください
  • SDカードは必ずFAT32でフォーマットしてください

手順5: ハードウェア接続とklipper.cfgの作成

Klipperの設定ファイルを作成します。これが最後の手順で、接続と設定が完了すればKlipperが動作するようになります。

手順の流れ:

  1. ハードウェア接続 – Raspberry Pi Zero 2wと3Dプリンター(Ender3)をUSBケーブルで接続
  2. 設定ファイルの作成 – MainsailOSのWeb画面でprinter.cfgファイルを作成
  3. 基本設定のコピー – Ender3用の設定をprinter.cfgに貼り付け
  4. 動作確認 – 各軸の移動テストで正常動作を確認
  5. 電源の切り方 – 安全な電源の切り方を学習

所要時間: 約20分 難易度: ⭐⭐☆☆☆(Web操作が中心)

5-1. ハードウェア接続

  1. Raspberry Pi Zero 2wとMCUの接続:
    • USBケーブルでRaspberry Pi Zero 2wとMCUを接続
    • 3DプリンターとRaspberry Pi Zero 2wを同時に電源投入
    • ブラウザでアクセス
  2. 接続確認: # USBデバイスの確認 ls /dev/serial/by-id/

💡 注意:Raspberry Pi Zero 2wとMCUを接続する前にRaspberry Pi Zero 2wの電源は切っておくこと

もしこの段階でprinter.cfgエラー以外にエラーが出た場合はほとんどが「手順3: Klipperファームウェアのビルド」で設定を間違えているか、ファームウェアの書き込みに失敗しているパターンが多いです。

あと実はちゃんとUSBケーブルが刺さってなかった(一度やからしました…!)などもあるので、すべてが接続されていることをしっかり確認してください!

Raspberry Pi Zero 2w電源の切り方:

# シャットダウンする場合
sudo shutdown -h now

# または
sudo poweroff

# 再起動する場合
sudo reboot

このコマンドを入力することでRaspberry Pi Zero 2wを安全にシャットダウンできます。

5-2. klipper.cfgファイルの作成

⚠️ 重要: klipper.cfgファイルがないとKlipperが正常に動作しません。

方法1: MainsailOSのWebインターフェースを使用(推奨)

  1. MainsailOSにアクセス:
    • ブラウザで http://mainsailos.local にアクセス
    • または設定したホスト名でアクセス
  2. 設定ファイルの作成:
    • 1. 左側のメニューから「MACHINE」をクリック
    • 2. 「Create File」ボタンをクリックして新しいファイルを作成
    • 3. ファイル名を printer.cfg にして「CREATE」をクリック
  3. サンプル設定のコピー:
    • 以下のEnder3の場合は以下の基本設定をコピー&ペースト
    • 「Save」ボタンをクリックして保存

方法2: コマンドラインを使用

  1. 設定ファイルの場所: 「# 設定ファイルディレクトリに移動 cd ~/printer_data/config」
  2. サンプル設定ファイルのコピー: 「# サンプルファイルをコピー cp ~/klipper/config/printer-creality-ender3-2020.cfg printer.cfg
  3. 設定ファイルの編集: 「# 設定ファイルを編集 nano printer.cfg

💡 推奨方法: 初心者の方には**方法1(Webインターフェース)**をお勧めします。ブラウザ上で直接編集できるため、より安全で分かりやすく操作できます。

Ender3用基本設定ファイル:

# Ender 3 基本設定ファイル (STM32F103)
# このファイルはEnder 3用のKlipper設定です
# STM32F103マイクロコントローラー用

[stepper_x]
step_pin: PB9
dir_pin: PC2
enable_pin: !PC3
microsteps: 16
rotation_distance: 40
endstop_pin: ^PA5
position_endstop: 0
position_max: 235
homing_speed: 50

[stepper_y]
step_pin: PB7
dir_pin: PB8
enable_pin: !PC3
microsteps: 16
rotation_distance: 40
endstop_pin: ^PA6
position_endstop: 0
position_max: 235
homing_speed: 50

[stepper_z]
step_pin: PB5
dir_pin: !PB6
enable_pin: !PC3
microsteps: 16
rotation_distance: 8
# position_endstop: 0.0                     # BLTouch を使う場合は無効化
# endstop_pin: ^PA7                         # BLTouch を使う場合は無効化
endstop_pin: probe:z_virtual_endstop    # BLTouch を使う場合は有効化
position_min: -5                        # BLTouch を使う場合は有効化
position_max: 250

[safe_z_home]                         # BLTouch 用に有効化
home_xy_position: 157.5,120.5
speed: 100
z_hop: 10
z_hop_speed: 5

[bltouch]                             # BLTouch 用(高速モード)
sensor_pin: ^PB1
control_pin: PB0
pin_up_touch_mode_reports_triggered: True
probe_with_touch_mode: True
x_offset: -44                         # BLTouch の取付位置に合わせて調整
y_offset: -6                          # BLTouch の取付位置に合わせて調整
#z_offset: 0.0                         # BLTouch 用に調整するか PROBE_CALIBRATE を実行
speed: 10
samples: 3
sample_retract_dist: 5.0              # 高さにより低め可(例 2.5)。BLTouch の取付高さに依存
lift_speed: 40
samples_tolerance_retries: 3
speed: 10
samples: 2

[bed_mesh]
speed: 80
horizontal_move_z: 5
mesh_min: 18,18
mesh_max: 175,202
probe_count: 5,5
algorithm: bicubic

[gcode_macro G29]
gcode:
    G28
    BED_MESH_CALIBRATE
    G0 X0 Y0 Z10 F6000
    BED_MESH_PROFILE save=default
    SAVE_CONFIG

[extruder]
max_extrude_only_distance: 100.0
step_pin: PB3
dir_pin: PB4
enable_pin: !PC3
microsteps: 16
rotation_distance: 33.500
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PA1
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC5
control: pid
pid_Kp: 21.527
pid_Ki: 1.063
pid_Kd: 108.982
min_temp: 0
max_temp: 250

[heater_bed]
heater_pin: PA2
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC4
control: pid
pid_Kp: 54.027
pid_Ki: 0.770
pid_Kd: 948.182
min_temp: 0
max_temp: 130

[fan]
pin: PA0

[mcu]
serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
restart_method: command

[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_accel_to_decel: 3000
max_z_velocity: 5
max_z_accel: 100

[display]
lcd_type: st7920
cs_pin: PB12
sclk_pin: PB13
sid_pin: PB15
encoder_pins: ^PB14, ^PB10
click_pin: ^!PB2

[board_pins]
aliases:
  EXP1_1=PC6,EXP1_3=PB10,EXP1_5=PB14,EXP1_7=PB12,EXP1_9=<GND>
  EXP1_2=PB2,EXP1_4=PB11,EXP1_6=PB13,EXP1_8=PB15,EXP1_10=<5V>
  PROBE_IN=PB0,PROBE_OUT=PB1,FIL_RUNOUT=PC6

[include mainsail.cfg]

# フィルメントセンサー(オプション)
# [filament_switch_sensor filament_sensor]
# switch_pin: ^PA3
# pause_on_runout: True
# runout_gcode: PAUSE

# ディスプレイ設定(オプション)
# [display]
# lcd_type: st7920
# cs_pin: PA4
# sclk_pin: PA5
# sid_pin: PA7
# encoder_pins: ^PA2, ^PA3
# click_pin: ^!PA0
# kill_pin: ^!PA1 

💡 注意:最低限のものしかありません。必要に応じて追加してください。

ちなみにWinSCPでファイルにアクセスしてconfigファイルの中身を見ると

/home/pi/klipper/config

様々なメーカーの3Dプリンターに対応したprinter.cfgのサンプルが入っています。

最後に私が使っているprinter.cfgファイルを添付しておきますのでそちらも参考にしてみてください。

printer.cfgファイルを追加したことでエラーメッセージが消えたと思います。

設定ファイルの保存後:

  • 設定ファイルを保存すると、Klipperが自動的に再起動します
  • エラーがないか確認してください
  • エラーがある場合は、設定を見直して修正してください

MainsailOSの警告を消す方法:

printer.cfgを入れて再起動するエラーメッセージ消えて、今度はMissing configurationというメッセージが出てきたと思います。この警告は、Mainsailを正常に動作するために必要な設定ファイル(mainsail.cfg)がないからです。

まずprinter.cfgファイルを作ったように「mainsail.cfg」ファイルを作ります。

ここにアクセスしてコードをコピーして、「mainsail.cfg」の中に張り付けてください。

最後にprinter.cfgに1行追加:

既存のprinter.cfgファイルの最初の部分に以下の1行を追加:

[include mainsail.cfg]

これで警告が消えたと思います!

各設定の役割

  • virtual_sdcard: ファイルアップロード機能
  • display_status: ステータス表示機能
  • pause_resume: 一時停止・再開機能
  • マクロ群: 印刷制御のためのコマンド

この設定により、MainsailOSが最適に動作するようになります。

5-3. 動作確認

Klipperの接続確認:

  1. MainsailOS画面の確認:
    • ブラウザでMainsailOSにアクセス
    • 右上のステータスが「Ready」になっているか確認
  2. プリンターの動作確認:
    • 「Control」タブで各軸の移動テスト
    • X軸、Y軸、Z軸、エクストルーダーの動作確認
  3. エラーがないか確認:
    • 設定ファイルにエラーがある場合は赤文字で表示されます
    • エラーがある場合は修正してから再起動してください

💡 正常に動作している場合:

  • MainsailOS画面でプリンターの状態が表示される
  • 各軸の移動が正常に動作する
  • エラーメッセージが表示されない

5-4. 電源の切り方

電源の切り方はとっても簡単です。パソコンの電源を落とすような感じで電源を切ります。

推奨方法:

  1. MainsailOSですべてをシャットダウン:
    • MainsailOSのWebインターフェースから「Power」ボタンをクリック
    • 「shutdown」ボタンをクリック
    • システムが正常にシャットダウンするまで待つ
  2. Raspberry Pi Zero 2wの緑点灯が消えるのを確認:
    • 緑のLEDが消えたら、システムが完全に停止した証拠です
  3. 電源を切る:
    • 3Dプリンター本体の電源スイッチをOFF
    • Raspberry Pi Zero 2wの電源を切る

適切な電源の切り方をしないといけない理由:

  • データ破損の防止: MainsailOSを正常にシャットダウンすることで、Raspberry Pi Zero 2wのMicroSDカード内のデータ破損を防げます
  • 安全な停止: システムが完全に停止してから電源を切ることで、安全に停止できます
  • 緑点灯の確認: Raspberry Pi Zero 2wの緑LEDが消えることで、システムが完全に停止したことを確認できます

緊急停止時:

  • 緊急停止ボタン: MainsailOS画面の「Emergency Stop」ボタンをクリック
  • 物理的な電源切り: プリンター本体の電源スイッチをOFF
  • Raspberry Pi Zero 2w: 緊急時のみ、直接電源を切る

重要な注意事項:

  • Raspberry Pi Zero 2wの急な電源切りは避ける: SDカード内のデータが破損する可能性があります
  • 印刷中に急に電源を切らない: ノズルが詰まる可能性があります
  • 緑点灯が消えるまで待つ: システムが完全に停止したことを確認してから電源を切ってください
  • 緊急時以外は、MainsailOSの「Power」ボタンを使用: システムが正常にシャットダウンします

トラブルシューティング

Klipper導入時に発生しやすい問題とその解決方法を紹介します。

よくある問題と解決方法

1. MainsailOSにアクセスできない

  • 症状: ブラウザでmainsailos.localにアクセスできない
  • 原因: ネットワーク設定やホスト名の問題
  • 解決方法: IPアドレスでの直接アクセス、ルーター設定の確認

2. Klipperが接続されない

  • 症状: 「Klipper not ready」と表示される
  • 原因: USB接続、シリアルポート設定の問題
  • 解決方法: USBケーブルの確認、シリアルポートの確認

3. ファームウェアの書き込みが失敗

  • 症状: ファームウェアの書き込みが始まらない
  • 原因: ファイル名、SDカードフォーマットの問題
  • 解決方法: ファイル名の変更、SDカードの再フォーマット

4. 設定ファイルのエラー

  • 症状: printer.cfgファイルでエラーが表示される
  • 原因: 構文エラー、設定値の問題
  • 解決方法: 構文チェック、設定値の確認

5. プリンターが動作しない

  • 症状: 各軸の移動テストでエラーが発生
  • 原因: ピン設定、エンドストップの問題
  • 解決方法: 設定ファイルの確認、ハードウェア接続の確認

ログの確認方法

  • MainsailOS画面の「Terminal」タブでログを確認
  • エラーメッセージの意味と対処法

よくあるエラーメッセージ

1. “Klipper not ready”

  • 意味: Klipperが正常に起動していない
  • 対処法: USB接続の確認、設定ファイルの確認

2. “Missing configuration”

  • 意味: 設定ファイル(printer.cfg)が見つからない
  • 対処法: 設定ファイルの作成、ファイル名の確認

3. “Serial connection error”

  • 意味: シリアル通信に問題がある
  • 対処法: USBケーブルの確認、シリアルポートの確認

4. “Pin configuration error”

  • 意味: ピン設定に問題がある
  • 対処法: 設定ファイルのピン設定を確認

5. “Endstop error”

  • 意味: エンドストップに問題がある
  • 対処法: ハードウェア接続の確認、設定の確認

klipper導入時によく見たエラーメッセージです。英語で書かれているのでわからないこともあると思いますが、google翻訳などに訳してもらえばなんとなく原因がわかると思うので一個ずづ解決していきましょう!

まとめ

この記事ではEnder3へのKlipper導入について詳しく解説してきました。

Klipperで何ができて、どうやって導入するのか知りたい方には、ぜひ参考にしていただきたい情報です。

Klipperの導入により、3Dプリンターの制御が大幅に改善され、より高速で精密な印刷が可能になり、制御できるようになります。

導入完了後の確認事項:

  • ✅ MainsailOSが正常に起動している
  • ✅ KlipperファームウェアがMCUに書き込まれている
  • ✅ klipper.cfgファイルが作成されている
  • ✅ プリンターの各軸が正常に動作する
  • ✅ MainsailOS画面でプリンターの状態が表示される

しかし、これだけでは満足いく印刷物は実現できません!

次のステップ:

  • 基本的なキャリブレーション: Z軸オフセット、ベッドレベル調整、エクストルーダーのキャリブレーション
  • 高度な機能の設定: 圧縮テスト、入力整形、BLTouchの設定(使用する場合)
  • カメラの追加: リモートモニタリング機能の設定
  • マクロの作成: よく使う操作の自動化
  • スライサー設定の最適化: Klipper用の設定に調整

キャリブレーションテストを行うことで格段に印刷物の精度があがります。次のステップはまたの機会に説明したいと思います。

これで、Ender3でのKlipper導入編は完了です。快適な3Dプリントライフをお楽しみください!

My printer.cfgファイル

# This file contains pin mappings for the Creality "v4.2.7" board. To
# use this config, during "make menuconfig" select the STM32F103 with
# a "28KiB bootloader" and serial (on USART1 PA10/PA9) communication.

# If you prefer a direct serial connection, in "make menuconfig"
# select "Enable extra low-level configuration options" and select
# serial (on USART3 PB11/PB10), which is broken out on the 10 pin IDC
# cable used for the LCD module as follows:
# 3: Tx, 4: Rx, 9: GND, 10: VCC

# Flash this firmware by copying "out/klipper.bin" to a SD card and
# turning on the printer with the card inserted. The firmware
# filename must end in ".bin" and must not match the last filename
# that was flashed.

# See docs/Config_Reference.md for a description of parameters.

[include mainsail.cfg] 

######################################################################
# stepperX Y
######################################################################

[stepper_x]
step_pin: PB9
dir_pin: PC2
enable_pin: !PC3
microsteps: 16
rotation_distance: 40
endstop_pin: ^PA5
position_endstop: 0
position_max: 235
homing_speed: 50

[stepper_y]
step_pin: PB7
dir_pin: PB8
enable_pin: !PC3
microsteps: 16
rotation_distance: 40
endstop_pin: ^PA6
position_endstop: 0
position_max: 235
homing_speed: 50

######################################################################
# stepperZ
######################################################################

[stepper_z]
step_pin: PB5
dir_pin: !PB6
enable_pin: !PC3
microsteps: 16
rotation_distance: 8
endstop_pin: ^PA7
# position_endstop: 0.0
endstop_pin: probe:z_virtual_endstop    # BL-touch を使う場合、追加
position_min: -10    # マイナス方向への移動を許可
position_max: 250

######################################################################
# bltouch
######################################################################

[bltouch]
sensor_pin: ^PB1
control_pin: PB0
speed: 50
x_offset: -40       # BL-touch プローブの位置
y_offset: -10       # BL-touch プローブの位置
#z_offset: 0     # BL-touch 停止位置と Z 0.0 までのオフセット
                    # マイナスではなく、プラスの値となる

# BL-touch を使う場合、[bltouch] 項目を追加
# x_offset と y_offset のプラマイ設定は marlin と同じ


# *     +-- BACK ---+
# *     |    [+]    |
# *   L |        1  | R <-- Example "1" (right+,  back+)
# *   E |  2        | I <-- Example "2" ( left-,  back+)
# *   F |[-]  N  [+]| N が Nozzle の位置
# *   T |       3   | H <-- Example "3" (right+, front-)
# *     | 4         | T <-- Example "4" ( left-, front-)
# *     |    [-]    |
# *     O-- FRONT --+

[safe_z_home]
home_xy_position: 157.5, 117.5    # ベッドの中心位置(235/2=117.5)に変更
speed: 120
z_hop: 10                    # プローブ検出後の再検出速度 10mm
z_hop_speed: 5               # プローブ検出後の再検出速度 5mm/s

# marlin でも使っていた、BL-touch を使う上での z 軸を安全に保つ設定

[bed_mesh]
speed: 120
horizontal_move_z: 8
mesh_min: 40, 15 # BLTouchのオフセットを考慮して修正
mesh_max: 190, 220 # 190(235-40-5X方向), 190(235-10-5Y方向)#安全マージンを確保
probe_count: 5,5
mesh_pps: 2,2
algorithm: bicubic
fade_start: 1.0
fade_end: 10.0
    # Y軸(220)
    # ↑
    # |
    # |
    # |
    # +----→ X軸(190)

# memo
# speed = 120
# horizontal_move_z = 5
# mesh_min = 10, 10
# mesh_max = 180, 200
# probe_count = 3, 3
# ベッドのレベリング設定の参照値

######################################################################
# extruder
######################################################################

[extruder]
max_extrude_only_distance: 100.0
step_pin: PB3
dir_pin: PB4
enable_pin: !PC3
microsteps: 16
rotation_distance: 33.500
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PA1
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC5
control: pid
pid_Kp: 21.527
pid_Ki: 1.063
pid_Kd: 108.982
min_temp: 0
max_temp: 260
max_extrude_only_velocity: 25    # フィラメント押出の最大速度
max_extrude_only_accel: 1500     # フィラメント押出の最大加速度
pressure_advance: 0
pressure_advance_smooth_time: 0.040

[heater_bed]
heater_pin: PA2
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC4
control: pid
pid_Kp: 54.027
pid_Ki: 0.770
pid_Kd: 948.182
min_temp: 0
max_temp: 130

[fan]
pin: PA0

[mcu]
serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
restart_method: command

######################################################################
# printer
######################################################################

[printer]
kinematics: cartesian
max_velocity: 150
max_accel: 1000
square_corner_velocity: 5.0
max_z_velocity: 5
max_z_accel: 100

[board_pins]
aliases:
  EXP1_1=PC6,EXP1_3=PB10,EXP1_5=PB14,EXP1_7=PB12,EXP1_9=<GND>,
  EXP1_2=PB2,EXP1_4=PB11,EXP1_6=PB13,EXP1_8=PB15,EXP1_10=<5V>,
  PROBE_IN=PB0,PROBE_OUT=PB1,FIL_RUNOUT=PA4

######################################################################
# Raspberry Pi Zero 2 W 固有の設定
######################################################################

[temperature_sensor raspberry_pi] # Raspberry Piの温度を監視
sensor_type: temperature_host    # Raspberry Piのホスト温度センサーを使用
min_temp: 10                     # 最低温度アラート(10℃)
max_temp: 100                    # 最高温度アラート(100℃)

# CPU負荷を考慮した設定
[virtual_sdcard]
path: ~/printer_data/gcodes
on_error_gcode: CANCEL_PRINT


######################################################################
# マクロ
######################################################################

[gcode_macro G29]
gcode:
    G28
    BED_MESH_CALIBRATE
    G0 X0 Y0 Z10 F6000
    BED_MESH_PROFILE save=default
    SAVE_CONFIG

※私の環境は最初に記載しています。マクロはG29のみ追加しています。