Basic Information:
Printer Model: Geeetech Mizar-S
MCU / Printerboard: Proprietary Geeetech’s board GTM32_LCD35_A10 - STM32F103VET6 controller
Host / SBC: Orange Pi zero3
klippy (1).log (270.4 KB)
Hello Klipper community!
I’m struggling to configure my Geeetech Mizar-S printer with Klipper. The printer uses the nozzle itself as a probe, which works flawlessly with the stock Marlin firmware. But with Klipper, things get messy.
The Problem:
The “official” geeetech’s config uses [bltouch] with x/y/z_offset: 0 (since the nozzle is the probe). During PROBE_CALIBRATE, Klipper calculates a negative z_offset, which it rejects. Even with a loaded bed mesh, the nozzle scrapes the bed if I leave z_offset at 0. The probe does trigger correctly during manual tests, so the hardware works. (I tested it using tests described in the BL-Touch article on klipper’s website) And I understand the reasons for negative z_offset and it’s ok, there gotta be another way? ![]()
What I’ve Tried:
-
Checked the Marlin firmware sources: The probe uses a BLTouch-like protocol where Marlin sends servo angles to
SERVO0(e.g., to activate/stow the probe) - it iscontrol_pinin klipper’s config. -
The printer’s proprietary printhead board seems to translate these angles into probe actions.
-
Found similar setups (like the Anycubic Vyper) that use
[probe]with customactivate_gcodeinstead of[bltouch]and I think it might be a solution with the right gcode
My Questions:
-
Config Approach:
- I Found a
[servo]andSET_SERVOcommands in klipper’s G-Code references. Can I replace[bltouch]with[probe]and useactivate_gcodeto mimic Marlin’s servo commands? For example:
[probe] pin: ... activate_gcode: SET_SERVO SERVO=my_servo ANGLE=... ; Lower probe deactivate_gcode: SET_SERVO SERVO=my_servo ANGLE=... ; Raise probe- Can I map Marlin’s BLTouch servo angles to Klipper’s
SET_SERVOvalues?
- I Found a
-
Safety concerns
- If I define
[servo]in printer.cfg and useSET_SERVOinactivate_gcode, could incorrect angles crash the nozzle into the bed or make some other damage? Could it be made relatively safe?
- If I define
Context:
- Marlin firmware sources: Mizar-S/Marlin2.0.7 at main · Geeetech3D/Mizar-S · GitHub
- There is other mizar-s thread with similar problem which is named “Can I force Klipper Just simply retry in the event of BL touch failed to deploy?” (cant post more than 2 links)
Any advice or examples would save my sanity. Thank you all!