Dialing in TPU on the Prusa XL

As far as printer filament goes, TPU is weird. It is the one filament that is always north of the glass transition temperature when you’re working with it. That is, it’s already closer to melted than solid and that’s the whole point. It prints as a flexible material. Can be used to provide soft bumpers or gripping surfaces. Or basketballs.

As such, TPU needs a radically different configuration than printing with PETG/PLA or the other filaments that are actually solid.

First, TPU is extremely hygroscopic. It sucks up water from the atmosphere like a relative sponge compared to PLA or PETG. So, make sure the filament is dry. For this run, I dried at 47°C and put the filament dryer on a postal scale so I could record weight loss. The first 80 minutes dropped 248g (3,320g → 3,072g). The next 3.5 hours lost only 4g more. Obviously, how quickly filament dries depends entirely on surrounding environment, but the typical recommendation of more than 8 hours is total overkill.

The Prusa XL uses long bowden tubes to feed filament to the print heads. TPU does not work well with bowden tubes. Too much friction and too flexible, so it tends to not feed well at all and causes all kinds of pressure issues at the print head. Thus, the first step was to eliminate the bowden entirely by going to direct feed by hanging the filament spool over the printer and direct feeding.


Because the XL is physically not compatible with TPU as a filament, it also doesn’t provide any presets for using TPU. If one naively simply takes a regular filament preset and modifies the print temperatures to print at the temps recommended on the filament’s box (220°C), the result is an utter mess.


Add a TPU preset on the Prusa XL itself. Set the nozzle temperature to 205°C and turn off auto-retraction. The rest of the settings are acceptable for a project where TPU is embedded in other filaments that are printed on the bed. To undo the landmine I set for future self, I set the bed temperature to 50°C after taking the screenshot.

Actually fixing the problem required changing a TON of parameters. In this case, made more complex because I wanted to print a TPU gripping surface onto the yellow PETG. Thus, the changes made to support TPU had to remain compatible with PETG.

Details inside….

Continue reading →


3DMakerPro Toucan: How to Not Throw it Through the Nearest Window

The top anvil is a 150+ year old anvil that has been passed down in my family. On the bottom is a sub-millimeter accurate 3D printed copy of said anvil. The 3D file used for printing was generated using the 3DMakerPro Toucan structured light 3D scanner.

The 3DMakerPro Toucan is a standalone handheld 3D scanner running around $2,000 (I got it for 50% off in what seems to be a commonly occurring promotion). It promises 0.03mm accuracy, has 32GB + 256GB of onboard storage, and can operate without a PC for basic scanning.

The device is surprisingly heavy at nearly 2kg and really well built. All metal case. External controls include a brightness dial, power button, and shutter button. There’s a large widescreen touch panel on the back and the device can fully process multiple scans—including point cloud alignment and mesh generation—entirely on device.

The fan, though, is questionable. Out of the box it was loud and made odd noises when moving the device around. After a software update, fan speed is now controlled in settings and is reasonably quiet. No indication as to how fan speed might impact performance.

The Toucan uses blue laser structured light for scanning with Class 1 and Class 3R modes.1 I don’t trust Class 1 mode and always wear 450nm safety goggles. When I asked 3DMakerPro which glasses to buy, their helpful response: “Our equipment uses a laser wavelength of 450nm; you can use this parameter to select your glasses”.

Continue reading →


Chef Genius: A Custom LLM Recipe Assistant

I’ve been using a custom GPT called “Chef Genius” for a while now. It’s a recipe assistant tuned to my kitchen - my equipment, my pantry, my dietary preferences. It generates healthy, vegetable-forward meals using what I actually have on hand.

The value isn’t in the Custom GPT (a MyGPT), but in the prompt that it uses. That prompt works very well in Claude, Gemini, or, even, a local LLM of reasonable capability.

Instead of sharing the prompt and having people edit it by hand, I created an interactive form that generates the prompt automatically.

What It Does

Chef Genius generates recipes that:

  • Use ingredients and equipment you actually have
  • Match your preferred meal style (light, moderate, or hearty)
  • Serve your household size
  • Provide measurements in grams (with US volume for convenience)
  • Include cultural context and prep times

The key philosophy: flavor-first. No sad “healthy” substitutions that ruin the dish. If a recipe needs butter, it uses butter - just in reasonable amounts.

The Template

I’ve created an interactive form that generates a customized prompt for your kitchen. Fill in your equipment, pantry staples, and preferences, then copy the result into any LLM.

Click through for hallucination details and tips.

Continue reading →


Filament Drying: Temperature Matters More Than Time

Filament Dryer Temp Accuracy Test
My filament dryer is off by ~2°C. (Nice self portrait :) )

A lot has changed in the 15 years since I acquired my first 3D printer (a wooden Ultimaker Original).

In particular, filament drying is now considered standard procedure. And it really does make a huge difference, especially with very hygroscopic filaments like PETG.

But there is a lot of misinformation out there. Or incomplete information. For example: drying time. Drying time is impacted by too many variables for one to claim “this filament needs to dry for that long at that temperature” and have it be accurate. I’ve measured it by putting my filament dryer on a postal scale and writing down the weights over time. If you read online, PETG drying time will be 6-8+ hours. However, for my moderately damp filament:

Time Weight Total Loss
7:40 pm 4426g
8:10 pm 4394g 32g
10:10 pm 4314g 112g
11:12 pm 4312g 114g

This is obviously a one-off and not terribly well designed, but ~3.5 hours sure ain’t 6-8.

Also, the critical part about drying is temperature. You don’t want to exceed the Tg (the glass transition temperature) of the filament or the spool it is on.

I compiled a list of Tg values and safe drying temperature ranges for a bunch of common (and some not so common) materials: Filament Dryer Temperatures. Also includes some resources for diving into material characteristics.


Computer, GUI, Network... LLM?

My career in computing and my life are largely inseparable. Computers were, and still are, a tool for living. In hindsight, the real milestones weren’t specific platforms or programming languages– though both have played major roles– but the arrival of tools that fundamentally changed what I could accomplish. Said tools weren’t just accelerators. They reshaped how I worked and lived. What follows is a look back at several of those shifts, and a look ahead at where LLMs– often inaccurately labeled “AI”– belong in that lineage.

When I was young, I told my parents I didn’t need to learn to write because I would have a machine that would write for me. I was 4 or 51. Not too many years later, we had a family Apple ][+ that I fully monopolized, teaching myself programming, various hackery, and causing a bit of trouble.

The computer was revelatory for me. It enabled me to write down my thoughts and ideas in a way that was recorded with assistance by this incredibly flexible tool that would oft aid in gathering said thoughts. Obviously, early days were primitive. “? SYNTAX ERROR” was the grand sum total of feedback at the time.

Continue reading →


Trash Theory: Documenting the Music That Shaped Us

I grew up in the music scene of the 80s, from a midwestern perspective. We still had the hard rock of the 70s, with a bit of a country fried rock flair, but we also very much had the electrosynth goodness coming through the local college stations and, of course, MTV. Buggles. Adam Ant. Eurythmics. Phil Collins. Peter Gabriel. It was so new and amazing at the time. Still amazing, but not so new these days.

Continue reading →


Plumber's Dream Pencil Holder

Plumber's Dream Pencil Holder

I needed a pencil holder for my workbench. Was tired of never being able to find a pencil and optimistically believe that it is because the pencils don’t have a home.

Now they do.

Printed in PET-G.

I printed this version which is threaded so the top and the bottom hold together. There is also a flower pot version that has a hole through the bottom of the two pieces.


Laser Resources

When I first got my GlowForge, I started collecting bookmarks to various sites with plans, generators, tutorials and other useful information. Over the years, the list has grown considerably.

It lived as a set of bookmarks in the sidebar of Safari. I’ve been meaning to break it out of there and put it into a proper page.

Laser Resources.

The page includes:

It’s a living document that I’ll continue to update as I find new resources.


Welcome to bbum.net

The new home of “bbum’s weblog-o-mat”.

New content & revisiting the posts from days of yore….

Del Monte Beach Sunset

More to come.


Focus Stacking: An Introduction

Belionota sumptuosa (Indonesia)

Above is a photo of a Belionota sumptuosa from Indonesia. Commonly known as a Tricolor Metallic Wood-boring Beetle.

It isn’t a regular photo, though. It is a focus stacked image.

Specifically, it is 276 photos combined to make a single image. When shooting macro, the depth of field — the distance in front of the lens that is in focus — tends to be really narrow. By taking a bunch of photos where each has a different depth in focus and then combining only the in focus areas from each image, one can effectively create a composite image that is entirely in focus.

So, this is really 276 images taken across about 40mm of camera travel; about 0.15mm of travel between each picture taken.

Since optics are optics and physics are physics, changing the focal plane by either moving the camera ever so slightly (10 to 20 microns per photo, in this case) or by changing the focus depth via the lens’ focus ring, the scale of the subject changes just slightly and anything in the foreground becomes blurry and obscures the background.

All that has to be compensated for and there are a handful of software stacks that do exactly that.

Continue reading →