XaiJu
The100
The100

patreon


Updates from the Software Front!

Over the past week, I've mainly been focused on making improvements to Klipper. I absolutely fell in love with the real-time bed-level scanning that the BDSensor provides. Seriously, when it works, it's incredible! It nails the tolerances so perfectly that the first layer sticks flawlessly, even without any adhesive—yes, even at full-blown BSO speeds! Honestly, this is the first printer I've had that pulls this off so effortlessly.

But, of course, nothing's ever perfect. There are definitely a few annoying caveats. Here's a photo my Buildplate I used for the last months tuning my T250:

I've unintentionally carved away parts of the top texture layer. This only ruined the printing surface but also the nozzles I used for carving :-)

The issue occurs because the sensor is mounted 26 mm behind the nozzle along the Y-axis. So, when the toolhead moves close to the maximum Y position, the nozzle itself is still over the print bed—but the sensor is no longer above the printing surface. Without anything underneath it, the sensor reads its maximum offset value (typically -4 mm), which causes Klipper to incorrectly compensate the Z-height. As a result, the nozzle crashes into the bed.

Klipper’s architecture was never really designed with real-time Z-leveling in mind, which makes implementing a proper failsafe pretty tricky. There’s currently no clean or reliable way to handle this natively. So, I started building a few prototypes to see what approach might work best—but honestly, none of them were truly satisfying.

My first attempt was based on the assumption that the Z-delta between two consecutive points during z compensation is usually very small—something in the range of 0.005 mm to 0.01 mm. Based on that, I added a failcheck routine directly into the BD Sensor firmware. The code basically checks if the current measurement deviates too much from the expected average delta, and if it does, it disables Z-adjustment for that spot. It actually worked and solved the carving issue—but I wasn’t thrilled about having to modify the BD Sensor firmware, since that code is maintained by someone else.

I reached out to Markniu and shared the concept with him—good news is, he liked the idea and is now working on an official firmware update that includes this failcheck.

While that’s in progress, I started working on a second approach. The idea here is to define a “safe zone” for Z-adjustments. Since I know all the key parameters—the bed size, the toolhead dimensions, and the offset between the nozzle and the sensor—I can calculate whether the sensor is still actually over the print surface before applying any adjustment.

The real issue here is that the ToolheadMove function is packed with hardcoded exceptions for edge cases that aren't documented anywhere. That makes it really risky to touch. Any changes I make could easily break something I wasn’t even aware could happen. It’s basically spaghetti code at this point, and I’ve got a bad feeling about releasing any modifications I made there—because chances are high they’ll cause unintended side effects that I can’t predict.

So I’ve decided to put that task on hold for now and wait until there’s an official BD Sensor firmware with proper real-time Z-measurement support. On my own machine, I know exactly when the issue can happen—and honestly, my build plate is already scratched, so there’s nothing left to lose. But for the official T250 configuration, I’m disabling real-time adjustment for the time being to avoid any potential damage or confusion.

Comments

will theos ever work on a bedslinger?

christophe BAYON

The T100 and T250 are meant for high speed printing with very light tool heads. I don't think that a 700g tool head would work on the T250. Maybe this is something for the alu profile printers, like the vorons?

yogadude911

or an aluminum frame

christophe BAYON

Hello, I've been planning for a while to make a printer with a Greenboy3D pellet extruder that weighs about 700g. Do you have any ideas for the frame? How did you calculate the width-height ratio for T250 and T100? I'm thinking of going for a frame with welded steel tubes for more weight and rigidity. If you have any advice, I'm interested.

christophe BAYON


More Creators