The cartographer in the SIBOOR KIT defaults to using the Classic mode, while the new Survey Touch mode improves accuracy and offers enhanced reliability. The main differences between the two modes are:
Classic Mode: It uses the traditional scanning method as the Z-axis endstop, determining the nozzle's position by reading frequency changes. However, the frequency is affected by both the bed distance and the coil temperature, requiring temperature compensation.
Survey Touch Mode: It doesn’t focus on absolute frequency values but detects when the rate of frequency change occurs, indicating that the nozzle has touched the bed. This method doesn’t require temperature compensation and ensures a more accurate first layer each time you print.
The advantage of switching to Survey Touch mode is that it eliminates the need for frequent adjustments or calibrations during printing, ensuring that the nozzle accurately touches the bed every time, thus improving print precision and consistency.
This guide provides detailed steps on how to update the Cartographer software via Git, flash the firmware using scripts, and modify the configuration files.
※Cartographer Software Version
Update the Cartographer software in the system to the latest version to support Survey Touch Mode.
Flash the Cartographer V3 probe with firmware version 5.0.0 or above to enable Survey Touch Mode.
Modify the configuration to ensure that Cartographer uses the latest Survey Touch Mode.
How to check your software and firmware versions?
In the image below, the upper half displays the firmware version of the Cartographer probe. (This is based on the assumption that it is correctly connected to the Cartographer probe, and if the software version is below 5.0, the firmware is likely not up to date.)
The latest version should be: CARTOGRAPHER 5.0.0.
The lower half shows the version of the Cartographer software: v1.0.0-59-xxxxxxxx.
To ensure compatibility with Survey Touch Mode, look for a number that is 50 or higher in the version.
※Update Cartographer Software
Use SSH tools to connect to the device. The method can be found in the link below:
Navigate to the Cartographer folder:
Switch to the cartographer-klipper folder:
cd./cartographer-klipper
Pull the latest updates:
Use the command to pull the latest version of the software:
gitpull
Rerun the installation script:
After pulling the latest updates, run the installation script to ensure that all dependencies and settings are correctly installed:
./install.sh
※ Refresh Cartographer Firmware
Access the device and run the installation program:
SSH into the device and run the following command to start the firmware update:
Type "yes" and press Enter, then wait for the katapult toolkit to download.
Choose to flash the firmware:
After the installation program runs, the following message will appear,Enter 6 to select the option to flash the firmware via CANBUS.
Select Survey Touch functionality:
The system will prompt you to choose whether to include Survey Touch functionality,Enter 1 to select "with Survey Touch.":
Select the firmware file:
The system will then prompt you to choose the firmware file to flash,Enter 1 to select the Survey_Cartographer_CAN_1000000_8kib_offset.bin file for flashing.:
Firmware flashing process:
The flashing process will display the following output,Press Enter to continue:
In certain situations, you will be prompted to enter a password. Please enter 'biqu' and press Enter to send.
Reboot the device:
To ensure proper operation, type "r" and press Enter to restart the system.
※ Modify printer.cfg Configuration File
Open the web interface. Since the printer.cfg hasn't been updated yet, an error will appear. Once the configuration is modified, it will return to normal.
Delete Cartographer-related sections:
Open the printer.cfg configuration file, locate the existing [cartographer] section, and record the canbus_uuid before deleting it. Then, replace the section with the following configuration, and insert the recorded UUID into the new configuration:
[scanner]canbus_uuid:# Fill in the UUID that was just recorded x_offset: 0 # adjust for your cartographers offset from nozzle to middle of coily_offset: 23 # adjust for your cartographers offset from nozzle to middle of coilbacklash_comp: 0.5# Backlash compensation distance for removing Z backlash before measuring# the sensor response.# # Offsets are measured from the centre of your coil, to the tip of your nozzle # on a level axis. It is vital that this is accurate. calibration_method: touch# leave this as touch unless you want to use scan only for everything. sensor: cartographer# this must be set as cartographer unless using IDM etc.sensor_alt: carto# alternate name to call commands. CARTO_TOUCH etcscanner_touch_z_offset: 0.05 # This is the default and will be overwritten and added to the DO NOT SAVE area by using UI to save z offsetmesh_runs: 2# Number of passes to make during mesh scan.
Replace [bed_mesh] configuration:
Locate the existing [bed_mesh] section and replace it with the following:
[bed_mesh]zero_reference_position: 150,150 # This option is suitable for the 300 model. # set this to the middle of your bedspeed: 200# movement speed of toolhead during bed meshhorizontal_move_z: 5# height of scanner during bed mesh scanmesh_min: 30, 30# start point of bed mesh [X, Y]mesh_max: 270, 270# end point of bed mesh [X, Y]probe_count: 30, 30algorithm: bicubic
[bed_mesh]zero_reference_position: 175,175 # This option is suitable for the 350 model. # set this to the middle of your bedspeed: 200# movement speed of toolhead during bed meshhorizontal_move_z: 5# height of scanner during bed mesh scanmesh_min: 30, 30# start point of bed mesh [X, Y]mesh_max: 320, 320# end point of bed mesh [X, Y]probe_count: 30, 30algorithm: bicubic
Update ADXL345 Configuration
Please locate the existing [adxl345] section in your printer.cfg configuration file and replace it with the following content:
[adxl345]cs_pin: scanner:PA3spi_bus: spi1
Replace [gcode_macro PRINT_START] configuration
Locate the existing [gcode_macro PRINT_START] section and replace it with the following:
[gcode_macro PRINT_START]gcode:# This part fetches data from your slicer. Such as bed, extruder, and chamber temps and size of your printer. {% set target_bed= params.BED|int %} {% set target_extruder= params.EXTRUDER|int %} {% set target_chamber= params.CHAMBER|default("45")|int %} {% set x_wait= printer.toolhead.axis_maximum.x|float / 2 %} {% set y_wait= printer.toolhead.axis_maximum.y|float / 2 %} SET_GCODE_OFFSET Z=0 # Set offset to 0# Home the printer, set absolute positioning and update the Stealthburner LEDs. STATUS_HOMING # Set LEDs to homing-mode G28 # Full home (XYZ) G90 # Absolute position## Uncomment for bed mesh (1 of 2 for bed mesh)#BED_MESH_CLEAR # Clear old saved bed mesh (if any)# Check if the bed temp is higher than 90c - if so then trigger a heatsoak. {% if params.BED|int > 90 %} SET_DISPLAY_TEXT MSG="Bed: {target_bed}c"# Display info on display STATUS_HEATING # Set LEDs to heating-mode M106 S255 # Turn on the PT-fan## Uncomment if you have a Nevermore.#SET_PIN PIN=nevermore VALUE=1 # Turn on the nevermore G1 X{x_wait} Y{y_wait} Z15 F9000 # Go to center of the bed M190 S{target_bed} # Set the target temp for the bed SET_DISPLAY_TEXT MSG="Heatsoak: {target_chamber}c"# Display info on display TEMPERATURE_WAIT SENSOR="temperature_sensor chamber"MINIMUM={target_chamber} # Waits for chamber temp# If the bed temp is not over 90c, then skip the heatsoak and just heat up to set temp with a 5 min soak {% else %} SET_DISPLAY_TEXT MSG="Bed: {target_bed}c"# Display info on display STATUS_HEATING # Set LEDs to heating-mode G1 X{x_wait} Y{y_wait} Z15 F9000 # Go to center of the bed M190 S{target_bed} # Set the target temp for the bed SET_DISPLAY_TEXT MSG="Soak for 5 min"# Display info on display G4 P300000 # Wait 5 min for the bedtemp to stabilize {% endif %}# Heat hotend to 150c. This helps with getting a correct Z-home. SET_DISPLAY_TEXT MSG="Hotend: 150c"# Display info on display M109 S150 # Heat hotend to 150c## Uncomment for Trident (Z_TILT_ADJUST) SET_DISPLAY_TEXT MSG="Leveling"# Display info on display STATUS_LEVELING # Set LEDs to leveling-mode Z_TILT_ADJUST # Level the printer via Z_TILT_ADJUST G28 Z # Home Z again after Z_TILT_ADJUST
## Uncomment for bed mesh (2 of 2 for bed mesh) SET_DISPLAY_TEXT MSG="Bed mesh"# Display info on display STATUS_MESHING # Set LEDs to bed mesh-mode BED_MESH_CALIBRATE # Start the bed mesh (add ADAPTIVE=1) for adaptive bed mesh CARTOGRAPHER_TOUCH # Calibrate z offset only with hot nozzle# Heat up the hotend up to target via data from slicer SET_DISPLAY_TEXT MSG="Hotend: {target_extruder}c"# Display info on display STATUS_HEATING # Set LEDs to heating-mode G1 X{x_wait} Y{y_wait} Z15 F9000 # Go to center of the bed M107 # Turn off partcooling fan M109 S{target_extruder} # Heat the hotend to set temp# Get ready to print by doing a primeline and updating the LEDs SET_DISPLAY_TEXT MSG="Printer goes brr"# Display info on display STATUS_PRINTING # Set LEDs to printing-mode G0 X{x_wait - 50} Y4 F10000 # Go to starting point G0 Z0.4 # Raise Z to 0.4 G91 # Incremental positioning G1 X100 E20 F1000 # Primeline G90 # Absolute position
Remove any Cartographer-related settings, usually found towards the end of the file.
[gcode_macro PROBE_CALIBRATE]gcode:CARTOGRAPHER_CALIBRATE# Command for calibration
Save and restart Klipper:
After modifying the configuration file, save the changes and restart the Klipper service to apply the updates.
※ Restart
Check firmware version:
After successfully connecting, verify whether the firmware has been updated to the Cartographer V5 version. You can check the firmware information in the Klipper web interface .
Ensure the displayed version is CARTOGRAPHER 5.0.0.
In the next calibration process, we will switch to the Cartographer documentation for a more comprehensive experience.