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
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
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
Snowthrower throttle knob – reinforcing wires

It definitely has a stylin’ look, next to the original choke control knob:

Snowthrower throttle knob - installed
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:

// 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();
}

Makergear M2: Platform Z=0 and Alignment Check

After replacing the nozzle and filament drive on the M2, it’s definitely time to verify that the Z=0 point remains at the platform surface and the whole affair is properly aligned.

Distribute five thinwall open squares across the platform:

Calibration Boxes - platform alignment - 2020-12-11
Calibration Boxes – platform alignment – 2020-12-11

Because they’re well separated and only 3 mm tall, I set Slic3r to print them sequentially to eliminate a whole bunch of back-and-forth travel for each layer.

Print and measure the results:

Calibration Boxes - initial M206 Z-2.50 - 2020-12-11
Calibration Boxes – initial M206 Z-2.50 – 2020-12-11

The outer numbers come from the skirt around the whole platform in units of 0.01 mm: 22 → 0.22 mm. The five inner numbers are the eyeballometric average of four measurements across each square.

They came short enough that adding 0.25 mm to their height would improve the outcome. The scribbles in the upper right corner show the initial Z offset was -2.50 mm, which means -2.75 mm should do the trick; remember to save the new value in EEPROM with M500.

Print the same G-Code file with the new offset and measure:

Calibration Boxes - M206 Z-2.75 - 2020-12-11
Calibration Boxes – M206 Z-2.75 – 2020-12-11

Can’t get much closer than that!

The skirt gains only 0.1 mm for reasons unknown to me. It’s a good diagnostic tool for keeping an eye on the overall alignment without having to run more calibration squares, though.

Comparing the center squares (bottom layers facing each other in the middle) from the two sets shows the difference:

Test Squares 2.73 3.01 mm - 2020-12-11
Test Squares 2.73 3.01 mm – 2020-12-11

The bottom three layers got pretty well squashed with the previous offset. It’s missing about a full layer, although the nozzle wasn’t mashed flat / blocked against the platform. All the layers in the post-adjustment square look identical, as they should.

The wall thickness on the latter squares runs from 0.40 to 0.44 mm, with an eyeballometric average around 0.43, so tweaking the Extrusion Multiplier down by maybe 5% would be in order if I were being fussy.

Overall, not bad for a new setup!

Makergear M2: New Nozzle

A second clog in the M2’s hot end prompted me to dismantle the hot end:

Makergear M2 V4 hot end - eroded silicone coat
Makergear M2 V4 hot end – eroded silicone coat

That’s what half a year of use does to a nice, shiny coat of high-temperature silicone rubber.

This being the first time I’ve dismantled the hot end, here’s what lies inside:

Makergear M2 V4 hot end - tapered inner guide
Makergear M2 V4 hot end – tapered inner guide

The tighter you make the nozzle, the closer the fit inside the hot end, and the more heat gets transferred to the plastic. The bright ring just to the right of the plastic drool shows where it fits into the brass nozzle.

Peeling the remaining silicone off the nozzle, scraping off the black PETG around the tip, and scraping the gunk out left the inside a bit scuffed:

Makergear 0.35 mm nozzle - interior
Makergear 0.35 mm nozzle – interior

The orifice still looks good and is still as close to 0.35 mm as I can measure eyeballometrically:

Makergear 0.35 mm nozzle - exterior
Makergear 0.35 mm nozzle – exterior

Despite what it looks like, that’s actually a very thin PETG layer.

Having a spare nozzle on the shelf, I decided to install it and leave the old nozzle as a backup. I’ve probably wrecked the snug seal required to keep the plastic out of the hot end.

A fresh coat of silicone, reset the position with the platform at Z=0, and it’s back in action:

Makergear M2 V4 hot end - Z zero set
Makergear M2 V4 hot end – Z zero set

The PETG remnants show I didn’t get the nozzle quite tight enough on the first attempt, but it’s all good now. The rubbery fiberglass insulator will conceal the mess.

Protip: Always remove the hot end from the printer and clamp it securely before unscrewing the nozzle, because the very thin heat break (over on the right in the second picture) will snap under less torque than you need to break the nozzle free.

You should unscrew the nozzle with the hot end warm enough to soften whatever plastic you’re using, lest it have glued everything inside into a solid lump.

Neiko Hole Punch Accurizing

Having struggled to cut nice rings from gooey foam adhesive tape, I got a Neiko hollow hole punch set, despite reviews suggesting the pilot point might be a bit off. The case wrapper claims otherwise:

Neiko hole punch - description
Neiko hole punch – description

As the saying (almost) goes:

Inconcievable! Precision!”

“You keep using that word. I do not think it means what you think it means.”

Goldman, The Princess Bride

An eyeballometric measurement suggests this is another one of those Chinese tools missing the last 10% of its manufacturing process:

Neiko hole punch - as-received off-center tip
Neiko hole punch – as-received off-center tip

That’s the 5 mm punch, where being (at least) half a millimeter off-center matters more than it would in the 32 mm punch.

Unscrewing the painfully awkward screw in the side releases the pilot:

Neiko hole punch - punch tip debris
Neiko hole punch – punch tip debris

The debris on the back end of the pilot is a harbinger of things to come:

Neiko hole punch - damaged spring debris
Neiko hole punch – damaged spring debris

Looks like whoever was on spring-cutting duty nicked the next coil with the cutoff wheel. I have no idea where the steel curl came from, as it arrived loose inside the spring.

Although it doesn’t appear here, I replaced that huge screw with a nice stainless steel grub screw that doesn’t stick out at all.

Chucking the pilot in the lathe suggested it was horribly out of true, but cleaning the burrs off the outside diameter and chamfering the edges with a file improved it mightily. Filing doesn’t remove much material, so apparently the pilot is supposed to have half a millimeter of free play in the handle:

Neiko hole punch - undersized pilot
Neiko hole punch – undersized pilot

That’s looking down at the handle, without a punch screwed onto the threads surrounding the pilot.

Wrapping a rectangle of 2 mil brass shimstock into a cylinder around the pilot removed the slop:

Neiko hole punch - cleaned tip brass shim
Neiko hole punch – cleaned tip brass shim

But chucking the handle in the lathe showed the pilot was still grossly off-center, so I set it up for boring:

Neiko hole punch - boring setup
Neiko hole punch – boring setup

The entry of the hole was comfortingly on-axis, but the far end was way off-center. I would expect it to be drilled on a lathe and, with a hole that size, it ought to go right down the middle. I’ve drilled a few drunken holes, though.

Truing the hole enlarged it enough to require a 0.5 mm shimstock wrap, but the pilot is now pretty much dead on:

Neiko hole punch - accurized results
Neiko hole punch – accurized results

Those are 5, 6, 8, and 10 mm punches whacked into a plywood scrap; looks well under a quarter millimeter to me and plenty good enough for what I need.

Jonas Peeler: Reshaping and Origin Mystery

This past summer we replaced a worn-out vegetable peeler with what was allegedly a high-quality Linden Jonas peeler. It worked quite well, which it should have, given that it cost nigh onto seven bucks, until I recently backed over it with my wheelchair (about which, more later) and smashed it flat.

World+dog having recently discovered the virtues of home-cooked meals, the replacement cost nigh onto ten bucks and, through the wonders of Amazon, came from a different seller, albeit with a letter-for-letter identical description:

Linden Jonas peeler orders
Linden Jonas peeler orders

With a spare in the kitchen, I applied some shop-fu to unbend the first peeler:

Jonas peeler - reshaping tools
Jonas peeler – reshaping tools

Tapping the handle against the bandsawed dowel sufficed to remove the sharpest bends. The final trick involved clamping one edge of the handle to the section cut from a thread spool, resting the Vise-Grip on the bench vise, and whacking the other edge with the rubber mallet to restore the smooth curve around the main axis, repeating the process along the other side, then hand-forming the gentle curve closer to the blade. It ain’t perfect and never will be, but it’s once again comfortable in the hand.

During that process I had plenty of time to admire the identification stamped into the handle:

Jonas peeler - weak emboss
Jonas peeler – weak emboss

Which, frankly, looks rather gritty on an allegedly high-quality product from a Swedish factory.

Compare it with the new peeler:

Jonas peeler - good emboss
Jonas peeler – good emboss

Now, that’s more like it.

The genuine Linden website doesn’t provide much detail, so I can’t be absolutely sure which peeler is a counterfeit, but it sure looks like at least one fails the sniff test. Linden’s site redirects to Amazon through a Google search link (!) that, given the way Amazon works, could result in anything appearing as a valid result:

https://www.google.com/search?q=amazon.com+linden+sweden

As one should expect by now, Amazon’s commingled inventory produces a fair percentage of reviews complaining about craptastic peelers stamped “Made in China” from any of the sellers unearthed by that search.

USB Memory: Premature Deaths

After about a year of streaming music, the music died over the course of a month, producing progressively bizarre symptoms on all the local Icecast stations. Killing the streaming server and yanking all the USB memory sticks produced this tableau:

USB Memory - streamer failures
USB Memory – streamer failures

The USB 2.0 32 GB SanDisk Cruzer Fit (tiny, black, upper left) holds images from various network cameras and is not involved with music. It’s nigh onto seven years old and, apparently, still going strong.

The USB 2.0 Centron (gray-and-retroreflective, upper right) was forgotten from the last time I set up a drive for our Forester’s player. There’s another one just like it in the car; they’re impossibly old, as you’d expect from their minuscule size.

The USB 3.0 64 GB Samsung Fit (small, white, lower left) is totally dead, to the extent it doesn’t even announce its presence when plugged into a USB socket. It’s 2.5 years into a five year warranty, but their new USB 3.1 version is twelve bucks; Samsung wins. It formerly contained an extensive selection of public-domain music.

The 64 GB Sandisk Cruzer (huge, black, lower right) suffered some serious damage:

sudo mount -o ro /dev/sdg1 /mnt/part
ll /mnt/part
 ls: cannot access '/mnt/part/PILZ': Input/output error
 total 384K
 drwxr-xr-x   6 ed   users 4.0K Nov 28  2019 ./
 drwxr-xr-x  17 root root  4.0K Jun  7  2019 ../
 -rw-r--r--   1 ed   ed    215K Mar  9  2019 CDClassical.m3u
 drwxrwxr-x  56 ed   ed    4.0K Mar  9  2019 Classical/
 drwx------   2 root root   16K Mar  9  2019 lost+found/
 d?????????   ? ?    ?        ?            ? PILZ/
 drwxrwxr-x 116 ed   ed     12K Mar  9  2019 Pop/
 -rw-r--r--   1 ed   ed    117K Nov 28  2019 Pop.m3u

It still contains a fair amount of music ripped from the CDs we’ve collected over the decades, but it’s obviously unusable. Just for fun, I tried reformatting and copying some files to it, but it eventually hard-crashed with I/O errors:

[37787.872410] usb 2-1: new high-speed USB device number 2 using xhci_hcd
 [37788.013027] usb 2-1: New USB device found, idVendor=0781, idProduct=5530, bcdDevice= 1.00
 [37788.013030] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
 [37788.013032] usb 2-1: Product: Cruzer
 [37788.013034] usb 2-1: Manufacturer: SanDisk
 [37788.013036] usb 2-1: SerialNumber: 4C530001151215101233
 [37788.013604] usb-storage 2-1:1.0: USB Mass Storage device detected
 [37788.014778] scsi host9: usb-storage 2-1:1.0
 [37789.033409] scsi 9:0:0:0: Direct-Access     SanDisk  Cruzer           1.00 PQ: 0 ANSI: 6
 [37789.034569] sd 9:0:0:0: [sdf] 120225792 512-byte logical blocks: (61.6 GB/57.3 GiB)
 [37789.035820] sd 9:0:0:0: [sdf] Write Protect is off
 [37789.035825] sd 9:0:0:0: [sdf] Mode Sense: 43 00 00 00
 [37789.036137] sd 9:0:0:0: [sdf] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
 [37789.086533]  sdf: sdf1
 [37789.089418] sd 9:0:0:0: [sdf] Attached SCSI removable disk
 [38035.071013] EXT4-fs (sdf1): mounting ext3 file system using the ext4 subsystem
 [38035.183172] EXT4-fs (sdf1): mounted filesystem with ordered data mode. Opts: (null)
 [38485.302549] usb 2-1: reset high-speed USB device number 2 using xhci_hcd
 [38490.622285] usb 2-1: device descriptor read/64, error -110
 [38506.195617] usb 2-1: device descriptor read/64, error -110
 [38506.425616] usb 2-1: reset high-speed USB device number 2 using xhci_hcd
 [38511.742339] usb 2-1: device descriptor read/64, error -110
 <<< snippage >>>
 [38548.845743] usb 2-1: USB disconnect, device number 2
 [38548.858925] blk_update_request: I/O error, dev sdf, sector 99556320 op 0x1:(WRITE) flags 0x4800 phys_seg 30 prio class 0
 [38548.858933] EXT4-fs warning (device sdf1): ext4_end_bio:309: I/O error 10 writing to inode 1531939 (offset 0 size 0 starting block 12444541
 )
 [38548.858937] Buffer I/O error on device sdf1, logical block 12444284
 [38548.858944] EXT4-fs warning (device sdf1): ext4_end_bio:309: I/O error 10 writing to inode 1531939 (offset 0 size 0 starting block 12444542
 )
 <<< snippage >>>
 [38548.858984] Buffer I/O error on device sdf1, logical block 12444293
 [38548.859034] blk_update_request: I/O error, dev sdf, sector 99017520 op 0x1:(WRITE) flags 0x4000 phys_seg 3 prio class 0
 [38548.859158] blk_update_request: I/O error, dev sdf, sector 99556560 op 0x1:(WRITE) flags 0x4800 phys_seg 30 prio class 0
 [38548.859224] blk_update_request: I/O error, dev sdf, sector 99017760 op 0x1:(WRITE) flags 0x4000 phys_seg 2 prio class 0
 [38548.859237] blk_update_request: I/O error, dev sdf, sector 99018000 op 0x1:(WRITE) flags 0x4000 phys_seg 2 prio class 0
 >>
 [38549.230765] JBD2: Detected IO errors while flushing file data on sdf1-8
 [38549.230920] Aborting journal on device sdf1-8.
 [38549.231008] Buffer I/O error on dev sdf1, logical block 1545, lost sync page write
 [38549.231011] JBD2: Error -5 detected when updating journal superblock for sdf1-8.
 [38549.231325] Buffer I/O error on dev sdf1, logical block 0, lost sync page write
 [38549.231332] EXT4-fs (sdf1): I/O error while writing superblock
 [38549.231333] EXT4-fs error (device sdf1): ext4_journal_check_start:61: Detected aborted journal
 [38549.231334] EXT4-fs (sdf1): Remounting filesystem read-only
 <<< and so forth and so on >>>

So, yeah, it’s dead, Jim.

The Icecast streaming server reads data continuously from the USB sticks and, given that I set up half a dozen “stations”, there’s plenty of reading going on. The drives are formatted as ext3 and mounted with the noatime option, so there shouldn’t be any writing going on, but it seems a year of constant reading can kill a USB drive.

Fortunately, the original data lives elsewhere, with scripts to copy the appropriate files to the right places, so rebuilding the drives on a pair of new USB sticks wasn’t a big deal.