AD5X_en - ghzserg/zmod GitHub Wiki
AD5X
Menu
- Key Features
- File Preparation in Orca
- Color Selection (
COLOR) - Print Menu (
PRINT) - Manual Spool Selection
- Waste Filament Configuration
- Add custom filament types
- Fixing Trash Bin and Filament Cutting Knife Operation
- IFS commands
Plugins
- bambufy - Bambu Studio compatibility, better prime towers, accurate estimates, waste reduction
- nopoop - Maximum waste reduction by ninjamida
1. Key Features
Differences from AD5M:
- No
Entwaresupport - Always use
FAST_CLOSE_DIALOGS(fast closing) instead ofCLOSE_DIALOGS(slow closing). - The
NEW_SAVE_CONFIGmacro does not work. - To enable the camera, use
CAMERA_ON VIDEO=video3.
2. How to Prepare a File in Orca
Send Files via "Octo/Klipper" for Printing
You must remove unused spools from the list in Orca.
Example: The printer has 4 spools (№1, №2, №3, №4). Only spools №1 and №3 are needed for printing.
- In the file, they will be named T0 (first color) and T1 (second color).
- In the menu, you’ll need to select:
- T0 → spool №1
- T1 → spool №3
3. How to Use the Color Selection Menu (Macro COLOR)
Extruder: 1 (PLA/Orange)– This means the printer is currently loaded with orange PLA filament from spool №1.IFS: True– The automatic filament feeding system is active.
Now select the spool you want to work with (e.g., spool 2):
You can perform four actions:
- Change the color of the spool.
- Change the material type (e.g., from PLA to PETG).
- Load this filament into the printer.
- Unload filament from the printer.
How to change color:
- Click "Change Color".
- Select a color from the list. This ensures the printer and native screen understand your selection.
- After selection, you’ll return to the menu, and the spool’s color should update.
If the color doesn’t change: Close the window with the "X" button and restart the COLOR macro. Sometimes the screen doesn’t refresh immediately.
How to change material type:
- Click "Change Type".
- Select a material type from the list.
If the type doesn’t change: Close the window with the "X" button and restart the COLOR macro. Sometimes the screen doesn’t refresh immediately.
Tip: If multiple spools are assigned the same color and material type, the printer will automatically switch to the next spool when the current one runs out. This is called "infinite spool mode".
4. Print Menu (Macro PRINT)
This window opens automatically when you start printing.
How to interpret the display:
Cube.gcode– The name of the file being printed.T0– The first color in the file. Printed using spool №4 (orange PLA).T1– The second color. Printed using spool №3 (black PLA).T2– The third color. Printed using spool №2 (green PLA).T3– The fourth color. Also printed using spool №2 (green PLA).
To change the spool for a color during printing:
- Simply click the target T (e.g., T1) and select another spool from the list.
5. How to Manually Tell the Printer Which Spool Is Loaded
Sometimes you manually change the spool, but the printer doesn’t recognize it and displays outdated information.
To fix this, use a dedicated command.
Type this phrase in the console:
SET_EXTRUDER_SLOT SLOT=1
What this means:
SET_EXTRUDER_SLOT– Command telling the printer: "Remember this spool!"SLOT=1– The spool number you just loaded. You can change this number!
Examples:
- If you loaded filament from spool №3:
SET_EXTRUDER_SLOT SLOT=3 - If from spool №2:
SET_EXTRUDER_SLOT SLOT=2
After this command, the printer will know which spool is active and won’t mix up colors.
6. How to Configure Waste Filament During Filament Change
These settings help reduce plastic waste when switching spools. To adjust them, first disable the printer’s native screen using the DISPLAY_OFF macro.
In screen-off mode, these sensors are enabled:
Head Switch Sensor– Detects filament presence in the extruderIfs Motion Sensor– Monitors filament movement in IFS
To disable automatic filament insertion into the extruder, use the global parameter AUTOINSERT:
SAVE_ZMOD_DATA AUTOINSERT=0
To disable dumping of filament into the trash when printing, use the USE_TRASH_ON_PRINT parameter.
SAVE_ZMOD_DATA USE_TRASH_ON_PRINT=0
To unload the filament after printing is complete, use the REMOVE_FILAMENT parameter.
SAVE_ZMOD_DATA REMOVE_FILAMENT=1
To prevent the color selection dialog from appearing at the start of a print, use the global parameter SILENT:
- 0 – show dialog (default)
- 1 – do not show dialog, use previously set colors
- 2 – do not show dialog, do not use IFS
SAVE_ZMOD_DATA SILENT=1
How to find these settings:
- Open the "Configuration" tab.
- Navigate to the
mod_datafolder. - Open the
filament.jsonfile.
In this file, each material type (PLA, ABS, PETG, etc.) has a list of values. Here’s what they mean:
Basic Parameters (Most Frequently Adjusted):
-
temp— Nozzle temperature for filament change. Default value depends on material type. -
filament_drop_length(Purge Length)- In simple terms: How many millimeters of filament the printer will purge into the waste bin to clean the nozzle from the previous color.
- Tip: Increase this value if colors mix during spool changes. Decrease it to reduce waste.
-
filament_drop_length_add(Additional Purge)- In simple terms: Extra purge length when switching material types (e.g., PLA to PETG), not just colors.
- Why it’s needed: Different materials don’t mix well, so deeper nozzle cleaning is required.
Advanced Parameters (Do Not Adjust If Unsure of the Result):
filament_tube_length— Total PTFE tube length from IFS module to extruder. Useful for non-standard tubes. Default: 1000 mm.filament_unload_before_cutting— Filament lift distance before cutting. Default: 0 mm.filament_unload_after_cutting— Filament lift distance after cutting, before moving to the waste bin. Default: 5 mm.nozzle_cleaning_length— Filament lift distance during a color change after moving to the waste bin. Default: 60 mm.filament_unload_after_drop— Retraction distance after purging to prevent oozing. Default: 3 mm.filament_load_speed— Filament loading speed (mm/min). Default: 300 mm/min (5 mm/s).filament_unload_speed— Filament unloading speed (mm/min). IFS operates twice as fast. Default: 600 mm/min (10 mm/s).filament_fan_speed— Fan speed (0–255) during purging to cool oozing. Default: 102.filament_autoinsert_empty_length— Filament length pulled when auto-loading into an empty extruder. Default: 600 mm.filament_autoinsert_full_length— Filament length pulled when replacing existing filament. Default: 550 mm.filament_autoinsert_ret_length— Retraction distance after extruder sensor triggers (empty extruder only). Default: 90 mm.filament_autoinsert_speed— Auto-insertion speed (mm/min). Default: 1200 mm/min (20 mm/s).
Warning! Modifying advanced parameters may cause printer malfunctions, filament jams, or hardware damage. Adjust only if you fully understand each parameter’s purpose and potential consequences.
Key takeaway: To reduce waste, start by decreasing filament_drop_length and filament_drop_length_add for your material. Don’t forget to save the file after changes!
7. Add custom filament types
To add a new filament type, add the following to mod_data/user.cfg:
[zmod_ifs]
filament_NEWTYPE: 300
Where NEWTYPE is replaced with the desired filament type (e.g., HIPS), and the number is the melting point of this filament.
IFS_PRINT_DEFAULTS - displays available filament types and their melting points
8. Fixing Trash Bin and Filament Cutting Knife Operation
Alternative version of the instructions
Different AD5X printers may have different coordinates for the trash bin and knife. Sometimes the difference can reach up to 4 mm.
Because of this:
- Filament may not reach the trash bin;
- Knife does not cut the filament;
- Printer head may hit the wall.
To fix this, you need to:
- Update zMod.
- Open the file
/rw/Adventurer5M.json. - Find these lines:
{
"CutXOffset" : 0.5,
"CutYOffset" : -0.20000001788139343,
"xOffset" : 0.0,
"yOffset" : -0.20000001788139343,
"zOffset" : 0.0,
"zProbeOffset" : 0.004999995231628418
},
Replace only these values:
"CutXOffset": 0.0,
"CutYOffset": 0.0,
"yOffset": 0.0,
- Enter the command:
UPDATE_FF_OFFSET(this will update the settings). - Then enter:
G28(this will home the printer).
Trash Bin Calibration
Alternative version of the instructions
- Enter the command
_GOTO_TRASH— the printer head will move to the trash bin. - If the bin doesn't close, use the screen (or programs like Fluidd, Mainsail, GuppyScreen, etc.) to carefully move the head until the bin closes. You can use GCODE:
G1 Y230.2 - Check what Y coordinate you now have.
- Subtract 229 from this number. The result will be your
yOffset.
Examples:
- If Y = 230.2, then
yOffset = 230.2 - 229 = 1.2 - If Y = 228.4, then
yOffset = 228.4 - 229 = -0.6 - Formula:
yOffset = Y - 229
Write this number to the file /rw/Adventurer5M.json. The bin is calibrated.
Knife Calibration
Alternative version of the instructions
-
Enter the command
_REZGEM_PRUTOK— the head will move to the knife. -
Using the screen, move the head until the knife activates. You can use GCODE:
G1 Y-7.7G1 X-1.7 -
Check what X and Y coordinates you have.
-
For Y:
- Subtract your Y-coordinate from 7.5 by absolute value.
- Example: if Y = -7.7, then
CutYOffset = 7.5 - 7.7 = -0.2 - Example: if Y = -5.9, then
CutYOffset = 7.5 - 5.9 = 1.6 - Formula:
CutYOffset = 7.5 + Y
-
For X:
- Subtract your X-coordinate from 2.5 by absolute value.
- Example: if X = -1.7, then
CutXOffset = 2.5 - 1.7 = 0.8 - Example: if X = -2.8, then
CutXOffset = 2.5 - 2.8 = -0.3 - Formula:
CutXOffset = 2.5 + X
Write these numbers to the file /rw/Adventurer5M.json. The knife is calibrated.
Restart the printer — everything is ready.
9. IFS commands
- IFS_F10 - Insert filament
- IFS_F11 - Remove filament
- IFS_F13 - IFS state
- IFS_F15 - Reset driver
- F18 - Filament purge everywhere
- F23 - Mark filament as inserted
- F24 - Filament clamp
- F39 - Filament purge
- F112 - Stop filament feed
- PURGE_PRUTOK_IFS - Purge filament from IFS to the extruder
- REMOVE_PRUTOK_IFS - Removes filament by filament number
- INSERT_PRUTOK_IFS - Insert filament into IFS by filament number
- SET_CURRENT_PRUTOK - Tell klipper which filament is currently active
- ANALOG_PRUTOK - Load an analog rod
- IFS_MOTION - Check if the filament has stopped or run out
IFS module parameters:
- debug - debugging (True, False)
- silk_count - number of attempts to read a rod into IFS (1)
- stall_count - number of attempts to count a rod as stopped (1)
- retry_count - number of times to retry the command on error (3)
- filament_NEWFILEMENT - Add a new filament type. Parameter - replacement temperature for this type of plastic.
Set via mod_data/user.cfg:
[zmod_ifs]
debug: True
silk_count: 1
stall_count: 1
filament_NEWTYPE: 300