HardwareStampanti 3D

IDM Scanner for Klipper – Quick install, update and configuration

Credits:
Aldo Alessi
Marco Formenton
Telegram Group VzBot Italia
https://t.me/vzbotitalia
ModularPrintingSystem
Killajoedotcom
Sgr A* VMT NBTP on GITEE

Prerequisites for Klipper

Connect to you Raspberry or TvBox with Armbian with a Client SSH (Putty), login and type these commands:

Choose GITEE or MPS/Killajoedotcom repository

Give permission to execute the script

To find the IDM USB SERIAL, use the command

take note of your #Serial_USB# like this:
/dev/serial/by-id/usb-IDM_614e_2C0013001743565537353020-if00

If you want only update the firmware/bootloader, search the paragraph below.

Find the the IDM CAN UUID

To enable the canbus on the raspberry pi you need to create the interface file:

paste the following content:

Canbus Query

Update Manager

Add this to your moonraker.conf

Accelerometer

Add this in your printer.cfg

For 2Z (Sapphire Plus) or 3Z Z-Tilt (RatRig) add this to your printer.cfg

For Quad Gantry (Voron) add this to your printer.cfg

Prerequisites printer.cfg

In your printer.cfg remove the section [probe] and add

If you want use IDM as Z Endstop

If you use other Z Endstops (microswitch or optical) and use the IDM only for mesh,
you can use IDM to calibrate the Z-offset with
Automatic Z-Calibration
https://github.com/protoloft/klipper_z_calibration

[idm] section in printer.cfg

Add in your printer.cfg the [idm] section
An example here:
https://github.com/Travis90x/Klipper-configuration/blob/main/config/sensors/probe/IDM.cfg

First Use of IDM Scanner

In your printer.cfg edit your [stepper_z] position_min: -5
Remember: at the end of the calibration reset position_min to your previuous value, to zero or comment it).

Put an A4 paper on the center of the bed, move manually the toolhead at the center of the bed or with
Klipper Console:

Move manually the bed near the nozzle or with the command
WARNING: using SET_KINEMATIC_POSITION is dangerous, so be careful when moving the bed using klipper commands

bring the nozzle close to the bed with G0 Z-1 or smaller movements with G0 Z-0.1
If you got errors like “Move out of range“, redo SET_KINEMATIC_POSITION z=50
When the nozzle touch the A4 paper

remove the A4 paper and

If “Move out of range” occurs, you are calibrating near Y0 edge, IDM need to move in Y to calibrate.

In the Manual Probe box, simply click on [ -0.1 ] and ACCEPT.

Press on SAVE CONFIG (or interminal SAVE_CONFIG) to apply the paramenters to IDM and restart the firmware.

At the end of your printer.cfg appear a code to not modify.

First Tests

If change the Z Offset, to apply click on SAVE in Toolhead or :

To set permanently, use SAVE_CONFIG


Write in the console IDM and press the “tab key” to see all supported commands.

To test Z screws backlash


Axis twist compensation

We also recommend using [axis_twist_compensation] to ensure the effectiveness of the mesh bed compensation

Update IDM USB – Firmware and Bootloader

Please follow “Prerequisites for Klipper” at the beginning of this guide, then take note of your #Serial_USB#
Example: /dev/serial/by-id/usb-IDM_614e_2C0013001743565537353020-if00

Put IDM USB in Bootloader Mode

Example:
~/klippy-env/bin/python -c ‘import flash_usb as u; u.enter_bootloader(“/dev/serial/by-id/usb-IDM_614e_2C0013001743565537353020-if00″)’

Now take note of the #Serial_Boot# (different from #Serial_USB#)
Example: /dev/serial/by-id/usb-katapult_stm32f042x6_2C0013001743565537353020-if00
This is the serial when IDM is in Bootloader mode, now you can flash firmware or bootloader.

Update IDM USB Firmware with GITEE

If you git the installation script from GITEE, download IDM Firmware USB with


put IDM in Bootloader Mode (if you haven’t done before) and take note of your #Serial_Boot#

Now take note of NEW #Serial_USB# anf put it in your pritner.cfg in [idm] serial:

To update from DFU mode, read the section “via DFU

Update IDM USB Bootloader with Gitee

If you git the installation script from Gitee,
put IDM in Bootloader Mode (if you haven’t done before) and take note of your #Serial_Boot#

Now the command “ls /dev/serial/by-id/*” show
/dev/serial/by-id/usb-katapult_stm32f042x6_xxxxxxxx
so reflash the USB Firmware to see
/dev/serial/by-id/usb-IDM_xxxxxxxxx

Now unplug and re-plug the USB connector

Update IDM USB Firmware with MPS

Put IDM in Bootloader Mode (if you haven’t done before) and take note of your #Serial_Boot#

Now take note of NEW #Serial_USB# anf put it in your printer.cfg in [idm] serial:

Error MCU in Klipper

If you got errors in Klipper because of IDM, update the IDM firmware or bootloader+firmware.
Check your MCU has a Klipper version compatibile wih Host (Raspberry/TVbox) Klipper version,
otherwise update Klipper on the MCU (recompile the firmware for you board: SKR, Mellow, MKS etc.)

Set Firmware Type

https://github.com/ModularPrintingSystem/IDM/tree/master?tab=readme-ov-file#12-set-firmware-type

en_GBEnglish (UK)