Step 8: Past 750 hours of use

This covers the aftermath of … actually quite a lot of printing. The prior update covered 2024’s Maker Faire. This one covers all of the printing for the 2025 OpenSauce and 2025 Maker Faire as well as a bunch of other random projects around the house.

Purge and blob macros

I hate purge stripes and skirts. They are messy and annoying.

On my Zero, because it’s got a small bed, I have a pellet-purge setup that prints a pellet and kicks it into a basket by nudging it sideways. And a lot of the time I have no skirt because the Zero is pretty darn tiny so post-purge it’s already primed enough to go.

There’s a bunch of various things for the Trident and I haven’t really had enough of a chance to piece through the best options. Ideally I’d use a nozzle brush and a purge bucket and something along those lines.

I tried just using a skirt with no purge, but it turns out this is a bad idea, because the skirt is leaving little filament particles from the start of the purge which ruin beautiful first layers because they don’t come off with the rest of the skirt.

I used the pellet-purge from the Zero’s macro set and it just kicks it off the side. I’m not totally happy with it.

Squaring the gantry.

The manual has a procedure that only works if you are building a 250mm trident for squaring the gantry. I ended up measuring things with a caliper.

I didn’t know about the Printable alignment guide but that would have been nice to know when I was building the printer up.

I printed a pair of the Alignment guide remixed for rail space to get the gantry square. It turned out that my gantry had gotten a bit tilted and they helped me really square things up.

Panel mounting

I printed out just the corner pieces of the Crusader panel pieces for the back panel, because I figured that the rear panel wouldn’t need to come off very often. Instead of the individual extra supports, I just used the already printed standard panel mounts.

Meanwhile, the side and top panels are mounted with the Voron 2.2/Annex clips because those panels are more likely to need to be mounted and unmounted. I’ve been printing them slowly over time. I really wish that there was a bit better documentation there?

The panel_clips_and_corners directory is fairly self-explanatory. I printed a set of corners for each of the three panels. I’ve only printed the top corner, will see how that goes.

Since the cPIF provider screwed up my hinges, I’d been pondering options.

I tried printing the hinge/qr folder. I’m not entirely sure if I’m doing something wrong or what because the bearing doesn’t seem to seat anywhere in particular and if I compare the STLs it looks like it’s designed for some different bearing that I don’t have.

Instead I printed the hinge/screw_mount/R4_625 folder.

I printed a panel_support_simple_4mm.stl and I’m not entirely sure what it’s supposed to do?

I printed the front_panel_support_simple_4mm.stl and that seems to be there to support the front panel.

I haven’t actually mounted them yet. Formbot helpfully provides a roll of what looks like VHB, but it’s not, so I’ve been putting it off for a bit.

ERCF Motion sensor

I feel like I’ve had way too many filament jams and not actually that many filament breaks. Thus, I don’t think that a simple filament switch is good enough, although I can definitely see how adding one to the printhead is helpful. What you really want is a filament motion sensor.

I probably should have just used the BTT sensor, but oh well. I didn’t read the manual and assumed it was a smarter and more proprietary device than it actually is.

Obviously the real problem is that I didn’t know about the Roadrunner filament sensor until I’d gotten the stuff for the ERCF-based sensor. But instead, I went through a bit of a journey with ERCF-based sensors.

I’d started with the ERCF Smart Motion Sensor by Turge but the TCRT5000 board recommended was out of stock and ECRF folks had all moved to the Binky board instead, so I got one of those.

Except that I didn’t realize until I’d gotten all of the way done that they were completely not compatible because the Binky board wants a optical wheel to interrupt.

So then I went for the ERCF V2 Smart Filament Motion Sensor because that matches my Binky.

Here’s the missing manual for the sensor:

BOM:

  1. 1x ERCF v2 Binky board
  2. 1x MR623ZZ bearing
  3. 1x ECAS04 bowden fitting
  4. 1x Bondtech BMG idler with bearings
  5. 4x M3 threaded inserts
  6. 3x M3x20 SHCS to secure cart together
  7. 1x M2x8 self-tapping screw (might come with the Binky board)
  8. 2x M3x12 BHCS screw to connect mounting arm
  9. 2x M3x16 BHCS screw and T-nuts for mounting to extrusion.

You basically want to go to Pg 96 of the manual, downloading and printing the push tool if necessary. On Pg 67, you only put two heat-set inserts in. On Pg 99, there is no hole for the M3x8 BHCS. And then you put in two heat-set inserts into the Encoder_Left equivalent part to connect the mounting arm, which should connect with a M3x12 BHCS screw, and then there’s a little spacer for the mounting arm, which should take a M3x16 BHCS screw.

You want to wire the Binky board to an endstop port, the binky has little text that shows where the 5V, GND, and signal pins, you’ll want to check your manual to make sure that you are pinning things right.

And my config looked like this:

[filament_motion_sensor filament_sensor]
switch_pin: Z2_STOP
pause_on_runout: True
detection_length: 10
extruder: extruder
runout_gcode: sensor_runout

[gcode_macro sensor_runout]
gcode:
    { action_respond_info("Filament Runout") }

After a bunch of printing, where the sensor saved me from all kinds of problems, I think that a filament motion sensor is pretty much a requirement for a modern printer.

The microswitch-styled sensor will save you from running out of filament at the end of the print and it will also save you from if the filament snaps.

The motion sensor will save you from the filament getting wrapped around the spool, the tension on the extruder being wrong, the hot-end being clogged, etc.

I don’t need the HDMI display.

I prefer to use Mainsail to control things most of the time.

I’ve been running things with no display for a while now because it came with a HDMI touch display and I think that’s overkill and an annoyance to actually set up. The problem is that there are a few things where something more than no display would be nice — primarily triggering a filament load/unload and hitting the emergency stop button.

The BTT Knomi2 display looks super-cute. I guess the problem is that writing a good general purpose utility library to enable folks to create interesting Klipper accessory devices is … a pretty large project, actually, and so Knomi2 ships as a separate device that connects to Klipper via wifi and stuff and you don’t even really have a whole lot of control over it.

So the easiest option is to go back to the BOM spec 128x64 display with an encoder. Which took a while to get going.

A useless Mellow display

Because I was ticked off that my BTT SKR Pico board for my Zero was delivered broken, I’d gotten some bits from Mellow instead. This included a Mellow FLY Mini V1.0, which I’d thought was their version of the standard display out of the BOM. However, the Mellow display has the reset button offset by 2.74mm compared to spec… so it won’t work with the mount I’d printed.

Manta M8P and stepper motor driver replacement

Sensorless homing suddenly … stopped working on the Y axis. This, of course, caused a crash. I had just finished a print, triggered the next one, it failed to home properly and crashed. I had other things to do so I put it away for a week. I come back the next week and play around with things and determine that the DIAG signal doesn’t seem to be getting through properly.

I swapped out the jumper. I’d swapped out the stepper driver boards and that didn’t fix the problem. I tried moving it to a different slot but that just got annoying after a while and since I’m going to have to wait a week before I can get back to this, I might as well just replace some things. So I got some 2240 stepper boards and a Manta-M8P V2.0.

I think the real problem is that the DIAG pins are 2.0mm spacing instead of 2.54mm spacing, which I realized when I was setting up the V2.0. Oops.

Then again, ugh, since this happened right before the tariffs started to get imposed, I figured having some spare bits at the pre-tariff price wasn’t a bad idea.

The 2240 stepper motors seem to run hotter than the prior 2209 drivers, which meant that I was getting a TMC 'stepper_y' reports error: GSTAT: 00000002 drv_err=1(ErrorShutdown!) error message after it was sitting idle for a bit. I’d noticed that the temperature of the steppers were a bit … high, so I figured the right thing to do was hook up the 50x15 fan I’d vaguely intended to use to cool the stepper motors for a while and aim it at the stepper motor drivers to see if that fixed things. Which it did.

So the next step was printing an air duct I’d found. I still kinda want to design my own although the Pi stays quite cool with the heatsink on.

I think I still like microswitches better than sensorless. I realized that the belts were kinda overly abused in the process of getting the printer going and so the tension was getting un-even, especially around the parking position, which was causing it to false-trigger too early. I kinda avoided fixing it for a while by manually moving it over towards the corner where it would trigger reliably before I started a print.

BTT HBB

I was thinking that the main thing that felt nice, in lieu of a fancy-ass 5 inch touch panel, would be some buttons. Because generally I only trigger a few operations from in front of the printer, otherwise I’ve always used Octoprint or lately Mainsail. I decided that the BTT HBB comes in a nice slick easy package.

There’s one annoying Klipper quirk to note: You don’t want to use a gcode button for the emergency stop. It gets executed at the next gcode cycle, which means that if you want to hit the emergency stop, it might take a bit of time to actually happen. For example, if you notice that the printer isn’t sensing that it hit the wall during the homing process, if you hit a gcode stop button, it will trigger after the printer completes homing, which is probably too late.

Thus, I set up a display and had the display use the HBB’s button as the control line for a real stop button. Presumably if I wasn’t going to get a display going, I’d probably just configure a mock display.

HitLuca made my life easier by making a HBB skirt mount for the Trident which I’ve still not printed. Oops.

BTT Mini 12864 V2.0

The BTT Manta M8P V2.0 doesn’t have the normal expansion port connector. I noticed this a little too late so the poor folks at Fabreeko had to accept a return when I purchased the BTT Mini 12864 from them. Sorry! I ended up ordering myself the V2.0 version.

The FPC cable should have the metal parts pointing downwards and you make the connector work by flipping the little black lever in the back up, which the manual does not really mention.

I ended up snipping away at the stock case to make room for the FPC cable. There’s a PR in the Mini-12864 V2.0 github that has an already modded version.

The klipper menu system is stale as heck

Apparently most people really love a fancy screen?

It’s annoyingly hard to configure the menus.

Finally found a DragonBurner / HextrudORT / PUG / 36-style board mount

I re-printed the cat cowl for my DragonBurner because it was one of the first things I’d printed with Fusion Filaments ABS 1.5 and it likes it a little bit hotter than most other ABS’s.

I’d tried designing my own DragonBurner toolboard mount in OpenSCAD but it was getting fiddly and I decided I had other priorities, so I was using a not especially good homebrew mount.

Two different people posted a mount that looked like it would work with my HextrudORT Low Plus extruder, a PUG, and my toolboard. Of the two, Esoterical’s HextrudORT Low-PLUS Motor EBB36/NH36 PUG Mount looks to be the winner.

The Dragon Ace and Chube Compact

My desired goals for a hotend right now are pretty much:

  • Good combination of print quality and flow rate: In theory, a short hot section is optimal for print quality because you aren’t working with that big of a molten blob of plastic at any particular time and a long hot section is optimal for flow rate because it’s got a good amount of time to get going. Obviously there’s physics involved here in terms of heat transfer materials and temperature gradients and stuff. But the Dragon SF hotend that came with the printer is not speedy enough to keep up.
  • Fits well in to the system of other bits. Ideally the same nozzles as before (although I guess the vendor-neutral FIN system is OK)
  • Wires in reasonable places and otherwise reasonable mechanical design.
  • An easy-to-maintain and resilient design - M1.4 screws are annoying. M1.4 screws that are going to be facing towards the printbed and therefore getting clogged over time with melted plastic are really annoying. Usually I have to replace a toolhead because something gets all gummed up that’s facing the printhead in such a way it’s not an easy fix, so as much as possible the bottom of the hotend facing the print bed should be a featureless blank surface. Parts that are likely to get broken in a head crash ought to be easy to replace.
  • Overall community support for the toolheads I’d want to use.
  • Overall reliability

The Dragon Ace is kinda allegedly some version of that? Although, this might be from testing the limits with larger nozzles or trying to unload filament where it’s just the wrong level of gooey or just because I used a 3010 fan instead of the blessed 2510 fan but I’ve had problems with both my Dragon and Dragon Ace hotends getting clogged.

Because of this, I dismantled the toolhead a few too many times which broke the fans and seems to have broken the PT1000 thermal sensor, and enough goop has entered that hole so I can’t get it out of the heatblock. Obviously it’s easier to machine that piece if the hole for the thermal sensor goes all of the way through.

I thought I didn’t have a spare, which sucks. See, Slice made the Mosquito hot-end a while back. And it was actually pretty great, for the time, but also Slice took out a bunch of patents, some of which are … probably silly? Thus, a bunch of hotends kinda get chased off of Amazon and AliExpress. Thus, if I wanted to get replacement parts, I’d have to go to the Triangle Labs store directly, except … tariffs.

Now, part of why I didn’t get the spares was because I’d signed up for a beta hotend. Naturally, being that I signed up for a beta hotend, I knew that I was plunking down some money for materials cost, understanding that I may or may not like it, etc. And also that the target date was subject to slipping. I dealt this in my usual fashion: Made incessant bad puns on the beta discord until they gave me the punster role.

Basically, the Chube, the famous “Flow rate? Yes.” hot end from Luke’s Laboratory got a baby brother that’s probably about the right size for my needs? As one might expect from someone whose hotend is the famous “Flow rate? Yes.” it’s actually kinda sorta intended for Zero-sized Printers For Ants printers, which is fairly agreeable actually because I’d like to not have to maintain lots of parallel profiles and stuff.

The problem is that the Dragon Burner is kinda marginal with the Chube Compact. My idealized state was to have two printers with enough stuff identical that I can share printer settings and calibrations. And so what happened was I ran out of time because I needed to have a working printer for my big Open Sauce and Maker Faire projects and so I ended up running out of time to make it work before I needed to print, damnit and so the Chube Compact went back in the bag for later investigation.

And I was feeling super-spicy and frustrated but then I discovered that I had a spare Dragon Ace heatblock that I’d forgotten about ordering, so I put that on instead to get things going. And then West3D started selling Dragon Ace hotends so I ordered two extras.

I’ll return to this at some point. Or the INDX will be really cool and I’ll want to use that instead.

Unloading and unloading filament in the klipper world.

Most starter configs, most notably the Voron one that I started out with, will come with a macro for unloading and loading filament. However, if you are using the LCD, you won’t use the load/unload macros, it’s got some stuff hardcoded.

Then, I did some silly things to my unload macro a while ago and I think that it was causing annoying jams while unloading. The default macro will retract by 40mm and then stop. What I’d done, without thinking about it, was add a retract 10mm more, which means that the filament would sometimes end up right at the top of the hotend with maybe a bit of heat to it, which would then cause unloading annoyances over time.

My current unload macro, borrowed mostly from hartk1213 is:

[gcode_macro UNLOAD_FILAMENT]
gcode:
    {% set DISTANCE = params.DISTANCE|default(105)|float %}
    M400                           ; clear buffer
    M82                            ; set extruder to absolute

    ; Filament tip shaping sequence
    G92 E0 #RESET_EXTRUDER
    G1 E2 F3600
    G1 E0 F3600
    G1 E3 F3600
    G1 E0 F3600
    G1 E4 F3600
    G1 E0 F3600

    M83                            ; set extruder to relative
    G1 E-20 F3600
    G4 P3000
    G1 E{DISTANCE|float * -1} F3000
    M82                            ; set extruder to absolute

This adds a tip shaping sequence and then also it retracts the filament somewhat and then pauses for it to cool a bit before retracting it all of the way out the top.

Toolboards?

I’ve been using the Fly SHT36 v3 which is … kind annoying because it still requires me to do messy wiring to get everything I want and it’s got a screw terminals that suck.

The Fly SHT36 Pro … ugh, changes the design of the Fly SHT36 again and doesn’t necessarily make my life any easier because it won’t support a PT1000.

I’ve got a Fystec H36 Combo and a BTT EBB36 that I impulse purchased because of tariffs. The EBB36 would require even more of a rat’s nest of wires to work. The H36 doesn’t have a MAX31865 so I’d need to snake a wire up through the umbilical to measure the heatsink temperature.

The EBB36 Gen2 is awfully nice and apparently they’ve addressed a lot of details and so I’d probably want to migrate to that, where the primary flaw is that they don’t make a version with the MAX31865 anymore so, like the H36, I’d need to snake an extra wire pair.

There’s also the Jupiter from Lukes Labs, except it’s likely to be almost too beefy for me?

So far the SHT36 v3 is behaving well enough, so I guess I’ll stay in a holding pattern?

Next up to work on

  • More macro refactoring
  • Nozzle purge / nozzle brush / etc.
  • One of the screws on the right side of the gantry is accidentally a M3 T-nut and so I need to dismantle that a bit to get an M5 T-nut in there. Ugh.
  • Upgrade the docker containers
  • reacted for opsec reasons
  • Nevermore air filter
  • Bed fans
  • LEDs for the Dragon Burner
  • Switch back to microswitch homing
  • Close up the chamber
  • Chamber temperature sensor
  • Serial number
  • Install the Vitalii CNC idlers, XY-joints, motor mounts, and tool carriage
  • Properly mount the HBB
  • Better wiring for the filament sensor
  • Switch from the 3010 fan I’ve been using to the blessed 2510 fan.
  • Bed mount and rail backers
  • Camera

Conclusion

I used the printer a lot, which is the real point of having a 3D printer.

It’s pretty much time for some heavy maintenance. The front idlers cracked and the belt seems to have been worn out, probably because I should have gotten the belt tension meter right away and may have tensioned the belt way too hard at the very first.

One of the best improvements was a filament motion sensor. I probably should have just gotten the BTT one, honestly, but that really prevented a lot of messy print failures.


Posted:

Updated: