Skip to main content

How to Install Probe Plugins

Installing Beacon

Do not run the official installation script directly

Beacon's current install.sh defaults to looking for ~/klipper and ~/klippy-env, which does not match FLYOS-FAST's /data/klipper path. The process below only installs or updates the Klipper host module and does not automatically update the probe firmware.

Pull or Update the Plugin

This step requires proper access to the corresponding code hosting site. Only continue to create the symlink after the command executes successfully.

cd /data
if [ -d /data/beacon_klipper/.git ]; then
git -C /data/beacon_klipper pull --ff-only
else
git clone https://github.com/beacon3d/beacon_klipper.git /data/beacon_klipper
fi
Loading...
ln -sfn /data/beacon_klipper/beacon.py /data/klipper/klippy/extras/beacon.py
if [ -d /data/klipper/.git/info ]; then
grep -qxF 'klippy/extras/beacon.py' /data/klipper/.git/info/exclude || \
echo 'klippy/extras/beacon.py' >> /data/klipper/.git/info/exclude
fi

systemctl restart klipper
Loading...

Verify Installation Path

readlink -f /data/klipper/klippy/extras/beacon.py

The output should be /data/beacon_klipper/beacon.py. With the symlink in place, future updates only require updating the plugin repository and restarting Klipper — there is no need to copy beacon.py again.

Installing IDM or Scanner

Choose only one plugin

Both IDM/Scanner and Cartographer3D provide idm.py and scanner.py. Klipper can only use one set of modules at a time; do not mix files from both plugins.

Pull or Update the Plugin

The new IDM installation script already supports FLYOS-FAST's /data/klipper path and will install idm.py, scanner.py, and scanner_touch_mesh.py:

cd /data
if [ -d /data/IDM/.git ]; then
git -C /data/IDM pull --ff-only
else
git clone https://gitee.com/NBTP/IDM.git /data/IDM
fi
Loading...

This step requires proper access to Gitee. Only run the installation script after the command executes successfully.

Run the Installation Script

The installation steps do not access the network. Before switching to IDM/Scanner, any leftover Cartographer3D plugin entries with the same names will be removed:

rm -f /data/klipper/klippy/extras/cartographer.py
cd /data/IDM
chmod +x install.sh
./install.sh
systemctl restart klipper
Loading...

When the script displays idm: installation successful. and Klipper restarts without related errors, the module installation is complete.

Verify Installation Path

readlink -f /data/klipper/klippy/extras/idm.py
readlink -f /data/klipper/klippy/extras/scanner.py
readlink -f /data/klipper/klippy/extras/scanner_touch_mesh.py

The above paths should point to the corresponding files in /data/IDM/.

Installing Cartographer3D

Do not run the official installation script directly

Cartographer3D's current install.sh defaults to looking for ~/klipper and ~/klippy-env, which does not match FLYOS-FAST's /data/klipper path. Please use the commands below to install.

Pull or Update the Plugin

This step requires proper access to GitHub. Only continue to create the symlink after the command executes successfully.

cd /data
if [ -d /data/cartographer-klipper/.git ]; then
git -C /data/cartographer-klipper pull --ff-only
else
git clone https://github.com/Cartographer3D/cartographer-klipper.git /data/cartographer-klipper
fi
Loading...

The installation steps do not access the network. Before switching to Cartographer3D, the IDM/Scanner-specific scanner_touch_mesh.py will be removed:

rm -f /data/klipper/klippy/extras/scanner_touch_mesh.py
for file in idm.py scanner.py cartographer.py; do
ln -sfn "/data/cartographer-klipper/$file" "/data/klipper/klippy/extras/$file"
if [ -d /data/klipper/.git/info ]; then
grep -qxF "klippy/extras/$file" /data/klipper/.git/info/exclude || \
echo "klippy/extras/$file" >> /data/klipper/.git/info/exclude
fi
done

systemctl restart klipper
Loading...

This process can also convert modules that were previously copied directly into symlinks, so future repository updates won't require copying Python files again.

Verify Installation Path

readlink -f /data/klipper/klippy/extras/idm.py
readlink -f /data/klipper/klippy/extras/scanner.py
readlink -f /data/klipper/klippy/extras/cartographer.py

The above paths should point to the corresponding files in /data/cartographer-klipper/.

Installing BDsensor

Requires recompiling the MCU firmware

BDsensor provides not only a Klipper host module but also adds BD_sensor.c to the Klipper MCU source code. After installation, you must use make_with_bdsensor.sh to recompile and flash the firmware of the MCU connected to the sensor.

Pull or Update the Plugin

This step requires access to GitHub. Only proceed with the local installation steps after the pull succeeds.

cd /data
if [ -d /data/Bed_Distance_sensor/.git ]; then
git -C /data/Bed_Distance_sensor pull --ff-only
else
git clone https://github.com/markniu/Bed_Distance_sensor.git /data/Bed_Distance_sensor
fi
Loading...

The upstream install_BDsensor.sh defaults to looking for ~/klipper and assumes the Klipper directory contains .git/info, which does not fully match FLYOS-FAST v1.4.0. Please use the following commands to install:

ln -sfn /data/Bed_Distance_sensor/klipper/BDsensor.py /data/klipper/klippy/extras/BDsensor.py
ln -sfn /data/Bed_Distance_sensor/klipper/BD_sensor.c /data/klipper/src/BD_sensor.c
ln -sfn /data/Bed_Distance_sensor/klipper/make_with_bdsensor.sh /data/klipper/make_with_bdsensor.sh
grep -qF 'BD_sensor.c' /data/klipper/src/Makefile || \
echo 'src-y += BD_sensor.c' >> /data/klipper/src/Makefile

systemctl restart klipper
Loading...

Verify Installation Path

readlink -f /data/klipper/klippy/extras/BDsensor.py
readlink -f /data/klipper/src/BD_sensor.c
readlink -f /data/klipper/make_with_bdsensor.sh
systemctl is-active klipper

The three symbolic links should point to the corresponding files in /data/Bed_Distance_sensor/klipper/, and the service status should return active.

Configure, Compile, and Calibrate BDsensor: View BDsensor Usage Instructions

Loading...