How to Install Probe Plugins
Installing Beacon
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
Create Symlink
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
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
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
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
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
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
Create Symlinks
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
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
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
Create Symlinks
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
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