FAQ_en - ghzserg/zmod GitHub Wiki
FAQ
- FAQ
- Frequently Asked Questions
- How is ZMOD different from KlipperMod/native firmware?
- What is a MACRO? How to Run, Download, and Use It
- I'm using the screen version. I send a file to print, but the screen shows temperature 0 0 and printing doesn't start.
- Do I need to change anything in the start code?
- How does Z-Offset work?
- What options are available for bed leveling?
- Why are animal names periodically mentioned in the documentation?
- Where are settings stored? How to make changes to moonraker/klipper/zmod?
- What's the difference between using the screen and without the native screen?
- What is an alternative camera?
- Strain Gauge Reset Error
- Known features
- AD5X Specifics
- How to Contact Support
- Frequently Asked Questions
Frequently Asked Questions
[!Note] Installed the mod.
Don't want to figure anything out - print as you did before.
No need to configure or change anything anywhere.
Decided you're ready to move forward - proceed by reading the documentation.
How is ZMOD different from KlipperMod/native firmware?
Differences between KlipperMod and ZMOD:
- KlipperMod uses its own Klipper
- ZMOD uses standard Klipper from the native firmware
- KlipperMod works with KlipperScreen/GuppyScreen and without the native screen
- ZMOD works with the native screen/GuppyScreen and without the native screen
- KlipperMod uses Moonraker-timelapse
- ZMOD uses moonraker-telegram-bot on an EXTERNAL host with timelapse support
Different philosophies:
- KlipperMod is essentially an alternative firmware implementation.
- ZMOD has minimal intervention in the native firmware. All native firmware features are preserved.
This is why ZMOD won't include G17, G18, G19 - even though it's simple. There won't be updates to native Klipper, no renaming or changes to standard macros, settings, pin names, etc.
ZMOD is NOT based on KlipperMod and is NOT its evolution. However, ZMOD uses some macros and scripts from KlipperMod and incorporates some of its developments. Don't expect ZMOD to behave similarly to KlipperMod.
ZMOD is binary incompatible with KlipperMod.
What's in KlipperMod but not in ZMOD:
- KlipperScreen - printer screen. ZMOD uses the native screen instead.
- Moonraker-timelapse - ZMOD uses a Telegram bot
- Network configuration via iwd - ZMOD configures the network via the native screen
- Automatic USB-Flash connection. In ZMOD, USB drives work only via the native screen. No requests for USB support without the native screen have been made.
What's in ZMOD but not in KlipperMod:
- AD5X support
- Support for the following languages: English, German, French, Italian, Spanish, Chinese, Japanese, Korean
- Native screen support
- Print recovery after power loss
- Automatic print stop on part detachment or nozzle collision
- Adaptive bed leveling KAMP
- Shaper calibration with graphs considering SCV (square_corner_velocity)
- Bed screw adjustment
- PID calibration for extruder and bed, including via GuppyScreen
[!Note] No PID tuning for the heated bed, see here AD5X
- MD5 checksum for network file transfers
- Automatic updates for
Fluidd
/Mainsail
/Moonraker
and ZMOD over the network - COLDPULL (nozzle cleaning) without force. Implementation of this algorithm
- Entware
- Fixed E0011 error
- Fixed E0017 error
- File/permission/symlink check and repair for the native filesystem
- GuppyScreen additions: PID calibration, damper control, firmware rollback, nozzle cleaning, strain gauge reset, screw adjustment, ColdPull, enhanced bed leveling
- Disabled Chinese clouds
- Fixed driver cooling fans. They auto-activate when motors run. On native firmware - only during printing.
What's in ZMOD but not in native firmware:
- Moonraker/Fluidd/Mainsail support
- Telegram bot support
- All features listed in the comparison with KlipperMod
What is a MACRO? How to Run, Download, and Use It
A macro is a small program written in Klipper/Gcode.
It can be called:
- From a GCODE file
- From the Fluidd/Mainsail console hedgehog
I'm using the screen version. I send a file to print, but the screen shows temperature 0 0 and printing doesn't start.
Add these two lines at the very beginning of the start code:
M190 S[bed_temperature_initial_layer_single]
M104 S[nozzle_temperature_initial_layer]
Without these lines, the printer screen doesn't know the target temperatures for the nozzle and bed. hippopotamus
Do I need to change anything in the start code?
If using the native screen, no changes are needed.
For operation without the native screen/Guppy (also recommended with the screen), replace the entire start code with:
START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]
M190 S[bed_temperature_initial_layer_single]
M104 S[nozzle_temperature_initial_layer]
SET_PRINT_STATS_INFO TOTAL_LAYER=[total_layer_count]
And the end code with:
END_PRINT
For correct layer counting in Fluidd, add to the layer change code:
SET_PRINT_STATS_INFO CURRENT_LAYER={layer_num + 1}
To enable auto-leveling for every print, enter once in Fluidd/Mainsail console:
SAVE_ZMOD_DATA CLOSE_DIALOGS=2 PRINT_LEVELING=1 USE_KAMP=1
Via the printer screen menu: Settings
-> WiFi icon
-> Network Mode
-> enable Local Networks Only
.
Read the documentation for START_PRINT and SAVE_ZMOD_DATA to utilize advanced ZMOD features.
For firmware retraction, read the documentation and add to Filament Profile
-> Advanced
-> Filament Start G-code
:
SET_RETRACTION RETRACT_LENGTH=[filament_retraction_length]
raccoon
How does Z-Offset work?
When using the screen, the mod doesn't interfere with z-offset. The z-offset saved on the screen is used.
Z-offset adjustments via Fluidd/Mainsail/GuppyScreen only affect until reboot. Changing it without understanding nozzle movement is not recommended.
Any SET_GCODE_OFFSET
call (automatically triggered when adjusting Z-offset from Fluid/Mainsail/GuppyScreen) saves the current z-offset to the mod's global parameters. This saved value is used only if the LOAD_ZOFFSET global parameter is enabled (disabled by default; enable with SAVE_ZMOD_DATA LOAD_ZOFFSET=1
), native screen isn't used, and the START_PRINT macro is utilized.
Z-offset can also be set via START_PRINT parameters:
- Z_OFFSET - Set Z offset (0.0)
- SKIP_ZOFFSET - For native screen printing, don't set Z offset as the screen handles it (True for native screen/False otherwise)
What options are available for bed leveling?
To enable auto-leveling for every print, enter once in Fluidd/Mainsail console:
SAVE_ZMOD_DATA CLOSE_DIALOGS=2 PRINT_LEVELING=1 USE_KAMP=1
The native screen always uses:
MESH_DATA
by defaultDEFAULT
ifleveling
is checked (bed leveling before print).DEFAULT
is deleted after printing.
Without the native screen, the auto
mesh is auto-loaded on startup.
To use another mesh, disable auto-leveling (SAVE_ZMOD_DATA PRINT_LEVELING=0
):
- Specify via the
MESH
parameter in START_PRINT. E.g.,START_PRINT MESH=my_80_degree_mesh
- Load via
BED_MESH_PROFILE LOAD=my_80_degree_mesh
in filament profile. Ensure consistency between profile andSTART_PRINT
, or disable nozzle cleaning inSTART_PRINT
. - Pre-level using AUTO_FULL_BED_LEVEL. E.g.,
AUTO_FULL_BED_LEVEL EXTRUDER_TEMP=230 BED_TEMP=80 PROFILE=my_80_degree_mesh
Via global parameters
Use PRINT_LEVELING
and USE_KAMP
parameters. Enable with:
SAVE_ZMOD_DATA PRINT_LEVELING=1
SAVE_ZMOD_DATA USE_KAMP=1
By modifying the start code and START_PRINT macro
Examples:
[!IMPORTANT] The parameter FORCE_LEVELING or FORCE_KAMP is not a separate macro, but a parameter of the Start Print Macro.
- Full leveling:
START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single] FORCE_LEVELING=True
- Adaptive leveling:
START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single] FORCE_KAMP=True
Via macros and buttons in Fluidd
Use:
- AUTO_FULL_BED_LEVEL (Fluidd button
BED LEVELING
) - KAMP
- Standard Klipper macros (not recommended)
Why are animal names periodically mentioned in the documentation?
Documentation is often unread, though 90% of questions are answered here. To verify if someone actually read it, animal names are hidden in the text. If directed here, read the docs and mention the animal related to your question:
Where are settings stored? How to make changes to moonraker/klipper/zmod?
What's the difference between using the screen and without the native screen?
[!IMPORTANT] Do not disable the screen unless you fully understand bed leveling, z-offset, and START_PRINT/END_PRINT macros
Disabling the screen saves RAM but changes print management (start/pause/resume/cancel/recovery). Modify start/end G-code accordingly. elk
Without the screen, Z-offset from the screen isn't applied. Use START_PRINT parameters or global settings. Details
Read features of screenless operation.
What is an alternative camera?
The native camera, which is turned on from the screen, has a number of disadvantages.
- High RAM consumption
- Low image quality
- Only one connection to the camera. Having opened it in the orc, you will no longer see it in the browser
- Periodic image dumps
The alternative camera uses a patch from Alexander (which reduces RAM consumption), allows you to change the resolution, fps, allow multiple connections, does not overcompress the image, is easily restarted and is configured with a macro. hare
- Disable the native camera on the printer screen.
- Call the macro CAMERA_ON
Read: I installed a printer, and ZMOD hid my camera!
I installed the printer, but ZMOD hid my camera! In Orca-FF I could see it, but now it's gone!
In Fluidd: Settings
-> Cameras
. Create a new camera with:
- Stream URL:
http://your_IP:8080/?action=stream
- Snapshot URL:
http://your_IP:8080/?action=snapshot
In versions up than 1.4.3
, you can also specify:
- Stream type:
MJPEG stream
- Stream URL:
/webcam/?action=stream
- Snapshot URL:
/webcam/?action=snapshot
For advanced features, use alternative camera. mole
Assign a static IP to the printer on your router.
I have 2 cameras / how to disable/turn the camera
If you do not have a camera, or you are not satisfied with the settings of the automatic camera, then you need to open a file through Fluidd / Mainsal mod_data/user.moonraker.conf
Settings
And write:
To disable the camera:
[webcam video]
enabled: false
To turn the camera:
[webcam video]
rotation: 90
Strain Gauge Reset Error
How to fix:
- Update ZMOD. The issue was resolved in version 1.1.1 by Igor Polunovskiy and Alexander K.
- Clean the nozzle
- Clean the bed
- Reboot
[!Note] Calibrate the strain gauges
-
Use bed leveling from the original firmware (works in screen mode)
Recommended when using the screen
SAVE_ZMOD_DATA CLOSE_DIALOGS=2 PRINT_LEVELING=1 USE_KAMP=1
Carefully read the documentation for SAVE_ZMOD_DATA
To use bed leveling via the printer’s screen, go to the
Settings
->WiFi icon
->Network Mode
-> enable theLocal Network Only
toggle. -
Use automatic printer reboot after printing (
SAVE_ZMOD_DATA AUTO_REBOOT=1
or automatic firmware restart when working without the screen:SAVE_ZMOD_DATA AUTO_REBOOT=2
).
baboon
Cannot Update MCU
After rebooting, the following error appears:
!! Cannot update MCU 'eboard' config as it is shutdown
Rebooting the printer is an abnormal operating mode.
This is why, when installing the original firmware, you are asked to power off the printer and turn it back on.
During a reboot, power is not removed from the MCU, meaning the program stored in the MCU continues running. This program attempts to communicate with Klipper, which is unavailable during the reboot, causing the MCU to freeze or disconnect.
In this case, you have one option:
- Execute
FIRMWARE_RESTART
— this will freeze the original screen. - Power off the printer and turn it back on.
The difference between REBOOT
and FIRMWARE_RESTART
is that REBOOT
restarts Linux and Klipper on the motherboard, while FIRMWARE_RESTART
partially restarts Klipper and fully restarts the MCU.
I Switched the Web Interface, and Now Nothing Works
If you switched the interface using the WEB macro выхухоль:
- Press
Ctrl + F5
. - If the issue persists in Orca, press
Ctrl + F5
again. лисица - For other browsers, clear the cache and cookies, then navigate to the printer’s IP without additional characters:
http://PRINTER_IP/
- If still unresolved, try another browser (Firefox, Chrome, Yandex, Opera, etc.).
I Access the Printer via Orca/Browser and See "Welcome to Moonraker"
ZMOD uses the following ports:
7125
— Moonraker8080
— Camera80
— Fluidd/Mainsail
To access the printer, enter its IP address without specifying a port. кролик
What is Firmware Retraction?
In ZMOD, Fluidd/Mainsail has sliders to adjust firmware retraction speed and distance. These do not affect prints unless the G-code file is sliced with firmware retraction enabled.
Firmware retraction allows adjusting retraction during printing without reslicing.
Instead of commands like G1 E-.5 F2100
, use G10
for retraction and G11
for unretraction.
To enable in Orca:
Printer Settings
-> General
-> Advanced
-> Enable Use Firmware Retraction
.
To modify default retraction settings:
Edit user.cfg
in Fluidd (Configuration
-> mod_data
-> user.cfg
):
[firmware_retraction]
retract_length: 0.9
retract_speed: 35
unretract_extra_length: 0
unretract_speed: 35
SET_RETRACTION
parameters (configure per filament):
RETRACT_LENGTH
: Filament retract/unretract distance.RETRACT_SPEED
: Retraction speed.UNRETRACT_SPEED
: Unretraction speed (often lower).UNRETRACT_EXTRA_LENGTH
: Extra filament length during unretraction.
Example in Orca:
Filament Profile
-> Override Parameters
-> Retraction
-> Length
Filament Profile
-> Advanced
-> Start G-code
:
SET_RETRACTION RETRACT_LENGTH=[filament_retraction_length]
Use GET_RETRACTION
to view current settings.
After installing ZMOD, my screen is dead and not responding to touches.
- Install the latest native firmware and ZMOD updates
- Read known issues bison
- You might have disabled the screen. Enable it with the DISPLAY_ON macro
I have installed the latest version, and the developer says you need to update.
-
Make sure you put the latest version from a flash drive
-
Go to the web interface.
Settings-> Software updates-> Press Check for update
- Update all components tree climber
- Reboot the printer
I want to remove ZMOD - I have to recalib?
No - all settings are saved
Entware in ZMOD: How to Use It
Warning! There is no Entware in AD5X
- SSH into the printer (
root
:root
, port22
). - Run:
export PATH="$PATH:/opt/bin/:/opt/sbin/"
- Now you can use
mc
oropkg
:- Update package database:
opkg update
- Install a package:
opkg install mc
- Update package database:
Entware directories:
/opt/bin
,/opt/sbin
,/opt/etc
,/opt/home
,/opt/lib
,/opt/libexec
,/opt/root
,/opt/share
,/opt/tmp
,/opt/usr
,/opt/var
Known features
AD5X Specifics
AD5X
Features of AD5X operation:
- No Entware, therefore:
- Slow closing of dialogs
CLOSE_DILALOGS
does not work, useFAST_CLOSE_DILAOGS
NEW_SAVE_CONFIG
does not work
- Slow closing of dialogs
- No PID calibration of the table, because the table is 220 volts and is not controlled by PID
- No strain gauges, as a result there is no table protection (
NOZZLE_CONTROL
) and strain gauge reset (LOAD_CELL_TARE
). - When activating the camera, specify VIDEO3
- No filament presence/movement sensor available from the clipper
- Sound does not work
- In the mode without a native screen, it is not possible to match colors with plastic in the spools, the color control unit is not available
In the mode with a native screen, the COLOR macro is used to match physical spools and colors
To send for printing from Fluid, you just need to select the file and click "Print", then the color matching menu will open:
You need to match the colors of the spools loaded into the printer with the colors from the file with gcode.
Attention!!! Orca numbers only those colors that are used in the model.
It does not matter how many types of rod you have filled in, Orca will number in order only those that are used.
It is recommended to remove unnecessary rods, since there are some nuances.
For example, you have rods with numbers 1, 2, 3, 4.
You use 1 and 3, in the file they will be designated as 1 and 2.
Accordingly, in the menu for selecting and comparing rods, you need to operate with those designated:
- "In the file: 1 - In the coil..."
- "In the File: 2 - In the coil...".
[!IMPORTANT] Before writing a ticket that the colors are selected incorrectly, remember what you pressed.
How to Contact Support
- Update ZMOD to the latest version.
- Describe the issue clearly (screenshots, photos, text).
- Run CLEAR_EMMC to clear logs.
- Power off the printer.
- Power it back on.
- Reproduce the issue.
- Run TAR_CONFIG to save logs.
- Submit the issue with
config.tar
and description. - Open a GitHub issue.