-
Logic Probe Tip Covers
Our Larval Engineer received a logic probe / pulser set for Christmas:

RSR Logic Probe Pulser Set – with formed covers They’re the low-cost RSR-611 and -620 from the usual eBay vendor, not my ancient HP10525/10526 set, but they should suffice. Perhaps nobody uses logic probes these days, what with most of the parts being too small for even a needle tip, but …
Anyhow, they didn’t have caps over the sharp probe tips, so I rummaged around until I found the stash of cigar tubes (some of which went into that air flow straightener) that were about the right size. I thought about 3D printing an adapter between tubes and probes:

RSR Probe Cap Adapter – solid model It’s actually a subtractive kind of thing, with a model of the probe tip subtracted from a suitable cylindrical object:

RSR Logic Probe – solid model But then I realized the tubes were thermoplastic, held each one over a stove burner until the open end went transparent and droopy, rammed it down over the probe tip, and trimmed off the ragged edge. Worked fine, fits securely, and even looks pretty good:

RSR Covers – detail I’ll never print the adapters, but maybe one of us will tweak the model to do something else…
The OpenSCAD source code:
// RSR Logic Probe / Pulser Cap // Ed Nisley KE4ZNU December 2012 // Adapts cigar tube to probe body // Layout options Layout = "Build"; // Overall layout: Show Build // Parts: Probe //- Extrusion parameters must match reality! // Print with +1 shells and 3 solid layers ThreadThick = 0.25; ThreadWidth = 2.0 * ThreadThick; HoleWindage = 0.2; function IntegerMultiple(Size,Unit) = Unit * ceil(Size / Unit); Protrusion = 0.1; // make holes end cleanly //---------------------- // Dimensions ProbeDia = 18.0; // dia of main body ProbeTipDia = 6.8; // dia at end of plastic cone ProbeTipLen = 30.0; // length of metal ferrule + tip ProbeConeLen = 17.5; // cone taper length TubeOD = 17.25; TubeWall = 0.50; TubeID = TubeOD - 2*TubeWall; TubeLen = 15; // slip fit over tube body BodyLen = 20; // slip fit over probe body WallThick = 3.5*ThreadWidth; // basic adapter wall thickness AdapterLen = TubeLen + BodyLen; AdapterOD = ProbeDia + 2*WallThick; AdapterSides = 4*4; //---------------------- // 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); } module ShowPegGrid(Space = 10.0,Size = 1.0) { Range = floor(50 / Space); for (x=[-Range:Range]) for (y=[-Range:Range]) translate([x*Space,y*Space,Size/2]) %cube(Size,center=true); } module Probe() { union() { cylinder(r=((ProbeDia + HoleWindage)/2), h=(BodyLen + 1.2*Protrusion),$fn=2*AdapterSides); translate([0,0,(BodyLen + Protrusion)]) cylinder(r1=(ProbeDia + HoleWindage)/2, r2=ProbeTipDia/2, h=ProbeConeLen,$fn=2*AdapterSides); cylinder(r=ProbeTipDia/2,h=(BodyLen + ProbeConeLen + ProbeTipLen),$fn=2*AdapterSides); } } module ProbeSleeve() { difference() { cylinder(r=AdapterOD/2,h=AdapterLen); translate([0,0,-Protrusion]) Probe(); PolyCyl((TubeOD + HoleWindage),(AdapterLen + Protrusion),2*AdapterSides); } } //---------------------- // Build it! ShowPegGrid(); if (Layout == "Show") ProbeSleeve(); if (Layout == "Build") translate([0,0,AdapterLen]) rotate([180,0,0]) ProbeSleeve(); if (Layout == "Probe") Probe();