The Smell of Molten Projects in the Morning

Ed Nisley's Blog: Shop notes, electronics, firmware, machinery, 3D printing, laser cuttery, and curiosities. Contents: 100% human thinking, 0% AI slop.

CNC 3018XL: Pilot V5RT Pen Holder

It turns out my all-time favorite Pilot Precise V5 Extra Fine stick pen also comes in a clicky-top retractable version:

Pilot V5 and V5RT pens
Pilot V5 and V5RT pens

The cartridge is a nice 6 mm cylinder, eminently transformable into a plotter pen:

Pilot V5RT holder - installed
Pilot V5RT holder – installed

A few minutes with a caliper provides key measurements for a snout surrounding the business end:

Pilot V5RT Pen Holder - snout dimension doodle
Pilot V5RT Pen Holder – snout dimension doodle

The green letters & numbers give the nearest drill sizes. The “T” values along the bottom are the tailstock turns (at 1.5 mm/turn) required to poke the drills to the indicated depths, eyeballed when the body just enters the hole.

Having recently decomissioned the Thing-O-Matic and harvested its organs parts, I have a vast collection of 3/8 inch = 9.52 mm shafts and matching bronze bushings:

9.52 mm shaft and bushings
9.52 mm shaft and bushings

Bronze bushings have low stiction, at least when they’re co-axial, and are much shorter than linear ball bearings.

I chopped off a 70 mm length of shaft and faced the raw end:

Pilot V5RT holder - facing shaft
Pilot V5RT holder – facing shaft

The other end had a maker’s logo, but I don’t recognize it:

Pilot V5RT holder - center drill
Pilot V5RT holder – center drill

I really wanted an 8 mm bore around the snout, but it just didn’t work out. The ring around the 7.5 mm counterbore shows where the larger drill just … stopped:

Pilot V5RT holder - drilled shaft
Pilot V5RT holder – drilled shaft

A trial fit with the pen cartridge:

Pilot V5RT holder - pen in shaft
Pilot V5RT holder – pen in shaft

The top of the shaft gets a somewhat longer knurled ring for the 3 mm SHCS holding the cartridge in place:

Pilot V5RT holder - knurling pen clamp
Pilot V5RT holder – knurling pen clamp

The screw bears on a split collar turned and drilled from a Delrin rod:

Pilot V5RT holder - drilling Delrin clamp
Pilot V5RT holder – drilling Delrin clamp

The “split” came from a simple saw cut across one side and I milled a flat spot in the knurling to seat the screw. As usual, the knurled ring got epoxied to the shaft.

The snout started as a 3/8 inch aluminum rod, drilled as shown in the sketch, with a (scant) 7.5 mm section to fit the shaft. The carbide insert left a nicely rounded shoulder that required trimming to fit snugly into the shaft:

Pilot V5RT holder - shaping snout seat
Pilot V5RT holder – shaping snout seat

The compound can handle the shallow angle required to shape the snout:

Pilot V5RT holder - tapering snout
Pilot V5RT holder – tapering snout

A trial fit showed the snout was a bit too long for comfort:

Pilot V5RT holder - snout test fit
Pilot V5RT holder – snout test fit

Making something shorter doesn’t pose much of a challenge:

Pilot V5RT holder - trimming snout
Pilot V5RT holder – trimming snout

Another trial fit shows it’s spot on:

Pilot V5RT holder - shaft snout pen test fit
Pilot V5RT holder – shaft snout pen test fit

The critical part is having the snout support the plastic around the pen tip to prevent wobbulation.

Epoxy the whole thing together, add a suitable spring, tighten the screws & nuts for the reaction plate, and it’s all good. I write with about 50 g of force for these pens, so a light preload seemed in order:

Pilot V5RT Pen Holder - initial downforce measurement
Pilot V5RT Pen Holder – initial downforce measurement

If I’d weighed the full-up shaft + snout + collar + cartridge, I’d know if the Y intercept matches that weight. It seems a little lighter, but I’m not taking the thing apart to find out.

The first version of the 3D printed holder (shown above) is a straightforward modification of the LM12UU diamond drag bit holder, but, after building enough of these things, I realized the circular reaction plate should be triangular to get more clearance in front of the Z-axis stepper motor when installing & removing the holder:

Pilot V5RT Pen Holder - solid model - show view
Pilot V5RT Pen Holder – solid model – show view

It also has a recess for the serrated top of the bearing, to prevent the knurled collar from clicking annoyingly as the Z-axis rises at the end of each stroke.

Now, to see how well it draws!

The OpenSCAD source code as a GitHub Gist:

// Diamond Scribe in linear bearings for CNC3018
// Ed Nisley KE4ZNU – 2019-08-9
Layout = "Build"; // [Build, Show, Base, Mount, Plate]
/* [Hidden] */
ThreadThick = 0.25; // [0.20, 0.25]
ThreadWidth = 0.40; // [0.40, 0.40]
/* [Hidden] */
Protrusion = 0.1; // [0.01, 0.1]
HoleWindage = 0.2;
inch = 25.4;
function IntegerMultiple(Size,Unit) = Unit * ceil(Size / Unit);
ID = 0;
OD = 1;
LENGTH = 2;
//- Adjust hole diameter to make the size come out right
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);
}
//- Dimensions
PenOD = 6.1; // pen refill shaft, max OD
Bearing = [(3.0/8.0)*inch,16.0,10.6]; // linear bearing body, ID = shaft diameter
BearingFlange = [Bearing[OD],17.2,1.0]; // flange around end of bearing
Spring = [8.5,9.5,15.5]; // compression spring around shaft, LENGTH = uncompressed
SpringRecess = 4*ThreadThick;
WallThick = 4.0; // minimum thickness / width
Screw = [3.0,6.75,25.0]; // holding it all together, OD = washer
Insert = [3.0,4.2,7.9]; // brass insert
//Insert = [3.0,5.0,8.0];
//Insert = [4.0,6.0,10.0];
Clamp = [43.2,44.0,34.0]; // tool clamp ring, OD = clearance around top
LipHeight = IntegerMultiple(2.0,ThreadThick); // above clamp for retaining
BottomExtension = 15.0; // below clamp to reach workpiece
MountOAL = LipHeight + Clamp[LENGTH] + BottomExtension; // total mount length
echo(str("Mount OAL: ",MountOAL));
Plate = [PenOD + 4*ThreadWidth,Clamp[ID] – 0*2*WallThick,WallThick]; // spring reaction plate
echo(str("Screw length: ",Spring[LENGTH] + Plate[LENGTH] + Insert[LENGTH]));
NumScrews = 3;
ScrewBCD = Bearing[OD] + Insert[OD] + 2*WallThick;
echo(str("Retainer max OD: ",ScrewBCD – Screw[OD]));
NumSides = 9*4; // cylinder facets (multiple of 3 for lathe trimming)
// Basic mount shape
module CNC3018Base() {
translate([0,0,MountOAL – LipHeight])
cylinder(d=Clamp[OD],h=LipHeight,$fn=NumSides);
translate([0,0,MountOAL – LipHeight – Clamp[LENGTH] – Protrusion])
cylinder(d=Clamp[ID],h=(Clamp[LENGTH] + 2*Protrusion),$fn=NumSides);
cylinder(d1=Bearing[OD] + 2*WallThick,d2=Clamp[ID],h=BottomExtension + Protrusion,$fn=NumSides);
}
// Mount with holes & c
module Mount() {
difference() {
CNC3018Base();
translate([0,0,-Protrusion]) // bearing
PolyCyl(Bearing[OD],2*MountOAL,NumSides);
translate([0,0,-Protrusion]) // bearing flanges
PolyCyl(BearingFlange[OD],BearingFlange[LENGTH] + Protrusion,NumSides);
translate([0,0,MountOAL – 1.5*BearingFlange[LENGTH]]) // sink into surface
PolyCyl(BearingFlange[OD],2*BearingFlange[LENGTH],NumSides);
for (i=[0:NumScrews – 1]) // clamp screws
rotate(i*360/NumScrews)
translate([ScrewBCD/2,0,MountOAL – Clamp[LENGTH]])
rotate(180/8)
PolyCyl(Insert[OD],Clamp[LENGTH] + Protrusion,8);
}
}
module SpringPlate() {
difference() {
hull()
for (i=[0:NumScrews – 1])
rotate(i*360/NumScrews)
translate([ScrewBCD/2,0,0])
cylinder(d=Screw[OD] + 4*ThreadWidth,h=Plate[LENGTH],$fn=24);
translate([0,0,-Protrusion])
PolyCyl(Plate[ID],2*MountOAL,NumSides);
translate([0,0,Plate[LENGTH] – SpringRecess]) // spring retainer
PolyCyl(Spring[OD] + 4*ThreadWidth,SpringRecess + Protrusion,NumSides);
for (i=[0:NumScrews – 1]) // clamp screws
rotate(i*360/NumScrews)
translate([ScrewBCD/2,0,-Protrusion])
rotate(180/8)
PolyCyl(Screw[ID],2*MountOAL,8);
}
}
//—–
// Build it
if (Layout == "Base")
CNC3018Base();
if (Layout == "Mount")
Mount();
if (Layout == "Plate")
SpringPlate();
if (Layout == "Show") {
Mount();
translate([0,0,MountOAL + Plate[LENGTH] + Spring[LENGTH]])
rotate([180,0,0])
SpringPlate();
}
if (Layout == "Build") {
translate([0,-0.75*Clamp[OD],MountOAL])
rotate([180,0,0])
Mount();
translate([0,0.75*Plate[OD],0])
SpringPlate();
}

Comments

10 responses to “CNC 3018XL: Pilot V5RT Pen Holder”

  1. david Avatar
    david

    What, no pics of the output? Inquiring minds want to ogle! Also, how do the retracts compare to the traditional as handwriting instruments?

    1. Ed Avatar

      Gotta have some suspense in the story!

      Aaaand it took me a while to accumulate the evidence: better paper produces better results. [duh]

  2. Homage Tektronix Circuit Computer: Ball-point Pens vs. Paper | The Smell of Molten Projects in the Morning Avatar

    […] Extra Fine Pilot V5 pens have a 0.5 mm ball, in contrast to the 1.0 mm ball in the cheap pens I’ve been using, so they should produce much finer lines. […]

  3. Homage Tektronix Circuit Computer: Pen Plotter Version | The Smell of Molten Projects in the Morning Avatar

    […] CNC 3018XL with a Pilot V5RT pen draws the deck scales on white […]

  4. Homage Tektronix Circuit Computer: Paper Matters | The Smell of Molten Projects in the Morning Avatar

    […] Pilot Precise V5RT cartridge on plain paper (20 lb 98 white), also laminated, looks pretty […]

  5. CNC 3018XL: Rotating the Axes | The Smell of Molten Projects in the Morning Avatar

    […] probe camera hovers just over the switch and the Pilot V5RT pen holder is ready for […]

  6. CNC 3018XL: Pen Variations | The Smell of Molten Projects in the Morning Avatar

    […] The Pilot V5RT pens use a custom holder: […]

  7. CNC 3018XL: Pilot V5RT Pen Holder Lock Screw | The Smell of Molten Projects in the Morning Avatar

    […] Flushed with success about the MPCNC drag knife locking screw, I installed a similar screw on the V5RT pen holder for the CNC 3018: […]

  8. Mini-Lathe Case-Hardened Shaft | The Smell of Molten Projects in the Morning Avatar

    […] recently upcycled a 3/8 inch shaft from the Thing-O-Matic into a pen holder for the CNC 3018-XL, I cut off another section with an abrasive wheel, then tried to face it […]