-
MTD Snowthrower: Replacement Throttle Knob
The throttle knob on our MTD snowthrower (a.k.a. snowblower) cracked apart around its metal shaft when I pulled it upward. A temporary fix involving duct tape and cable ties sufficed to start the engine, although the usual intense vibration shook the knob loose somewhere along the driveway during the next hour.
Update: Found it!
Although I have no photographic evidence, I did make a few quick measurements:

Throttle Knob Dimension Doodles It fits an MTD model E6A4E, but I suspect nearly all their engines have identical throttle shafts:

Snowthrower Throttle Knob – stem end – solid model The only practical way to build the thing has it standing on the shaft end, surrounded by a brim to improve adhesion, so I added (actually, subtracted) a pair of holes for music-wire reinforcements:

Snowthrower throttle knob – reinforcing wires It definitely has a stylin’ look, next to the original choke control knob:

Snowthrower throttle knob – installed I omitted the finger grip grooves for obvious reasons.
The slot-and-hole came out slightly smaller than the metal shaft and, rather than wait for epoxy to cure, I deployed a 230 W soldering gun (not a piddly temperature-controlled iron suitable for electronics) on the shaft and melted it into the knob.
More snow may arrive this week and I printed another knob just in case …
The OpenSCAD source code as a GitHub Gist:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters// MTD Snowthrower Throttle Knob // Ed Nisley KE4ZNU 2020-12-18 /* [Options] */ Layout = "Show"; // [Build, Show] // Extrusion parameters /* [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); //———————- // Dimensions Throttle = [17.0,1.85,6.5]; // blade insertion, thickness, width PaddleSize = [25,30,9]; PaddleRound = 4.0; PaddleThick = 8.5; StemDia = 13.0; StemLength = 20.0; PinDia = 1.6; PinLength = PaddleSize.x + StemLength/2; echo(str("Pin: ",PinLength," x ",PinDia," mm")); //———————- // Useful routines module PolyCyl(Dia,Height,ForceSides=0) { // based on nophead's polyholes Sides = (ForceSides != 0) ? ForceSides : (ceil(Dia) + 2); FixDia = Dia / cos(180/Sides); cylinder(r=(FixDia + HoleWindage)/2, h=Height, $fn=Sides); } //———————- // Pieces module Paddle() { difference() { hull() { translate([PaddleSize.x/2,0,0]) { for (i=[-1,1], j=[-1,1]) translate([i*(PaddleSize.x – PaddleRound)/2,j*(PaddleSize.y – PaddleRound)/2,0]) sphere(d=PaddleRound,$fn=12); rotate([0,90,0]) rotate(180/12) cylinder(d=PaddleThick,h=PaddleSize.x,,center=true,$fn=12); } translate([-StemLength,0,0]) rotate([0,90,0]) rotate(180/12) cylinder(d=StemDia,h=Throttle.x,center=false,$fn=12); } translate([-StemLength,0,0]) cube([2*Throttle.x,Throttle.y,Throttle.z],center=true); translate([-(StemLength + Protrusion),0,0]) rotate([0,90,0]) rotate(0*180/6) PolyCyl(2*Throttle.y,Throttle.x,6); for (j=[-1,1]) translate([-StemLength/2,j*PaddleSize.y/6,0]) rotate([0,90,0]) rotate(180/4) PolyCyl(PinDia,PinLength,4); } } //———————- // Build it if (Layout == "Show") Paddle(); if (Layout == "Build") { translate([0,0,StemLength]) rotate([0,-90,0]) Paddle(); }