ファームウェアの扱いと設定

公式ファームウェアのダウンロード

KINGROON KP3S公式ファームウェアは以下からダウンロード可能だ。

KINGROON KP3Sは、当初MCUにSTM32F103のみを搭載していた。

しかし、新型コロナ下での半導体製造の混乱によって、2021年の後半ぐらいからSTM32F407、GD32F303の2種類が加わった。

2022年1月現在では、その3種類が使われているということだ。

これはKINGROON KP3Sだけに特異な事情というわけでなく、FLASHFORGEが発売するVOXELAB Aquila S2/X2に搭載されるN32マザーボード、SKR mini e3などでも同様の事情があるそうだ。

3種は入り交じって出荷されており、ユーザーが選んで買うことはできない。

その関係で、現在はMCU別にファームウェアが分かれている。

純正ファームウェアの場合、STM32F103とGD32F303はファームウェアに互換性があり、STM32F407だけが独自のファームウェアを必要とする。

ユーザーとしては自身が所有しているKINGROON KP3Sのマザーボードを確認した上で、適切なファームウェアを選択して使うことに気を使わなければならなくなった。

2022年1月時点で入手できるファームウェアの一覧を作った。いずれもTitanエクストルーダーを搭載するKINGROON KP3S 3.0用のもの。

KP3S 1.0で使う場合には、エクストルーダーの回転方向やSTEPSを変更する必要がある。

設定対応MCUリンク
ノーマルSTM32F103 / GD32F303KP3S-Firmware-20210726stm103gd32.zip
ノーマルSTM32F407KP3S_F407-Firmware-20210710.zip
レーザーヘッドなし(STM32F103)KP3_V1.0.7_2021.12.16.zip
3D Touchなし(STM32F103)KP3S-Firmware-3Dtouch (2).zip
ノーマル
(古いバージョン)
なし(STM32F103)KP3S-Firmware-Titan (1).zip
3D Touch
(古いバージョン)
なし(STM32F103)KP3S-Firmware-3Dtouch.zip

対応MPUがうたわれていないものは当初からあるSTM32F103用。GD32F303との互換性もあると思われるが、GD32F303は搭載メモリが少なく、GD32F303とSTM32F103とは完全な互換性があるわけでないので動作の保証はない。

公式ファームウェアには、工場出荷時にインストールされているノーマル版、つまりマニュアルベッドレベリング版と、3D Touchへの対応があらかじめ設定された3D Touch対応版、そしてレーザーヘッド版の3種類ある。

KINGROON KP3Sのファームウェアアップデート方法

KINGROON KP3Sのファームウェアアップデート方法は簡単。

Micro SDカードのルートディレクトリに「Robin_nano.bin」というファイルを置いて本体に差し込み、電源をオンにするだけだ。

「Robin_nano.bin」の存在を確認するとアップデート処理が開始され、アップデート終了後に自動的に再起動がかかり、アップデートされた状態で動作が始まる。

image alt

アップデート処理が終わると、次回起動時にまたアップデートがかかってしまわないように「Robin_nano.bin」は「ROBIN_NANO.CUR」というファイル名に変更される。

もう一度アップデートをかけたい場合は、「ROBIN_NANO.CUR」と変更されたファイル名を「Robin_nano.bin」に戻せばいいだけだ。

公式ファームウェアには、アップデート時に必要なリソースファイルが付属している。

アップデート時には、こちらも「Robin_nano.bin」といっしょにMicro SDカードのルートディレクトリに置いておく。

.
├── Robin_nano.bin
├── mks_font
│   ├── GBK16.bin
│   └── UNIGBK.bin
├── mks_pic
│   ├── bmp_Add.bin
│   ├── bmp_Dec.bin
│   ├── bmp_about.bin
(中略)
│   ├── bmp_zDec.bin
│   ├── bmp_zero.bin
│   ├── bmp_zeroA.bin
│   ├── bmp_zeroX.bin
│   ├── bmp_zeroY.bin
│   └── bmp_zeroZ.bin
└── robin_nano_cfg.txt

公式ファームウェアをアップデートした後は、以下のようにファイル名やディレクトリ名が変更される。

.
├── ROBIN_NANO.CUR
├── bak_font
│   ├── GBK16.bin
│   └── UNIGBK.bin
├── bak_pic
│   ├── bmp_Add.bin
│   ├── bmp_Dec.bin
│   ├── bmp_about.bin
(中略)
│   ├── bmp_zDec.bin
│   ├── bmp_zero.bin
│   ├── bmp_zeroA.bin
│   ├── bmp_zeroX.bin
│   ├── bmp_zeroY.bin
│   └── bmp_zeroZ.bin
└── robin_nano_cfg.CUR

もう一度アップデートをかけたい場合は、変更されたそれらを元に戻す必要がある。

なお、後出の「設定ファイルrobin_nano_cfg.txtの日本語版」には、ファイル名を戻すシェルスクリプト、Windows用バッチファイルを同梱しておいた。

1
2
3
4
5
6
#!/bin/sh

mv ROBIN_NANO.CUR Robin_nano.bin
mv bak_font mks_font
mv bak_pic mks_pic
mv robin_nano_cfg.CUR robin_nano_cfg.txt

公式ファームウェアの問題点

公式ファームウェアは、KINGROON Official Storeで販売されている3D Touchにしか対応しておらず、Trianglelabなどの社外製の3D Touchが動作しない。

KINGROONが公式に指定する3D Touchは以下だ。

どこまで動作するのかという事情が情報がなくて分からないが、公式ファームウェアで楽に済ませたい人が自動ベッドレベリングをやりたい場合は、KINGROON Official Storeで販売されている3D Touchを買っておくに越したことはない。

もし、社外の3D Touchを買ってしまい動作せずに困っている場合は、Marlinを導入すると解決できる可能性が高い。

筆者はTrianglelab製の3D Touchを買ってしまいこの罠にはまったが、Marlinを導入して事なきを得た。

なお、MPUが3種類に増えて以降、増えたGD32F303、STM32F407を対象にしたビルド方法を検証した例はまだないと思われるので、導入の際は注意してほしい。

Marlinなどの非公式ファームウェアへの書き換えと公式ファームウェアへの復元

Marlin、Klipperなど非公式のファームウェアへの書き換えも、ビルドしたバイナリをファイル名「Robin_nano.bin」にしてMicro SDカードのルートに置いて電源ONでOKだ。

一度Marlinなどの非公式ファームウェアに書き換えても、同じ手順で公式ファームウェアに戻すことが可能だ。

非公式ファームウェアのダウンロードリンクは以下のページに収集しておいた。

非公式ファームウェアは、STM32F103が前提のものと考えて、GD32F303組、STM32F407組は慎重に対応してほしい。

設定ファイルrobin_nano_cfg.txt

公式ファームウェアはテキストファイルであるrobin_nano_cfg.txtで設定を変更することが可能だ。

KINGROON KP3SのファームウェアはオープンソースソフトウェアのMarlinベース。

Marlinの設定変更はConfiguration.hなどのヘッダーファイルを変更し、開発環境を整えてコンパイルしないとならないが、KINGROON KP3Sのファームウェアはこのrobin_nano_cfg.txtがConfiguration.h代わりというわけだ。

公式ファームウェアは設定変更のために開発環境を用意する必要がない。

robin_nano_cfg.txtの中身はMarlinのConfiguration.hで見た項目が並んでいる。

メーカー公式でここまで設定をいじれる3Dプリンターは、恐らくKINGROON KP3Sぐらいのものだろう。

設定ファイルrobin_nano_cfg.txtの日本語版

オリジナルのrobin_nano_cfg.txtには中国語のコメントが付いているが、これを日本語化したものを用意した。

通常版、3D Touch版に加え、マニュアルメッシュレベリング版も同梱した。

日本語化済みKINGROON KP3S公式ファームウェア設定ファイルダウンロード:

  • 変更履歴
    • 2022.01.26 Ver.0.0.4 KINGROON KP3S 3.0用の設定に変更
    • 2021.03.27 Ver.0.0.3 3D Touch版のエクストルーダーの動作方向(INVERT_E0_DIR)がノーマル版と逆なのがおかしいので修正。これは、公式の設定が間違っている
    • 2021.03.21 Ver.0.0.2 マニュアルメッシュベッドレベリング版の設定を追加

ちょっと長いがここにも貼っておこう。これは3D Touch対応版の方だ。何が設定できるかの参考になるだろう。

KINGROON KP3SのMod(改造パーツ)の中には3D Touchのブラケットの位置を移動するもの、エクストルーダーの換装を行なうものがあるが、それらはこの設定ファイルの変更によって対応が可能と思われる。

  • エクストルーダーの換装時に確認が必要な設定
    • INVERT_E0_DIR 1
    • DEFAULT_E0_STEPS_PER_UNIT 768
  • 3D Touch取り付け時に確認が必要な設定
    • X_PROBE_OFFSET_FROM_EXTRUDER 27.5
    • Y_PROBE_OFFSET_FROM_EXTRUDER 0
    • LEFT_PROBE_BED_POSITION 30
    • RIGHT_PROBE_BED_POSITION 170
    • FRONT_PROBE_BED_POSITION 30
    • BACK_PROBE_BED_POSITION 170

#robin_nano_cfg.txt [3D Touch] 日本語版 2022.1.26 Version.0.0.4 by @hitoriblog
################# MKS Robin nano configuration #######################
#このオプションは、工場出荷時のテストでのみ利用可能です

cfg_hardware_test_enable 0 # ハードウェアテスト有効

#=================== 高度な機能設定 =======================================

cfg_insert_det_module 0 # アクセス停電検出モジュール (1:mks 220det; 0:mks pwc)

cfg_have_ups_device 0 # マシンにUPS電源が搭載されているかどうか (1:yes; 0:no)

cfg_print_over_auto_close 1 # プリントオーバーシャットダウン設定 (1:on; 0:off) 「プリントオーバーシャットダウンモジュール」と同時に使用

cfg_filament_det0_trigger_level 0 # E0断線検出インタフェースのトリガレベル設定 (1:ハイレベルトリガ; 0:ローレベルトリガ)
cfg_filament_det1_trigger_level 0 # E1断線検出インタフェースのトリガレベル設定 (1:ハイレベルトリガ; 0:ローレベルトリガ)

cfg_filament_load_length 100 # フィラメントロード時の送り量
cfg_filament_load_speed 800 # フィラメントロード時の送り速度 (単位:mm/min)
cfg_filament_load_limit_temperature 200 # フィラメントロード実行下限温度 (単位:℃)

cfg_filament_unload_length 100 # フィラメントアンロード時の送り量
cfg_filament_unload_speed 800 # フィラメントアンロード時の送り速度 (単位:mm/min)
cfg_filament_unload_limit_temperature 200 # フィラメントアンロード実行下限温度 (単位:℃)

#=========================== レベリングボタンの構成 =============================

cfg_leveling_mode 1 # レベリングモードの設定 (1:自動レベリング; 0:手動レベリング)

#=========================== 手動レベリング ==================================

cfg_point_number 5 # 手動レベリングポイント数 (3, 4, 5を設定可能)

cfg_point1:20,20
cfg_point2:160,20
cfg_point3:160,160 # 5点のレベリング位置座標の手動調整
cfg_point4:20,160
cfg_point5:90,90

#========================== 自動レベリング時実行G-code ===================================

#各命令はセミコロン「;」で区切らなければなりません

cfg_auto_leveling_cmd:G28;G29;

#=================== 言語設定 ==========================================

cfg_language_adjust_type 1 # 言語切り替え設定 (1:画面ボタンで言語を切り替え; 0:プロファイルオプションで言語を切り替え)

cfg_language_type 2 # 言語 (1:簡体字中国語; 2:ドイツ語; 3:英語; 4:ロシア語; 5:日本語; 6:フランス語; 7:イタリア語; 8:スペイン語)
# この設定は cfg_multiple_language が 0 に設定されている場合のみ有効

#================== カスタム機能ボタンのカスタマイズ =================================

#設定画面カスタマイズ機能 1

setmenu_func1_display 1 # (1:ボタンを表示; 0:ボタンなし)

#各命令はセミコロン「;」で区切らなければなりません

setmenu_func1:M84;

moreitem_pic_cnt 0 # 「more」ボタンの数

#ボタン1〜ボタン7のカスタムコマンド
#各命令はセミコロン「;」で区切らなければなりません
#各ボタンの設定コマンドは最大200バイト以下である必要があります

moreitem_button1_cmd:G28 X0;G28 Y0;G28 Z0;

moreitem_button2_cmd:G28 X0;G28 Y0;G28 Z0;

moreitem_button3_cmd:G28 X0;G28 Y0;G28 Z0;

moreitem_button4_cmd:G28 X0;G28 Y0;G28 Z0;

moreitem_button5_cmd:G28 X0;G28 Y0;G28 Z0;

moreitem_button6_cmd:G28 X0;G28 Y0;G28 Z0;

moreitem_button7_cmd:G28 X0;G28 Y0;G28 Z0;

#印刷画面の「more」ボタンの数

morefunc_cnt 0

#ボタン1~ボタン6 機能設定

morefunc1_cmd:G28;
morefunc2_cmd:G28;
morefunc3_cmd:G28;
morefunc4_cmd:G28;
morefunc5_cmd:G28;

#————————————————————-

######## ディスプレイのカスタマイズ (ボタンとロゴのカスタマイズについてはマニュアルを参照してください) ##########

cfg_background_color 0x000000 # 画面の背景色
cfg_title_color 0xFFFFFF # タイトル文字
cfg_state_bkcolor 0x000000 # ステータスバーの背景色
cfg_state_textcolor 0xFFFFFF # ステータスバーのフォントの色
cfg_filename_bkcolor 0x494949 # ファイルディレクトリボタンの背景色
cfg_filename_textcolor 0xFFFFFF # ファイルディレクトリボタンのフォント色
cfg_btn_bkcolor 0x494949 # ユニバーサルボタンの背景色
cfg_btn_textcolor 0xFFFFFF # ユニバーサルボタンのテキスト色
cfg_state_btn_bkcolor 0x494949 # ステータスボタンの背景色
cfg_state_btn_textcolor 0xFFFFFF # ステータスボタンのフォント色
cfg_back_btn_bkcolor 0x494949 # 「戻る」ボタンの背景色
cfg_back_btn_textcolor 0xFFFFFF # 「戻る」ボタンのフォント色
cfg_sel_btn_bkcolor 0x494949 # ボタンの背景色を選択
cfg_sel_btn_textcolor 0xFFFFFF # 選択したボタンのフォント色
cfg_dialog_btn_bkcolor 0xff0000 # ダイアログボックスボタンの背景色
cfg_dialog_btn_textcolor 0xFFFFFF # ダイアログボックスボタンのフォント色

cfg_btn_text_offset 5 # ボタンのフォントオフセット下端の位置 (単位:ピクセル)

cfg_screen_display_mode 0 # 画面ホーム表示モード (0:クラシックモード; 1:ミニマムモード)

#============================= 基本設定 =========================

MACHINETPYE 0 # モデル設定 (0:直交; 1:DELTA; 2:COREXY)

HAS_TEMP_BED 1 # ヒートベッドをオンにする (1:オン; 0:オフ)

EXTRUDERS 1 # エクストルーダーの数

Z2_STEPPER_DRIVERS 0 # ダブルZ機能を有効にする (1:有効; 0:無効)

#XYZシャフトトラベル (単位:mm)

X_MIN_POS 0
Y_MIN_POS 0
Z_MIN_POS 0
X_MAX_POS 180
Y_MAX_POS 180
Z_MAX_POS 180

#一時停止後の押出ヘッド停止位置

FILAMENT_CHANGE_X_POS 5 # X位置 (絶対座標値)
FILAMENT_CHANGE_Y_POS 5 # Y位置 (絶対座標値)
FILAMENT_CHANGE_Z_ADD 5 # Z位置 (相対座標値)

#デュアルヘッド使用時の第1エクストルーダーから第2エクストルーダーのXYオフセット値

HOTEND_OFFSET_X 20.00 # X軸オフセット (単位:mm)
HOTEND_OFFSET_Y 5.00 # Y軸オフセット (単位:mm)

#============================== ステッピングモータの設定 ============================

#モーターの回転方向設定

INVERT_X_DIR 0
INVERT_Y_DIR 0
INVERT_Z_DIR 1
INVERT_E0_DIR 1
INVERT_E1_DIR 0

#動作パラメータの設定

DEFAULT_X_STEPS_PER_UNIT 160 # X軸デフォルトパルス数 (単位:steps/mm)
DEFAULT_Y_STEPS_PER_UNIT 160 # Y軸デフォルトパルス数 (単位:steps/mm)
DEFAULT_Z_STEPS_PER_UNIT 800 # Z軸デフォルトパルス数 (単位:steps/mm)
#MK8の場合はDEFAULT_E0_STEPS_PER_UNITは185
#BMGの場合はDEFAULT_E0_STEPS_PER_UNITは768
DEFAULT_E0_STEPS_PER_UNIT 768 # E0軸デフォルトパルス数 (単位:steps/mm)
DEFAULT_E1_STEPS_PER_UNIT 90 # E1軸デフォルトパルス数 (単位:steps/mm)

DEFAULT_X_MAX_FEEDRATE 200 # X軸デフォルト速度 (単位:mm/s)
DEFAULT_Y_MAX_FEEDRATE 200 # Y軸デフォルト速度 (単位:mm/s)
DEFAULT_Z_MAX_FEEDRATE 4 # Z軸デフォルト速度 (単位:mm/s)
DEFAULT_E0_MAX_FEEDRATE 100 # E0軸デフォルト速度 (単位:mm/s)
DEFAULT_E1_MAX_FEEDRATE 100 # E1軸デフォルト速度 (単位:mm/s)

DEFAULT_X_MAX_ACCELERATION 1000 # X軸デフォルトの最大加速度 (change/s) change = mm/s
DEFAULT_Y_MAX_ACCELERATION 1000 # Y軸デフォルトの最大加速度 (change/s) change = mm/s
DEFAULT_Z_MAX_ACCELERATION 100 # Z軸デフォルトの最大加速度 (change/s) change = mm/s
DEFAULT_E0_MAX_ACCELERATION 1000 # E0軸デフォルトの最大加速度 (change/s) change = mm/s
DEFAULT_E1_MAX_ACCELERATION 1000 # E1軸デフォルトの最大加速度 (change/s) change = mm/s

DEFAULT_ACCELERATION 1000 # X,Y,Z,E印刷時のデフォルトアクセラレーション
DEFAULT_RETRACT_ACCELERATION 1000 # X,Y,Z,E リトラクトのデフォルトの加速度
DEFAULT_TRAVEL_ACCELERATION 1000 # X,Y,Z トラベル中のデフォルトの加速
DEFAULT_MINIMUMFEEDRATE 0.0 # デフォルトの最低速度
DEFAULT_MINSEGMENTTIME 20000 # キャッシュが空の場合の移動に必要な最小時間 (単位:ms)
DEFAULT_MINTRAVELFEEDRATE 0.0 #

DEFAULT_XJERK 15.0 # デフォルトのX軸 Jerk (単位:mm/s)
DEFAULT_YJERK 15.0 # デフォルトのY軸 Jerk (単位:mm/s)
DEFAULT_ZJERK 0.4 # デフォルトのZ軸 Jerk (単位:mm/s)
DEFAULT_EJERK 5.0 # デフォルトのE軸 Jerk (単位:mm/s)

#ステッパーイネーブルピン反転 (0:Low; 1:High)

X_ENABLE_ON 0
Y_ENABLE_ON 0
Z_ENABLE_ON 0
E_ENABLE_ON 0

#============================= 温度設定 ============================

TEMP_SENSOR_0 1 # (1:100kサーミスタ; -3:MAX31855熱電対)

EXTRUDE_MINTEMP 170 # 印刷時の最低エクストルーダー動作温度 (保護用)
HEATER_0_MINTEMP 5 # ヒーター0最低温度
HEATER_0_MAXTEMP 275 # ヒーター0最高温度
HEATER_1_MINTEMP 5 # ヒーター1最低温度
HEATER_1_MAXTEMP 275 # ヒーター1最高温度
BED_MAXTEMP 150 # ヒートベッドの最高温度

#======================== 熱保護構成 =======================

THERMAL_PROTECTION_PERIOD 45 # (単位:秒) マシンが頻繁にErr7を表示する場合は、値を適切に増加させることで対処可能
THERMAL_PROTECTION_HYSTERESIS 5 # (単位:℃)
WATCH_TEMP_PERIOD 45 # (単位:秒) / Err5 が頻繁に発生する場合は、値を適切に上げてください
WATCH_TEMP_INCREASE 2 # (单位:℃)
THERMAL_PROTECTION_BED_PERIOD 45 #(単位:秒) Err7 が頻繁に発生する場合は、値を適切に上げてください
THERMAL_PROTECTION_BED_HYSTERESIS 5 # (単位:℃)
WATCH_BED_TEMP_PERIOD 45 # (単位:秒) Err6 が頻繁に発生する場合は、値を適切に上げてください
WATCH_BED_TEMP_INCREASE 2 # (単位:℃)

#ホットエンド温度制御パラメータ設定

PIDTEMPE 1 # モード選択 (1:PID; 0:bang-bang)
DEFAULT_Kp 24 # P値設定
DEFAULT_Ki 0.88 # I値設定
DEFAULT_Kd 80 # D値設定

#ヒートベッド温度調節パラメータ設定

PIDTEMPBED 0 # モード選択 (1:PID; 0:bang-bang)
DEFAULT_bedKp 10.00 # P値設定
DEFAULT_bedKi 0.023 # I値設定
DEFAULT_bedKd 305.4 # D値設定

#============================== リミットスイッチ設定 ===========================

MIN_SOFTWARE_ENDSTOPS 1 # (0:ソフトリミット無効; 1:ソフトリミット有効)
MAX_SOFTWARE_ENDSTOPS 1 # (0:ソフトリミット無効; 1:ソフトリミット有効)

#リミットスイッチのオンオフ信号設定

X_MIN_ENDSTOP_INVERTING 1 # X_MINリミットスイッチのノーマルオープン/ノーマルクローズ選択
Y_MIN_ENDSTOP_INVERTING 1 # Y_MINリミットスイッチのノーマルオープン/ノーマルクローズ選択
Z_MIN_ENDSTOP_INVERTING 1 # Z_MINリミットスイッチのノーマルオープン/ノーマルクローズ選択
X_MAX_ENDSTOP_INVERTING 0 # X_MAXリミットスイッチのノーマルオープン/ノーマルクローズ選択
Y_MAX_ENDSTOP_INVERTING 0 # Y_MAXリミットスイッチのノーマルオープン/ノーマルクローズ選択
Z_MAX_ENDSTOP_INVERTING 0 # Z_MAXリミットスイッチのノーマルオープン/ノーマルクローズ選択
Z_MIN_PROBE_ENDSTOP_INVERTING 0 # Z_PROBEリミットスイッチのノーマルオープン/ノーマルクローズ選択
FIL_RUNOUT_INVERTING 0 # フィラメント切れスイッチのノーマルオープン/ノーマルクローズ選択

#リミットスイッチまたはプローブを使用するためのインターフェースを示します

USE_XMIN_PLUG 1 # (1:使用; 0:不使用)
USE_YMIN_PLUG 1 # (1:使用; 0:不使用)
USE_ZMIN_PLUG 1 # (1:使用; 0:不使用)
USE_XMAX_PLUG 0 # (1:使用; 0:不使用)
USE_YMAX_PLUG 0 # (1:使用; 0:不使用)
USE_ZMAX_PLUG 1 # (1:使用; 0:不使用)

#============================== ホーミング設定 ==============================

X_HOME_DIR -1 # X軸のホーミング (1=MAX方向; -1=MIN方向 :[-1,1])
Y_HOME_DIR -1 # Y軸のホーミング (1=MAX方向; -1=MIN方向 :[-1,1])
Z_HOME_DIR -1 # Z軸のホーミング (1=MAX方向; -1=MIN方向 :[-1,1])
HOMING_FEEDRATE_XY 2400 # XY軸のホーミング速度 (単位:mm/m)
HOMING_FEEDRATE_Z 600 # Z軸のホーミング速度 (単位:mm/m)
HOME_Y_BEFORE_X 0 # ホーミング時のXY軸の順番 (0:Xが先; 1:Yが先)

#============================= Z軸プローブの設定 =============================

#プローブインターフェイス Z-Min または Z-Max

Z_MIN_PROBE_PIN_MODE 2 # (0:未使用; 1:Z_MINに接続; 2:ZMAXに接続)

Z_PROBE_OFFSET_FROM_EXTRUDER -0.8 # Z オフセット: -below +above [the nozzle]
X_PROBE_OFFSET_FROM_EXTRUDER 27.5 # X オフセット: -left +right [of the nozzle]
Y_PROBE_OFFSET_FROM_EXTRUDER 0 # Y オフセット: -front +behind [the nozzle]
XY_PROBE_SPEED 4000 # プローブXY軸移動速度 (単位:mm/m)
Z_PROBE_SPEED_FAST 600 # ダブルプロービング時の最初のアプローチの速度 (PROBE_DOUBLE_TOUCH設定時)
Z_PROBE_SPEED_SLOW 300 # 各ポイントの「正確な」プローブの速度

#=============================== ヒートベッドのレベリング設定 ==============================

BED_LEVELING_METHOD 3 # (0:不使用; 3:多点自動レベリング; 5:手動メッシュレベリング)

GRID_MAX_POINTS_X 3 # X軸グリッド数 (<= 15)
GRID_MAX_POINTS_Y 3 # Y軸グリッド数 (<= 15)
Z_CLEARANCE_DEPLOY_PROBE 20 # Z軸リフト量/ローディスタンス (> 0)
Z_CLEARANCE_BETWEEN_PROBES 20 # 2つのレベリングポイント間を移動中のZ軸の高さ (> 0)

#プローブがヒートベッドに到達できる境界距離の設定

LEFT_PROBE_BED_POSITION 30
RIGHT_PROBE_BED_POSITION 170
FRONT_PROBE_BED_POSITION 30
BACK_PROBE_BED_POSITION 170

MESH_INSET 20 # 手動メッシュレベリングモード時の境界距離範囲

#============================== デルタ型の設定 =============================

DELTA_SEGMENTS_PER_SECOND 40 #–default
DELTA_DIAGONAL_ROD 346.75 #Center-to-center distance of the holes in the diagonal push rods.
DELTA_SMOOTH_ROD_OFFSET 211.5 #Horizontal offset from middle of printer to smooth rod center.
DELTA_EFFECTOR_OFFSET 28 #Horizontal offset of the universal joints on the end effector.
DELTA_CARRIAGE_OFFSET 14.5 #Horizontal offset of the universal joints on the carriages.
DELTA_RADIUS 169 #Horizontal distance bridged by diagonal push rods when effector is centered.
DELTA_HEIGHT 302 #height from z=0.00 to home position
DELTA_PRINTABLE_RADIUS 125 #Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers).
DELTA_CALIBRATION_RADIUS 100 #set the radius for the calibration probe points - max 0.8 * DELTA_PRINTABLE_RADIUS

#============================= Z軸プローブの設定 =============================

BLTOUCH 1 # (0:BLTOUCH無効化; 1:BLTOUCH有効化)

#end.

3D Touch対応版と通常版のファームウェア設定の相違点

通常版と、3D Touch対応版のファームウェアの違いは、設定ファイルであるrobin_nano_cfg.txtの内容の違いだけだ。

そこで、通常版と3D Touch対応版のrobin_nano_cfg.txtの相違点をまとめた。

接頭辞としての文字数を合わせるため、3D Touch対応版は「対応版」と略した。

通常版: cfg_leveling_mode 0
対応版: cfg_leveling_mode 1
.
通常版: Z_MIN_PROBE_ENDSTOP_INVERTING 1
対応版: Z_MIN_PROBE_ENDSTOP_INVERTING 0
.
通常版: Z_PROBE_OFFSET_FROM_EXTRUDER 0
対応版: Z_PROBE_OFFSET_FROM_EXTRUDER -3.2
.
通常版: X_PROBE_OFFSET_FROM_EXTRUDER 0
対応版: X_PROBE_OFFSET_FROM_EXTRUDER 27.5
.
通常版: BED_LEVELING_METHOD 0
対応版: BED_LEVELING_METHOD 3
.
通常版: RIGHT_PROBE_BED_POSITION 180
対応版: RIGHT_PROBE_BED_POSITION 170
.
通常版: BACK_PROBE_BED_POSITION 180
対応版: BACK_PROBE_BED_POSITION 170
.
通常版: BLTOUCH 0
対応版: BLTOUCH 1

公式ファームウェアの画像をカスタマイズするための情報

画像からbinへの変換方法など、MKS Robin NanoベースのマザーボードであるKINGROON KP3SのMarlin 2.xビルドに役立ちそうな情報がある。

KINGROON KP3Sの液晶はMKS TFT24。解像度は320x240。

公式ファームウェアのmks_pic下の画像はBinary RGB565形式で、以下のオンライン画像変換サービスで以下のような条件で変換するとよいそう。

  • True color
  • Binary RGB565

画像のカスタマイズ情報。

画像のカスタムにはImage2Lcdというツールを使うらしい。

ここにImage2Lcdのほか、似たツールがある。