beetlebug.org

Rancilio Silvia Pro X

Espresso Cup Holder

The parameter guide for the two-piece stand. Each value in the design is listed here with what it does.

The assembled cup holder with a glass cup in the cradle The assembled cup holder with a glass cup in the cradle

Made from silvia_cup_holder.scad · 2026-10-18 07930b6

Overview

How it works

A short glass espresso cup sits far below the spouts on the Silvia Pro X. The espresso splashes, and the cup slides around on the tray. This stand lifts the cup so the rim is 8 mm below the spouts.

  • The legs piece spans the cup tray and clips over its sides.
  • The cup piece is a cradle on a pedestal. A twist lock joins the two pieces: drop the pedestal in, turn it 40°, and it clicks.
  • A fin on the back of the cup piece touches the front panel of the machine. Slide the stand back until the fin stops, and the cup is centered under the spouts.

Every size is a named value in silvia_cup_holder.scad, so you can fit the stand to a different cup or machine. docs/parameter_guide.pdf explains each value.

Axes: X goes across the machine, Y goes into the machine, and Z goes up. Z = 0 is the top of the cup tray. All sizes are in millimeters.

The legs piece, the cup piece above it, and the glass cup above that The legs piece, the cup piece above it, and the glass cup above that

Parameters

Machine

Measure your machine. These values place the stand on the cup tray and set the height of the cup.

ParameterValueWhat it does
grate_width260 mmWidth of the cup tray (the grid lid on the drip tray), side to side
grate_t1.5 mmThickness of the cup tray top sheet
group_y97 mmDistance from the front edge of the cup tray back to the group center (used only to place the holder in the previews)
panel_dist48 mmDistance from the group center back to the lower front panel
spout_height100 mmHeight of the spout tips above the grid. The grid has three settings: 80, 90, or 100 mm from the portafilter.
Figure for the Machine parameters Figure for the Machine parameters

Parameters

Cup

Measure your cup. The cradle fits the base of the cup, and the cup height sets the gap under the spouts.

ParameterValueWhat it does
cup_base_d60.25 mmOutside diameter of the cup body at the base
cup_height53 mmCup height from base to rim
handle_angle0°Handle direction in degrees, for the previews only (0 = handle points to the front, toward you)
Figure for the Cup parameters Figure for the Cup parameters

Parameters

Fit

These values set how tight each joint is. Change one value at a time, and check it with the fit-test pair.

ParameterValueWhat it does
spout_gap8 mmGap between the cup rim and the spout tips. This gap lets the portafilter drop and turn out of the group.
cup_clearance0.8 mmRadial clearance between the cup and the cradle wall
grip_interference0.8 mmSqueeze on each side of the cup tray
snap0.8 mmHeight of the grip bump inside each leg
fit0.25 mmTwist lock clearance in the hub of the legs piece (radial and vertical)
base_shrink0.3 mmThe pedestal bottom and the lug tips are made smaller by this value
lug_trim1.5°degrees off each side of each lug
base_lift0.4 mmThe pedestal bottom stays this far above the cup tray. The cone seat in the hub carries the cup piece.
click_depth0.5 mmDepth of the click groove in the pedestal
preload0.2 mmThe spring arms push on the groove with this much bend when locked. This removes rattle.
pad_gap0 mmGap between the push pad and the front panel
Figure for the Fit parameters Figure for the Fit parameters

Parameters

Holder

The shape of the two pieces. The section shows the cone seat, the flare, and the core inside the cup piece.

ParameterValueWhat it does
wall2 mmthickness of the cradle wall
cradle_wall_h6 mmheight of the ridge around the cup; keep it under the handle
floor_t3 mmsets the height where the flare meets the cradle wall
bar_w26 mmY size of the bar at the hub
end_w50 mmY size of the bar at the legs (a long grip stops the bar from turning)
bar_h5 mmZ size of the bar (solid; it lies flat on the cup tray)
edge_c1 mmchamfer on the top edges of the bar
leg_t4 mmleg thickness
leg_drop8 mmhow far the legs go down the sides of the cup tray
corner_r3 mmoutside corner radius of the legs piece outline
fillet_r10 mmfillet radius between the bar and the hub
pedestal_d40 mm—
flare_r20 mmradius of the curved flare under the cradle
flare_round3 mmradius where the flare meets the cradle wall
core_wall0.5 mmThe inside of the cup piece prints as open infill (see part = "core"). Drips go down through the infill and out of the bottom to the cup tray. the core stops this far inside the outside surface
rim_chamfer1.2 mmlead-in chamfer on the inside top edge of the cradle
rim_round0.8 mmradius on the outside top edge of the cradle
fin_w5 mmX size of the push fin at the cup
fin_tip_w3 mmX size of the push fin at the pad
pad_w14 mmX size of the push pad
pad_t3 mmY size of the push pad
pad_h16 mmheight of the push pad above the cup tray
Figure for the Holder parameters Figure for the Holder parameters

Parameters

Twist lock

The lugs on the pedestal go down through the keyways in the hub lip. A 40° turn locks them, and the spring arms click into the groove.

ParameterValueWhat it does
lug_count2keep 2: the lock is then the same at each end of the bar
lug_angle36°angular width of each lug
key_angle42°angular width of each keyway in the hub lip
twist40°turn from the keyways to the locked position
lip_t2.5 mmthickness of the hub lip above the lugs
lug_depth2.4 mmhow far each lug sticks out from the pedestal
hub_d58 mmoutside diameter of the hub
seat1.5 mmdepth of the cone seat in the hub top
arm_t1.6 mmthickness of each spring arm
arm_slot1.2 mmwidth of the slot behind each spring arm
arm_angle42°angular length of each spring arm
lug_gap0.5 mmgap above and outside each lug, under the hub lip
arm_gap0.4 mmgap between each spring arm and the pedestal
Figure for the Twist lock parameters Figure for the Twist lock parameters

Parameters

Printing

Both pieces print with no supports. The legs piece prints upside down, and the cup piece prints upright.

ParameterValueWhat it does
overhang35°Steepest overhang, in degrees from vertical. Every face that hangs is at this angle or steeper, and every part starts on the bed or on a layer below it, so nothing needs supports. Cura adds supports above its Support Overhang Angle (40 degrees by default). Keep this value smaller.
Figure for the Printing parameters Figure for the Printing parameters

Tuning

Fit it to your machine

Open silvia_cup_holder.scad in OpenSCAD and use the Customizer. Change one value at a time, then print the fit-test pair to check it.

ProblemChange
The stand slides on the trayRaise grip_interference by 0.2
The legs are too hard to put onLower grip_interference by 0.2
The click is too stiffSet preload to 0.1, or arm_t to 1.4
The click is too weakSet click_depth to 0.7
The cup is not under the spoutsChange panel_dist. A larger value moves the cup forward.
The portafilter hits the cupRaise spout_gap, or set spout_height to your grid setting

Values the design computes

Cradle floor top above the cup tray39 mm
Cup rim height above the cup tray92 mm
Legs piece266.4 x 58 x 13 mm

The design is © 2026 Jeremy Collins under CC BY 4.0. The scripts are MIT. Rancilio and Silvia are trademarks of Rancilio Group. This project is not affiliated with Rancilio.

Files

Downloads

The OpenSCAD and FreeCAD sources are in the repository.