BTT Eddy - vvuk/eddy-ng GitHub Wiki
eddy-ng
supports the BTT Eddy well. Because of the compact size of the Eddy, it's easier to use it on many toolheads. The downside is that the compact coil size makes it more difficult to calibrate, especially for tap. However, once calibrated, it works very well.
Setting up eddy-ng
requires you to be familiar with and comfortable with rebuilding Klipper firmware, flashing Klipper firmware to a device, and editing your Klipper configuration.
Probe Installation
Tap functionality and accuracy of eddy-ng
with the BTT Eddy are highly sensitive to the distance between the probe coil and the tip of the nozzle. The best success seems to be with the coil of a BTT Eddy mounted at about 2.95mm above the tip of the nozzle. This refers to the bottom of the coil PCB, not the bottom of the case. The case wall is about 1.2mm thick.
Known good working mounts are listed below, but many others will as well.
- Sovol SV08 (stock toolhead)
Software Installation
Warning: Installation assumes you did not have an Eddy configured already. If you had a BTT Eddy configuration without eddy-ng, make sure you:
- Delete/don't include the
eddy.cfg
file that you may be using. There are a number of macros present in BTT's config that are not relevant and will cause problems. - Make sure to delete the
probe_eddy_current
andtemperature_probe
sections from the saved variables area at the bottom ofprinter.cfg
. - You may need to move your [bed_mesh] setup over from your previous setup (often in eddy.cfg) into eddy-ng. It's best to move [bed_mesh] into printer.cfg because it's independent of sensor.
- Install
eddy-ng
by running theinstall.sh
script in theeddy-ng
repository. - Rebuild and flash the Klipper firmware for your BTT Eddy USB/Duo or for Eddy Coil, the MCU that it is connected to.
- Detailed instructions on how to do this is out of scope for this document.
- You can follow the Compiling Firmware instructions here, but skip the
git checkout master
part. - For Kalico, when running
menuconfig
, openFirmware Extras
and selectEddy-ng
.
- Update your configuration by adding the following to
printer.cfg
or to an included file:
For Eddy USB/Duo (make sure to replace the variables with appropriate values for your setup). You may
already have a mcu
section if you had the BTT Eddy working previously. You can keep it (and don't include
the sample mcu section below).
[mcu eddy]
# FOR USB: replace this with your serial port ID
# FOR CANBUS: replace this with your canbus UUID
serial: /dev/serial/by-id/usb-Klipper_rp2040_5044340310A9D51C-if00
restart_method: command
[probe_eddy_ng btt_eddy]
sensor_type: btt_eddy
i2c_mcu: eddy
i2c_bus: i2c0f
x_offset: # INSERT VALUE FOR YOUR PROBE POSITION
y_offset: # INSERT VALUE FOR YOUR PROBE POSITION
[temperature_sensor btt_eddy_mcu]
sensor_type: temperature_mcu
sensor_mcu: eddy
min_temp: 10
max_temp: 100
[temperature_sensor btt_eddy]
sensor_type: Generic 3950
sensor_pin: eddy:gpio26
For Eddy Coil (make sure to replace the variables with appropriate values for your setup):
[probe_eddy_ng btt_eddy]
sensor_type: btt_eddy
i2c_mcu: # INSERT YOUR MCU NAME
i2c_bus: # INSERT YOUR MCU I2C BUS NAME
x_offset: # INSERT VALUE FOR YOUR PROBE POSITION
y_offset: # INSERT VALUE FOR YOUR PROBE POSITION
The above is a minimal installation, but anything beyond is printer specific. For example, you may also need [bed_mesh]
if you want to do bed meshing, and make sure you read through Macros for necessary changes.
Then proceed to Calibration.
Going back to the Klipper BTT Eddy support
- Run
./install.sh --uninstall
- Restore your previous eddy config
- Re-build and re-flash Klipper
Calibration
Calibration has moved to its own section.