
Overview Link to section: Overview
I designed these two fixtures to organize small bathroom items and hold a microphone at a desk edge. The shelf uses repeated printed parts around one rod; the microphone holder combines the clamp, column, arm, and cradle into one printable piece without separate hardware.
Both are CAD (computer-aided design) projects with editable source and print exports. The images here are renders, and neither project’s documentation reports physical fit or strength testing.
Bathroom corner shelf Link to section: Bathroom corner shelf
My shelf is a three-tier countertop organizer with identical quarter-circle trays extending 185 mm along each wall. A single 8 × 300 mm carbon-fiber rod forms the spine. Each tray has a 16 mm tall corner hub around the rod, with two spacers between successive trays and a cap over the top. The shelves sit at 0, 140, and 280 mm.
The drainage grate uses 5 mm wide bars on a 20 mm pitch (the distance between repeating features), with a continuous 5 mm border. Retaining lips surround the trays. Fillets (rounded edges) soften the front underside and hubs, while chamfers (small bevels) ease the lip tops and rod entry. The exposed front corners have 5 mm bevels that preserve the 3 mm retaining-wall thickness.
At the back, an 8 mm outside radius and 5 mm inside radius keep the wall thickness consistent while leaving clearance for caulk or grout. I designed the organizer to sit with both straight edges against the bathroom corner, holding soap, bottles, and similar light items. It is not intended for heavy cantilevered loads—weight hanging out from the supporting spine.
Shelf print plan and adjustments Link to section: Shelf print plan and adjustments
My instructions call for three shelves printed flat side down, four spacers printed upright, and one cap printed open side down. PETG (a plastic used for 3D printing) is the recommended material for the wet bathroom setting, with four walls and 20% infill (the internal structure inside the printed shell). These are documented starting settings, not physically validated results.
Assembly alternates a shelf with two spacers, then finishes with the third shelf and top cap. The carbon-fiber rod is a separate component, not a printed part.
The design is parametric: named dimensions control the geometry. In make_corner_shelf.py, I can change SHELF_RADIUS, TIER_PITCH, LIP_HEIGHT, and BACK_CORNER_FILLET, then regenerate the FreeCAD model and STL files (mesh files used for printing). ROD_DIAMETER and FIT_CLEARANCE set the rod bore; the current generator makes it 8.2 mm. My instructions suggest increasing FIT_CLEARANCE or carefully opening a tight printed hole by hand with an 8.2 mm drill.
Microphone desk clamp Link to section: Microphone desk clamp
My microphone holder targets a 42 mm microphone and a 17 mm desk. Its C-shaped spring clamp has a relaxed opening of 16.2 mm: PRELOAD = 0.8 makes the mouth smaller than the desk thickness so the lower jaw must flex as it slides onto the edge. A vertical column and short arm place the cradle center 120 mm above the desktop and 62 mm out from the edge toward the user.
The final generator uses a 41.9 mm cradle bore, slightly smaller than the microphone, and a 2.2 mm slit through the top of the ring. This collet (a split collar intended to flex around and grip an object) provides the modeled microphone interface. The README describes pressing the mic past two snap lips and twisting to remove it, but the current generator models a split ring without separate internal snap lips. I use that generator as the source for the final dimensions and geometry rather than the earlier brief’s larger bore and jaw clearance.
Mic print plan and adjustments Link to section: Mic print plan and adjustments
The README specifies PETG, four perimeters (outer walls), and 25% gyroid infill (a repeating curved internal lattice), with no supports. It calls for printing as modeled, clamp mouth down, to orient the layers for the clamp-opening force. That is the documented strength-oriented print plan; layer adhesion, spring action, and microphone retention still need physical checks.
I built the generator with build123d, a Python library for constructing solid CAD models. DESK_T sets desk thickness, PRELOAD controls clamp interference, RING_ID sets microphone fit, and SLIT_W sets the collet slit. CRADLE_Y and CRADLE_Z adjust reach and height. The README suggests tuning PRELOAD in 0.2 mm steps or RING_ID in 0.15 mm steps if the fit is too tight or loose.
The files include the Python generator, a STEP model (an exchange format for solid CAD geometry), and an STL print mesh. Regenerating after parameter changes lets me adjust the fit, but it does not establish the printed part’s grip or strength.
The shelf files and mic mount files contain the source and printing notes. My Parametric FreeCAD Designs entry covers other editable parts in the same repository.
Build photos

