Skip to content

Feature Request: Support for Multiple BD-Sensors (IDEX Calibration and Nozzle Offset Setup) #261

Description

@Sundancer78

Hi Mark,

First of all, thank you for the amazing work on the BD-Sensor! It is a fantastic addition to the Klipper ecosystem.

I am currently building an IDEX (Independent Dual Extruder) printer where both toolheads are equipped with their own CAN-Bus boards (EBB42) and each has its own BD-Sensor installed. I also use reliable optical endstops for the absolute Z-homing reference.

My Goal / Use Case

I want to achieve a calibration routine similar to this community concept:

  1. Home the Z-axis using the reliable optical Z-endstop to get an absolute Z-reference.
  2. Probe the bed with Toolhead 0 (T0) using its BD-Sensor.
  3. Probe the bed with Toolhead 1 (T1) using its BD-Sensor.
  4. Calculate the difference between both measurements and apply it via SET_GCODE_OFFSET Z_ADJUST=... to get a perfect nozzle-to-nozzle Z-offset for dual-material prints.

Additionally, since it's an IDEX system, each toolhead would ideally utilize its own BD-Sensor to create an independent bed mesh to compensate for minor mechanical variances between the two nozzle heights during duplication or mirror modes.

The Problem

Currently, the Klipper BD-Sensor extension registers the config block as a singleton [bd_sensor]. This prevents configuring multiple named instances (like [bd_sensor T0] and [bd_sensor T1]) on different MCUs.

Feature Request

Would it be possible to update the Klipper module to support multiple named instances of the BD-Sensor?

The configuration could look like this:

[bd_sensor T0]
sda_pin: ebb:PB7
scl_pin: ebb:PB6

[bd_sensor T1]
sda_pin: ebb1:PB7
scl_pin: ebb1:PB6

This feature would be a massive game-changer for the growing IDEX and multi-toolhead community using your sensor!

Thank you for considering this request!

Best regards,
André

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions