Claude Code · OpenSCAD · Bambu Studio · PLA
Claude fixed my bike. With a part I printed at home.
On Monday morning at 9:27 the belt tensioner roller on my cargo bike broke, a Trek Fetch+ 4, the bike I pick my kids up with. At 13:00 I was holding a replacement I had printed at home: Claude found the part, emailed the shops, turned my caliper measurements into an OpenSCAD file and set up the print in Bambu Studio on my own keyboard and mouse. It took a mechanic the next morning to get it on the bike properly. It rides. This is how, the file, and what went wrong.


Monday, in order
09:27 the roller breaks. I send a video to my mechanic on WhatsApp
10:24 Claude has the part number and 4 order emails are out
10:37 I measure the broken roller with a caliper
Claude writes the OpenSCAD file, then drives Bambu Studio
13:00 printed roller in my hand (57 min print, 25 g PLA)
15:10 "I'm not qualified to fix this" - me, to my mechanic
next he comes in the morning, fits it, the bike rides
1. Finding the part
Claude read the video straight from my WhatsApp archive, matched it to the exploded drawing in the Fetch+ 4 service manual and found Trek 5291300, Cargo Box Belt Drive Tensioner Pulley (EAN 601479080403). The kit is a flanged roller, two bearings, two M8 washers and an M8x40 bolt, tightened to 7 Nm. It costs around 11-13 EUR. It emailed a Trek dealer in Zagreb and three Polish shops, one of which listed 52 in stock. Days, either way.
2. Measuring it
Trek does not publish the dimensions. An M8 bolt points to 608 bearings (8 x 22 x 7 mm), and the bearing in the old roller confirmed it: 608-2RS. With a caliper: the belt runs on a 42 mm surface, the flanges are 49 mm, the whole roller is 20 mm deep. That is everything the file needs.



3. The file
A plain cylinder with a flange at each end, a 17 mm through-hole, and a bearing pocket pressed in from each side. The one number worth tuning is the bearing seat: brg_d = 22.15. If the bearing falls out, print it at 22.05; if it will not press in, 22.25. Download: fetch4_idler_roller.scad · fetch4_idler_roller.stl.
4. The print
I asked Claude to take over the keyboard and mouse and set it up in Bambu Studio for my A1. It did, through the accessibility layer, with one quirk: values typed into Bambu's fields only stick after a click, type and Return, not when set directly. Settings: PLA, 0.2 mm layers, 6 walls, 50% infill, tree supports under the top flange. 57 minutes, 25.6 g. It stopped at the Print button, I pressed it.
5. What went wrong
Forward, it rode. Backwards, the belt walked out of line and the roller made a plastic noise. I flipped it, printed a second one, reversed two metres into the garage and something snapped. Fitting a belt tensioner is a real mechanical job: alignment, belt tension, the order of the washers. I am not a bike mechanic. The next morning my mechanic came, fitted the printed roller, and the bike has been riding since. Without him it would not work. Without the file he would have had nothing to fit.
PLA is fine in the cold. It softens around 55-60 C, so this is a stopgap until the original arrives, not a summer part. PETG or ASA would last longer.
Why this one got to me
The first startup I worked at was AMN, Siemens' Additive Manufacturing Network. The idea was that a broken part should not wait for a shipment from a factory: you print it close to where it is needed. The printers were never the problem. Everything before the printer was: knowing what broke, getting dimensions nobody publishes, designing a file that prints, setting up the print. Each step needed an engineer. On Monday every one of those steps was done by Claude, and my job was holding the caliper.