FAQ_en - ghzserg/zmod GitHub Wiki

FAQ

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.

@zmod_help_bot

How is ZMOD different from KlipperMod/native firmware? Known Peculiarities
Configuration Storage Screenless Version Notes
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?
What is an alternative camera? I installed the printer, but ZMOD hid my camera!
I have 2 cameras / how to disable/turn the camera I have installed the latest version, and the developer says you need to update
I'm using the screen version. I send a file to print, but the screen shows temperature 0 0 and printing doesn't start After installing ZMOD, my screen is dead and not responding to touches
What's the difference between using the screen and without the native screen? I want to remove ZMOD - I have to recalib?
Cannot Update MCU What is a MACRO? How to Run, Download, and Use It
I Access the Printer via Orca/Browser and See "Welcome to Moonraker" I Switched the Web Interface, and Now Nothing Works
Entware in ZMOD: How to Use It What is Firmware Retraction?
AD5X Specifics How to Contact Support
How to change the boot logo

Configuration Storage

Access the mod_data folder via Fluidd web interface: ConfigurationConfiguration Filesmod_data

  • Custom Klipper settings go into mod_data/user.cfg, which can override/supplement printer_base.cfg and zMod files.
  • Custom Moonraker settings go into mod_data/user.moonraker.cfg.
  • Custom MIDI files are stored in mod_data/midi/.
  • Global mod settings are saved via the SAVE_ZMOD_DATA macro.
  • Shutdown scripts are stored in mod_data/power_off.sh.
  • Power on scripts are stored in mod_data/power_on.sh.

Top


Known Peculiarities:

  • During actions like M109 (extruder heating), M190 (bed heating), PID calibration, or any gcode-pausing task, the stock screen freezes.
  • Restarting Klipper freezes the stock screen (use NEW_SAVE_CONFIG for restarts).
  • After canceling a print, press "OK" on the stock screen (use CLOSE_DIALOGS or [FAST_CLOSE_DIALOGS](https://github.com/ghzserg/zmod/wiki/Main_en#f ast_close_dialogs)).
  • The stock screen always loads the DEFAULT_MESH profile when starting a print and deletes the Default profile post-print.

Top


Screenless Version Notes:

  • Remove all start gcode and use START_PRINT and END_PRINT macros.
  • Stock camera disabled; use the alternative via CAMERA_ON.
  • Manually set [Z_OFFSET] in START_PRINT or use LOAD_ZOFFSET to load saved offsets.
  • Bed mesh auto loads automatically on startup.
  • FlashForge protocol is unsupported (handled by the screen). Use "Octo/Klipper":
    • Protocol: Octo/Klipper
    • Hostname: printer_IP:7125
    • URL: printer_IP

Top


How is ZMOD different from KlipperMod/native firmware?

Differences between KlipperMod and ZMOD:

  • KlipperMod uses pure Klipper with minimal Flashforge 5m (pro)-specific changes.
  • ZMOD uses the standard Klipper from the native firmware, as well as Klipper 13.
  • KlipperMod uses KlipperScreen as a printer screen.
  • ZMOD uses the native screen or GuppyScreen instead of KlipperScreen.
  • 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 - screen for the printer. In ZMOD, native screen or GuppyScreen is used instead of KlipperScreen
  • Moonraker-timelapse - ZMOD uses Telegram bot
  • Network configuration via iwd/wpa_supplicant (in case of guppyscreen) - in ZMOD network configuration is done through the native screen, network startup is possible even without the native screen

What's in ZMOD but not in KlipperMod:

What's in ZMOD but not in native firmware:

  • Moonraker/Fluidd/Mainsail support
  • Klipper 13 support
  • Telegram bot support
  • All features listed in the comparison with KlipperMod

Top


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

List of macros

Top


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

Top


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]

START_PRINT EXTRUDER_TEMP=... BED_TEMP=... should be written on one line

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

Top


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 default
  • DEFAULT if leveling 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 and START_PRINT, or disable nozzle cleaning in START_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

Top


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
    

Top


Via macros and buttons in Fluidd

Use:

Top


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:

Top


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.

Top


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!

Top


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.

Top


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

Top


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.

Top


I Switched the Web Interface, and Now Nothing Works

If you switched the interface using the WEB macro выхухоль:

  1. Press Ctrl + F5 or Ctrl + Shift + R or Option + Command + E
  2. If the issue persists in Orca, press Ctrl + F5 or Ctrl + Shift + R or Option + Command + E again. fox
  3. For other browsers, clear the cache and cookies, then navigate to the printer’s IP without additional characters: http://PRINTER_IP/
  4. If still unresolved, try another browser (Firefox, Chrome, Yandex, Opera, etc.).

Top


I Access the Printer via Orca/Browser and See "Welcome to Moonraker"

ZMOD uses the following ports:

  • 7125 — Moonraker
  • 8080 — Camera
  • 80 — Fluidd/Mainsail

To access the printer, enter its IP address without specifying a port. кролик

How to configure in Orca

Top


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.

Top


After installing ZMOD, my screen is dead and not responding to touches.

Top


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
image

Top


I want to remove ZMOD - I have to recalib?

No - all settings are saved

Top


Entware in ZMOD: How to Use It

Warning! There is no Entware in AD5X

  1. SSH into the printer (root:root, port 22).
  2. Run: export PATH="$PATH:/opt/bin/:/opt/sbin/"
  3. Now you can use mc or opkg:
    • Update package database: opkg update
    • Install a package: opkg install mc

Entware directories:

  • /opt/bin, /opt/sbin, /opt/etc, /opt/home, /opt/lib, /opt/libexec, /opt/root, /opt/share, /opt/tmp, /opt/usr, /opt/var

Top


Known features

Known features

Top


AD5X Specifics

AD5X

AD5X

Top


Help

How to Contact Support

  1. Update ZMOD to the latest version.
  2. Describe the issue clearly (screenshots, photos, text).
  3. Run CLEAR_EMMC to clear logs.
  4. Power off the printer.
  5. Power it back on.
  6. Reproduce the issue.
  7. Run TAR_CONFIG to save logs.
  8. Submit the issue with config.tar and description.
  9. Open a GitHub issue.

Top


How to change the boot logo

The logo is located in the folder mod_data/logo.

Logo requirements:

  • Size: 800×480, 24-bit color depth
  • AD5M: BMP format. File name: bootlogo.bmp
  • AD5X: JPG format. File name: logo.jpeg

Upload your logo to the folder mod_data/logo.

Reboot the printer twice.

Removing the mod will restore the original logo. If this doesn't happen on the AD5M:

  • Install the mod
  • Upload the boot.bmp file to the mod_data/logo folder
  • Restart the printer

Top


⚠️ **GitHub.com Fallback** ⚠️