We don’t use the blender much, so the most recent bearing replacement continues to work. I never got around to re-making the overly long shaft spacer from the first bearing replacement, which I compensated for with a spacer kludge cut from a random chunk of bendy plastic sheet.
Which we put up with For. Eleven. Years.
The blender recently emerged from hiding and, with my solid modeling-fu cranked up to a dangerous chattering whine, I conjured a real spacer:
It pretty much disappears into the blender base, which is the whole point of the operation:
When the bearings fail again, I promise to make a proper shaft spacer and toss this bodge.
The OpenSCAD code as a GitHub Gist:
| // Kitchen blender base adapter | |
| // Ed Nisley KE4ZNU June 2019 | |
| //- Extrusion parameters must match reality! | |
| /* [Hidden] */ | |
| ThreadThick = 0.25; | |
| ThreadWidth = 0.40; | |
| HoleWindage = 0.2; | |
| Protrusion = 0.1; // make holes end cleanly | |
| inch = 25.4; | |
| function IntegerMultiple(Size,Unit) = Unit * ceil(Size / Unit); | |
| ID = 0; | |
| OD = 1; | |
| LENGTH = 2; | |
| //———- | |
| // Just build it | |
| Spacer = [48.0,66.0,1.8]; // LENGTH raises blade holder | |
| Aligner = [Spacer[ID],52.0,Spacer[LENGTH] + 3.0]; // LENGTH locks into base ring | |
| NumSides = 4*3*4; | |
| //———- | |
| // Just build it | |
| difference() { | |
| union() { | |
| cylinder(d=Spacer[OD],h=IntegerMultiple(Spacer[LENGTH],ThreadThick),$fn=NumSides); | |
| cylinder(d=Aligner[OD],h=Aligner[LENGTH],$fn=NumSides); | |
| } | |
| translate([0,0,-Protrusion]) | |
| cylinder(d=Spacer[ID],h=10*Aligner[LENGTH],$fn=NumSides); | |
| } |
Not that it really deserves so much attention …

