Research Associate · University of Waterloo Waterloo, Ontario
Onur Eren Arpacı
Onur Eren Arpacı 3D prints Updated September 2026

The workshop

Printed because the real one was wrong.

Five things I’ve designed and printed. Two for our cat, two for a friend’s espresso machine, one for my own grinder. Newest at the bottom.

I have a 3D printer, and most of what I make on it comes from noticing that some ordinary object is slightly wrong. A holder that doesn’t fit. A bowl at the wrong height. A scale that won’t zero because whatever is under it keeps moving. None of it is clever and most of it is over-built, but each one fixed something that was bothering me or someone I like.

Most of these were for other people. Künefe, our cat, got a bowl at a height that suits him and a puzzle that makes him work for his treats. Diaa, a close friend who is as deep into coffee as I am, got two attachments for his Gaggia Classic. The portafilter holder is the only one I made for myself. They are below in roughly the order I made them.

The designs

No. 1 · For Künefe

Raised cat bowl, adjustable in height and tilt

Künefe, a ginger tabby, eating from a stainless steel bowl held at head height by an orange 3D-printed stand
Künefe at the bowl, set to his height. Orange was the first colour I printed with; he didn’t seem to mind.
For
Künefe, our cat.
What it is
A stand for a stainless steel bowl. The height and the tilt are both adjustable, set with a single screw.
Material
PLA, hand-wash. The bowl is stainless steel and goes in the dishwasher.
Available
On Etsy, printed to order.

I bought a few raised bowls before making this one and none of them were the right height. The tall ones made Künefe hook the food out with his paw and eat it off the floor. The short ones put his neck back down in the position a raised bowl is supposed to fix. Most of them were a single lump of ceramic too, so washing them was a chore.

So this one adjusts. The arm slides up a column of holes and locks with a screw wherever the cat needs it, and the holder pivots on that same screw if you want to tip the bowl towards him. The bowl itself lifts straight out.

The base takes a couple of screws. Leave them loose until all the feet are flat on the floor, then tighten them, and it stops wobbling.

No. 2 · For me

54 mm portafilter holder and magnetic funnel for the DF54

A black 3D-printed fork holding a 54 mm portafilter under the chute of a DF54 grinder, with a Breville espresso machine behind
The holder on my DF54, with a Breville portafilter in it and nothing to hold onto.
For
Me. It lives on the DF54.
What it is
A replacement portafilter fork sized for 54 mm three-ear portafilters, plus an optional funnel that holds itself onto the basket with magnets.
Material
PLA, printed with thicker walls and more infill than the usual versions.
Available
On Etsy, printed to order.

The DF54 comes with a fork sized for 58 mm portafilters. Breville machines use 54 mm ones with three ears, so the portafilter from my Bambino Plus just rested in the stock fork and sat a bit differently every time I put it in. This one is cut for the smaller size, so it drops in and lands under the chute the same way.

I added the funnel later and now I use it more than I expected to. Magnets hold it to the rim of the basket and it catches the grounds that used to end up on the counter. It has to come off before you tamp, so the order is: WDT, tap the portafilter so the grounds clinging to the funnel drop in, lift it off, tamp.

It’s chunkier than the other 54 mm holders I’ve seen, on purpose. It gets knocked every day and I’d rather not reprint it every few months.

No. 3 · For Künefe

Treat puzzle with adjustable difficulty

Künefe nosing at a tray of green 3D-printed balls on rods, fishing for the treats inside them
Künefe working on it. The treats are inside the balls, and the balls spin on their rods when he paws at them.
For
Künefe, who is very food-motivated.
What it is
A tray with rows of rods, and hollow balls that slide onto the rods. Treats go in the balls; the cat has to spin and nudge them until the treats fall out.
Material
PLA, hand-wash. Anti-slip pads underneath.
Available
On Etsy, printed to order.

Treat time used to be over in about four seconds. How hard this one is depends on how many balls you put on the rods. Load them all and it takes him a while, use two or three and it’s easy, and with no balls at all he still has to fish the treats out of the channels in the base. It worked when he was a kitten with no idea what he was doing and it still works now that he is good at it.

Everything pulls apart for washing, and the pads underneath stop the tray sliding across the floor once he gets going. A full tray keeps him busy for fifteen or twenty minutes, which is a long time for him to concentrate on anything.

No. 4 · For Diaa

Steam wand drip tray for the Gaggia Classic

A black 3D-printed tray clipped to the side of a Gaggia Classic, with the steam wand purging into it
Purging into the tray on Diaa’s Gaggia Classic, instead of onto the counter.
For
Diaa, a close friend and a fellow coffee enthusiast, who has the Gaggia.
What it is
A 240 ml tray that locks onto the side of the machine, right under the steam wand, and lifts off to empty.
Material
Polymaker HT-PLA, rated to 150 °C, so the purge water doesn’t soften it.
Available
On Etsy, printed to order.

The steam wand on a Gaggia Classic sits out past the edge of the machine, so it never lines up with the drip tray. After steaming milk you still have to purge it somewhere, and that somewhere is either the counter or a cup you hold under the wand. The cup isn’t much better, since it’s open at the top and the steam comes out hard enough to throw the hot water straight back out over everything.

So the wand got its own tray. The opening is shaped to take a purge at full pressure without spraying it back at you, and 240 ml is enough that you’re not emptying it after every drink, which is also why it doesn’t need to drain into the machine’s own small tray. It clicks on and stays there while you push the wand around, and it comes off with one hand.

No. 5 · For Diaa

Drip tray cover with a recess for a scale

A black 3D-printed drip tray cover on a Gaggia Classic, with a small BOOKOO Themis Mini scale sitting in a recess under the group head
The cover in place, with the scale dropped into the recess under the group head.
For
Diaa, again. It fits the Gaggia Classic and a BOOKOO Themis Mini scale.
What it is
A replacement for the drip tray grate, printed as one piece, with a pocket that holds the scale below the level of the grate. It sits on the original tray body.
Material
Polymaker HT-PLA, rated to 150 °C. Thick walls, high infill, about 70 g.
Available
On Etsy, printed to order.

To weigh a shot on a Gaggia Classic you put a scale on the drip tray, and then the scale eats most of the space left under the group head. Sinking it into the tray gives that height back, so a taller cup fits with the scale still under it.

Diaa had been using a two-piece version of this, and the two parts moved against each other just enough that the scale was hard to zero and the reading drifted partway through the shot. This one is printed as a single piece, so there’s nothing under the scale that can shift.

The photos are mine, taken on the kitchen counter and the dining table. Künefe was not paid for his.