Gas station without pumps

2018 August 3

Tool for sweeping roof valleys

Filed under: Uncategorized — gasstationwithoutpumps @ 21:42
Tags: , , , , , ,

As I mentioned in Fixing Monoprice Delta Mini end stops,

I’ve also been working on creating broomstick threading on the printer, both to test the ability of the printer to do screw threads and to make a socket and bracket for attaching a broom head to a telescoping pole for cleaning the valleys of my tile roof.  I’ll post on that in a separate post, with pictures, once I get the whole thing working.

I designed the threads using OpenSCAD, which has no built-in support for creating helical structures like threaded rods and sockets. I found an open-source thread module on the web, but I found its parameterization awkward, so I ended up writing my own.

Here are my practice pieces for designing threaded rods and sockets with OpenSCAD, and printing them on the Monoprice Delta Mini.

All the test pieces were printed with the threads spiraling around the vertical Z-axis, to minimize the amount of unsupported filament. The undersides of the threads are a bit rough, but the roughness can be minimized by making the threads have a nearly triangular profile, so that only a little bit of filament is unsupported in each layer.

The first threaded rod, at the top left, screws easily into a broom head, and has fairly smooth surfaces, but was a bit too loose (diameters a little too small) and only a rather thin part of the thread was taking most of the contact force. The second one was sturdier, but still too loose.  The third one was too fat and would not screw into a broom head, but the fourth one was a good fit, screwing in easily, but not being wobbly.

The first two sockets worked with the first two printed screws, but not with the steel threads on my broom sticks—there was not enough clearance.  The third one fit fairly well and had smooth threads, but the threads were rather thin, and I felt they would not be sturdy enough. The two sockets with plates were beefier, and were experiments in seeing whether I could print horizontal screw holes.  I printed holes for #8 and #9 flat-head screws (countersunk), and the bridging did not cause problems with loose filaments.

I did have a little problem with the flat plates not printing properly, which I tracked down to the glass plate on the bed rotating a little in the clips (pretty much as Michael Johnson had warned me).  I fixed the problem by adding some dabs of hot-melt glue to hold the clips to the plate.  I have renew the hot-melt glue every few prints, since it does not bond the glass and the PLA permanently, but I find that an acceptable tradeoff for the ease of removing prints from glass rather than the bed that the printer comes with.

Here is the final socket attached to the broom head with 1″ #8 wood screws.

Of course, one socket at the end of the broom head would not be very secure—the length of the broom head makes a pretty big lever arm for twisting, and PLA is not that strong a plastic. So I designed a support for the broomstick at the other end of the broom head.  I could, perhaps, have used a commercial conduit strap, but the screw holes in them are a bit far apart for screwing to the broom head, so I made one that fits the broom handle I’m using precisely.

Here are the practice pieces I made, to make sure that the broom handle would fit and to check that I could make long screw holes. Note the notch on the right-hand example.

The first test piece held the broomstick well, but did not allow the broomstick to be inserted and withdrawn easily—there are a pair of screws on the brookstick that hold on the threaded end, and the screwheads stick out a little. The notch in the second test piece was carefully designed to just allow the screwheads through, but I added 1mm more clearance for the final piece.  The test pieces were printed with thin shells and 10% or 20% infill, and so were very light, but I printed the final pieces with thick shells and high infill (50%?), so that they ended up fairly solid.

The screw head on one side fits through the notch, and on the other side is in the diagonal space left by extending the circular hole to form a U. The block is held in place with 2″ #9 deck screws.

Although the deck screws were supposed to drill their own holes in the wood, I found that I had to drill pilot holes for them—the first one I inserted split the wooden broom head, which I had to glue back together. I also made a mistake in printing the U-shaped piece with the screw holes horizontal, as torquing down the last screw started to split the plastic along the laminations. If I were to reprint it, I would print it “legs-up” so that the deck screws compress the laminations together.

Here is the finished roof-valley sweeper, mounted on the telescoping pole.

The broom head is still usable as an ordinary broom, as the extra hardware does not interfere with inserting a broomstick in the normal way.

I used the roof-valley sweeper today to clean one of the roof valleys on my tile roof (the one reachable from the porch roof). It worked well to remove a year’s accumulation of leaves and twigs, though I’ll probably have to use it again this fall, after the trees have shed their leaves. I still have the other roof valleys to clean, which needs to be done with the telescoping pole from a ladder.

I don’t expect the PLA pieces to last forever (this is not UV-resistant material), but I store the broom head in a dark garage, so I expect to get a few year’s use out of them.

I’ve included the OpenSCAD source code below, but it can be more easily downloaded from
https://www.thingiverse.com/thing:3033594

The threaded_rod module:

// All dimensions in mm

// build a polygon for the cross-section of the thread 
// perpendicular to the thread.  
// The outer edge of the thread is on x=0 and all coordinate <=0
module thread_cross_section(height, pitch, base_fraction, top_fraction, pitch_angle)
{
    scale = cos(pitch_angle);
    scaled_top  = top_fraction*pitch*scale;
    scaled_base = base_fraction*pitch*scale;
    polygon(points= [ [-height,0], 
        [0, -(scaled_base-scaled_top)/2],
        [0, -(scaled_base+scaled_top)/2],
        [-height,-scaled_base]]);    
}

// one segment of the thread for the threaded rod, but oriented along the z-axis
module thread_segment(height, pitch, base_fraction, top_fraction, pitch_angle, segments_per_turn)
{
    length = pitch/(sin(pitch_angle) * segments_per_turn);
    // echo("pitch=",pitch, "pitch_angle=",pitch_angle, segments_per_turn,"segments, length=",length);
    linear_extrude(height=length, slices=1)
    {   thread_cross_section(height=height, pitch=pitch,
            top_fraction=top_fraction,
            base_fraction=base_fraction,
            pitch_angle=pitch_angle);
    }
}


// make a long cone for intersecting with screw to trim z=0 end
module chamfer_cone(inner_diam, outer_diam, chamfer_length, total_length)
{
    cylinder(d1=inner_diam, 
             d2=inner_diam+ (outer_diam-inner_diam)*total_length/chamfer_length,
            h=total_length, $fn=60);
}

// Build a threaded rod with trapezoidal threading
//       ____________                  _____________
//  ____/            \_______________/
// Threads start at z=0 on the x axis.
module threads(
        //Screw thread dimensions:
        //Length of Screw
        screw_length = 25.0,

        // Diameter at base of threads
        inner_diam = 13.5,
        // diameter at top of threads
        outer_diam = 18,

        //Thread Pitch
        pitch = 5.0,
        // Thread fraction (thickness of thread at base/pitch)
        base_fraction=1,
        // Thread fraction (thickness of thread at top/pitch)
        top_fraction=0,

        // how much of turn is made per segment of result
        degrees_per_segment=6,

        // chamfer at start (Z=0)  (defaults to pitch/2, use 0 to turn off)
        chamfer_start=-1,
        // chamfer at end (Z=screw_length)
        chamfer_end=0
        )
{
    pi= 3.1415926535897932346;
    pitch_angle = atan(pitch/ (pi *outer_diam));
    
    augmented_length = screw_length+pitch;
    turns = augmented_length/pitch;
    segments_per_turn = 360/ degrees_per_segment;
    segments = ceil(turns*segments_per_turn);
    
    // set the lengths for the chamfers if defaults needed
    local_chamfer_start = chamfer_start<0? pitch/2: chamfer_start;
    local_chamfer_end = chamfer_end<0? 0: chamfer_end; intersection() { if (local_chamfer_start>0)  
        {   chamfer_cone(inner_diam=inner_diam, 
                outer_diam=outer_diam, 
                chamfer_length=local_chamfer_start,
                total_length=augmented_length);
        }
        else
        {    cylinder(d=2*outer_diam, h=augmented_length);
        }
        translate([0,0,screw_length])   
            rotate([180,0,0]) 
                if (local_chamfer_end>0) 
                {     chamfer_cone(inner_diam=inner_diam, 
                    outer_diam=outer_diam, 
                    chamfer_length=local_chamfer_end,
                    total_length=augmented_length);
                }
                else
                {   cylinder(d=2*outer_diam, h=augmented_length); 
                }
        union()
        {
            color("red") cylinder(d=inner_diam+0.001, h=screw_length, $fn=segments_per_turn);
            for (i = [0:segments])
            {   angle = i*degrees_per_segment;
                translate([outer_diam*cos(angle)/2,
                          outer_diam*sin(angle)/2,
                          i*pitch*degrees_per_segment/360])
                    rotate([0,0,angle])
                        rotate([90-pitch_angle,0,0])
                thread_segment(height=(outer_diam-inner_diam)/2, 
                    pitch=pitch, 
                    base_fraction=base_fraction,
                    top_fraction=top_fraction, 
                    pitch_angle=pitch_angle, 
                    segments_per_turn=segments_per_turn);
            } 
        }
    }
}

// example
// rotate([-180,0,0]) union()
// {
//    color("green") translate([0,0,25-0.001])
//            cylinder(d=23, h=5,$fn=60);
//    threads(top_fraction=0.3, base_fraction=0.6, 
//        screw_length=25,
//        inner_diam=15, outer_diam=18);
// }

The broomstick socket:

use <threaded_rod.scad>

// create a screwhole for metric screw of given length,
// with head extending in -z direction and screw in +z direction
// Loose=0.10 for loose fit, 0.05 for tight fit, about -0.15 for threaded hole
module screw_hole(metric_size=3, length=10, loose=0.10)
{   union()
    {   cylinder(d=metric_size*(1+loose), h=length*1.1, $fs=0.3);  // body of screw
    translate([0,0,-metric_size]) cylinder(d=metric_size*2.2, h=metric_size*1.1, $fs=0.3);  // counterbore for head of screw
    }
}

// make countersunk hole for flathead screw
// surface on xy plane at (0,0), screw extends in +z direction.
// length is the length of the hole for the threads (past the base of the head)
// diam is the diameter of the hole for the screw threads
// depth is the depth of the countersink
// top_diam is the diameter at the surface (the xy plane)
module countersunk(length=35, diam=5, depth=3, top_diam=11)
{
    union()
    {    cylinder (d=diam, h=length+depth, $fs=0.3);   // hole for screw
        // countersink (adding 0.001 overshoot to avoid coincident faces)
        translate([0,0,-0.001]) cylinder (d1=top_diam+0.2, d2=diam, h=depth+0.1, $fs=0.3); 
    }
}

// make countersunk hole for 10-24 flathead machine screw
module countersunk_10_24(length=35)
{    countersunk(length=length, diam=5, depth=3, top_diam=11);

} 

// make countersunk hole for 8-32 flathead wood screw 
module countersunk_8_32(length=22, diam=4.3, top_diam=7.6, depth=3.2)
{
    countersunk(length=length, diam=3.2, top_diam=7.6, depth=3.2);
}


// example using broom handle thread
module broom_handle()
 {
    rotate([-180,0,0]) union()
    {
        color("green") translate([0,0,15-0.001]) cylinder(d=23, h=5,$fn=60);
        threads(top_fraction=0.35, base_fraction=0.7, 
            screw_length=15,
            inner_diam=15.5, outer_diam=18.5);
    }
}
// makes a threaded rod that matches the one in broom_handle,
// but bloats diameters and threads.
// By subtracting this from an object, we should be able to
// create an acceptable socket for the broom handle.
module bloated_broom_thread(bloat=0.5, depth=20,
	inner_diam=15.5,
	outer_diam=18.5,
	pitch=5,
	top_fraction=0.35,
	base_fraction=0.7)
{
    threads(top_fraction=min(0.95,top_fraction+0.5*bloat/pitch), 
        base_fraction=min(1,base_fraction+0.5*bloat/pitch), 
        screw_length=depth,
        inner_diam=inner_diam+bloat, outer_diam=outer_diam+bloat,
        pitch=pitch, chamfer_start=0);
}

// Make a cylinder with a plate whose outer edge is tangential to the cylinder
// cylinder has axis along z-axis.
// Plate is parallel to xz-plane on positive y side.
// The cylindrical boss has a fillet that goes from the diameter
//   an extra "fillet" mm wider on each side where it touches the plate.
module plate_with_boss(width=55, length=55, boss_diam=30, thickness=5, fillet=2.5)
{
   boss_radius = boss_diam/2;
   fillet_height=boss_radius-thickness;
   union()
   {  
      color("green")cylinder(d=boss_diam, h=length, $fn=90);
      color("red") translate([-width/2,boss_radius-thickness+0.001,0.001]) cube([width,thickness,length]);
      color("blue") translate([-boss_radius-0.001,0,-0.001]) cube([boss_diam+0.002, boss_radius-0.001, length]);
       linear_extrude(height=length)
       {    polygon(points=[
                [boss_radius-0.1, fillet_height+0.1],
                [boss_radius, fillet_height-fillet], 
                [boss_radius+0.25*fillet, fillet_height-0.5*fillet],
                [boss_radius+0.5*fillet, fillet_height-0.25*fillet],
                [boss_radius+fillet, fillet_height]
           ]);
       }
       linear_extrude(height=length)
       {    polygon(points=[
                [-boss_radius+0.1, fillet_height+0.1],
                [-boss_radius, fillet_height-fillet], 
                [-boss_radius-0.25*fillet, fillet_height-0.5*fillet],
                [-boss_radius-0.5*fillet, fillet_height-0.25*fillet],
                [-boss_radius-fillet, fillet_height]
           ]);
       }
   }  
}

boss_diam=28;
depth=30;   // length of threads in socket
width = 60; // width of plate
length = depth+4; // length of plate
thickness = 7;

screw_depth=max(0,thickness-3.5);  // leave thin plate closing hole

screw_x = boss_diam/2+7;
screw_y = boss_diam/2-thickness-0.001;
screw_z = 8;
screw_holes=true;
rotate([180,0,0])
    difference()
    {   plate_with_boss(boss_diam=boss_diam, length=length, width=width, thickness=thickness);
        translate([0,0,-0.01]) bloated_broom_thread(depth=depth);
        if (screw_holes)
        {    
            translate([screw_x, screw_y, screw_z])
                rotate([-90,0,0]) 
                    countersunk_8_32(length=screw_depth);
            translate([-screw_x, screw_y, screw_z])
                rotate([-90,0,0]) 
                    countersunk_8_32(length=screw_depth);
            translate([screw_x, screw_y, length-screw_z])
                rotate([-90,0,0]) 
                    countersunk_8_32(length=screw_depth);
            translate([-screw_x, screw_y, length-screw_z])
                rotate([-90,0,0]) 
                    countersunk_8_32(length=screw_depth);
        }
    }

The guide for the broomstick:

// create a screwhole for metric screw of given length,
// with head extending in -z direction and screw in +z direction
// Loose=0.10 for loose fit, 0.05 for tight fit, about -0.15 for threaded hole
module screw_hole(metric_size=3, length=10, loose=0.10)
{   union()
    {   cylinder(d=metric_size*(1+loose), h=length*1.1, $fs=0.3);  // body of screw
    translate([0,0,-metric_size]) cylinder(d=metric_size*2.2, h=metric_size*1.1, $fs=0.3);  // counterbore for head of screw
    }
}

// make countersunk hole for flathead screw
// surface on xy plane at (0,0), screw extends in +z direction.
// length is the length of the hole for the threads (past the base of the head)
// diam is the diameter of the hole for the screw threads
// depth is the depth of the countersink
// top_diam is the diameter at the surface (the xy plane)
module countersunk(length=35, diam=5, depth=3, top_diam=11)
{
    union()
    {    cylinder (d=diam, h=length+depth, $fs=0.3);   // hole for screw
        // countersink (adding 0.001 overshoot to avoid coincident faces)
        translate([0,0,-0.001]) cylinder (d1=top_diam+0.2, d2=diam, h=depth+0.1, $fs=0.3); 
    }
}

// make countersunk hole for 10-24 flathead machine screw
module countersunk_10_24(length, diam=5, depth=3, top_diam=11)
{     countersunk(length=length, diam=diam, top_diam=top_diam, depth=depth);
} 

// make countersunk hole for #9 flathead wood screw
module countersunk_9(length, diam=4.4, top_diam=8.3, depth=4)
{     countersunk(length=length, diam=diam, top_diam=top_diam, depth=depth);
} 

// make countersunk hole for 8-32 flathead wood screw 
module countersunk_8_32(length=22, diam=4.3, top_diam=7.6, depth=3.2)
{
    countersunk(length=length, diam=diam, top_diam=top_diam, depth=depth);
}

module rounded_posy_cube(x,y,z,radius=1)
{
    difference()
    {    cube([x,y,z]);
         translate([0,y,0]) 
            cube([2*radius,2*radius, 2*z+1], center=true);
         translate([x,y,0]) 
            cube([2*radius,2*radius, 2*z+1], center=true);
    }
    translate([radius, y-radius, 0]) cylinder(r=radius, h=z, $fs=0.1);
    translate([x-radius, y-radius, 0]) cylinder(r=radius, h=z, $fs=0.1);
}

U_diam=26;
inner_depth=28;
thickness=6;

U_radius = U_diam/2;
center_y = inner_depth-U_radius;
outer_height = inner_depth+thickness;

width = 60;
length = 34; // length of plate
thickness = 6;

screw_length=outer_height+2; 

// screw_x = max(U_radius+thickness+2.2, width/2-thickness-2.2);
screw_x=21;   // (moved in slightly to engage wood better)
screw_y = outer_height+0.001;
screw_z = 8;
screw_holes=true;

notch_angle = atan(center_y/U_radius);
notch_depth = 2;
notch_radius= 5;

notch_offset = U_radius+notch_depth-notch_radius;
notch_x = cos(notch_angle)*notch_offset;
notch_y = center_y + sin(notch_angle)*notch_offset;

test=false;   // set to trim the model in Z for fast printing of
    // a size test

rotate([-90,0,0])   // to make this "legs up" when printing
difference()
{   translate([-width/2,0,0]) 
        rounded_posy_cube(width,outer_height, length, radius=3);
    
    // hole for handle
    translate([0,center_y,-0.01])
        cylinder(d=U_diam, h=length+0.02, $fn=100);
    
    //extend hole to base 
    translate([-U_radius,-0.01,-0.02])
        cube([U_diam,center_y+0.02, length+0.04]);
  
    // cut notch to allow screw head through
    translate([notch_x, notch_y, -1])
        cylinder(r=notch_radius, h=length+2, $fs=0.1);
    // cut notch to allow screw head through
    translate([-notch_x, 2*center_y-notch_y, -1])
        cylinder(r=notch_radius, h=length+2, $fs=0.1);

    if (screw_holes)
    {    
        translate([screw_x, screw_y, screw_z])
            rotate([90,0,0]) 
                countersunk_9(length=screw_length);
        translate([-screw_x, screw_y, screw_z])
            rotate([90,0,0]) 
                countersunk_9(length=screw_length);
        translate([screw_x, screw_y, length-screw_z])
            rotate([90,0,0]) 
                countersunk_9(length=screw_length);
        translate([-screw_x, screw_y, length-screw_z])
            rotate([90,0,0]) 
                countersunk_9(length=screw_length);
    }
    
    if (test)
    {   // just include up through the lower screw hole
        translate([-width,-1, screw_z+6])
            cube([2*width, 2*outer_height, length]);
    }
}

2016 September 6

Step drills

Filed under: Uncategorized — gasstationwithoutpumps @ 12:06
Tags: , , ,

I tried a new (to me) tool yesterday—a step drill bit:

This step drill is for drilling holes from ⅛" to ½", in increments of 1/32".

This step drill is for drilling holes from ⅛” to ½”, in increments of 1/32″.

The purpose of a step drill is to drill large holes in thin material (like sheet metal) neatly. Yesterday, I needed to drill ½” holes in a plastic project box for the USB-to-DMX adapter that my son and I are working on (him much more than me). Because the holes had to be very precisely placed, I decided to try using the step drills I’d bought earlier this summer, though I could have also used a ½” Forstner bit for such a soft material.

To use the step drill, I first drilled a starter hole (3/32″) smaller than the smallest size on the bit (1/8″), then I changed bits on the drill press and carefully aligned the bit to be centered on the starter hole. Because I was going all the way to the largest size on this drill bit, I did not have to set the stop on the drill press—if I’d wanted a ⅜” hole, I would have needed to make sure not to drill too deep. Because I was drilling plastic, I did not need oil for cooling and lubricating the bit, as I would have if I were drilling sheet metal. Drilling the hole was very fast, and the hole was quite clean.

It may not have been necessary to drill the starter hole, but the tip of the step drill did not look that sharp to me, so I figured that the extra step of making a starter hole was worth the time. Some of the bigger starter bits really do need a starter hole to enlarge.

I have several step drill bits now, because I bought two sets from Harbor Freight when they had a coupon sale on them earlier this summer:

These five bits normally cost about $34 from Harbor Freight, but I paid $24 on sale. The bit I used is the rightmost one, which provides 13 different hole sizes up to ½ inch. Other bits in the set let me drill thicker material or go up to 1-⅜ inch.

These five bits normally cost about $34 from Harbor Freight, but I paid $24 on sale. The bit I used is the rightmost one, which provides 13 different hole sizes up to ½”. Other bits in the set let me drill thicker material or go up to 1-⅜”.

The bits are cheap and probably not likely to last long drilling hard materials (like stainless steel), but I’ll mainly use them for plastic and aluminum, and I don’t need to drill very many holes with them to justify the price.

2015 December 21

New tools and parts list for applied electronics

Filed under: Circuits course — gasstationwithoutpumps @ 16:41
Tags: , ,

I just finished making a new parts and tools list for the Spring 2016 offering of my applied electronics course.  The class doesn’t start until March, but I’m getting the parts list in early this year, so that the staff have sufficient time to buy and repackage everything before classes start.  I really want the parts and tools to be available on the first lab day (29 March 2016) this time.

I’ve spent a lot of time finding appropriate tools and parts at low cost, but the UCSC purchasing system may make it difficult, as they don’t allow the use of major sites like Amazon and AliExpress, which are often the only way to get low-cost items from China without doubling the price.

2014 August 17

New bedroom furniture

Filed under: Uncategorized — gasstationwithoutpumps @ 12:58
Tags: , , , ,

I’ve added some new furniture to the bedroom:

My new 42" rolling cabinet tool box.

My new 42″ rolling cabinet tool box. The plastic tool box on the top is my son’s.

For several years I’ve been planning to clean up the garage, put up shelving, and get all the “stuff” in the garage organized. It has been a firm commitment each summer, and each summer nothing happens (well, one year I got some nasty old shelving taken down and everything put into boxes, but that was sort of negative progress, as I never got new shelves put up).

Part of the plan was to get all (or most) of my tools into a rolling tool box, so that I could have easier access to them. I’ve often ended up buying a new hand tool because I couldn’t find what I was looking for in the garage. This summer I finally bought a 42″ rolling tool box from Harbor Freight for $370, after giving up on finding anything locally. The shipping from southern California added another $97 to the price (shipping weight is 289 pounds). Because most of the tools get used in the house, not the garage, I decided to keep the toolbox in the house. I’m planning to clear my son’s stuff out of the living room and into his bedroom when he leaves for college (so the robotics table, scroll saw, and drill press would move out of the living room, restoring it to a more livable space), so I didn’t want to put the tool box in the living room. Since I want the tools to be readily available when I’m working on electronics stuff, I ended up putting the tool box in my bedroom, which has gradually been becoming my workshop for computer and electronics stuff.

My wife has been patient with the gradual conversion of our bedroom into a workshop, but I think that we could make the room more comfortable by rearranging the furniture. I hope to get the floor of the bedroom mostly cleared of junk before school starts, though that may require getting some shelving that fits under the window to tidy up the junk that has accumulated while still leaving it mostly accessible. I’ll probably have to buy the new bed she wants, though this will require some careful selection, as there won’t be room for bedside tables and our current bedside lamps are not tall enough to work with a conventional bed.

I spent some time yesterday getting the tool box into the house—the delivery service wouldn’t even put it on the porch, so I had to uncrate it on the driveway, remove all the drawers, then get my son and my wife to help me put it up the front steps. While I had all the drawers out, I lubricated the slides with paraffin (the T9 lubricant I use on my bike chain). I then spent most of the afternoon unearthing tools in my garage and organizing them in the tool box. I couldn’t get all the hand tools into the toolbox, but most of them fit.

At the end of the day, I had my son go through his tool box and mine, selecting what he would take to college. He ended up with a somewhat smaller set of tools than the rather large list I had put together, rejecting the socket wrench set and the screwdriver security bit set as too big.

  • metric Allen wrenches (from a set from Harbor Freight, I’ll keep the English and star bits)
  • screwdrivers (he already had a handle and bit set)
  • claw hammer (he already had one)
  • mini hammer with screwdrivers
  • mini level (which comes with a warning for people with pacemakers, which is pretty silly considering how weak the magnet on it is)
  • adjustable wrench (an 8″ one with a 1″ jaw opening, the second smallest of the set of laser-marked ones from Harbor Freight)
  • measuring tape (he’s only taking one of the two 25′ ones he already had)
  • razor knives
  • Leatherman pocket tool (which he already had)
  • zip ties
  • velcro cable straps
  • needle nose pliers (2, which he already had)
  • diagonal cutters (which he already had)
  • end nippers (which he already had)
  • self-adjusting wire strippers
  • electrical tape
  • multimeter (from his chemistry lab kit)

There were also several leftovers from my first prototype run of the circuits course:

We still have some things not added to his tool box, which is already full:

  • bike patch kit
  • stainless steel bike tire levers
  • needles and thread
  • tweezers
  • Arduino and Freedom KL25Z boards
  • power supply for Arduino boards?
  • Ethernet cable
  • USB cables
  • soldering iron and stand (my old Unger iron, or perhaps he’ll take the one bought for his company)
  • Power strip with surge protector
  • solder
  • 22-gauge wire for breadboarding
  • first aid kit: band aids, larger gauze pads, antibacterial ointment, paper tape, medic scissors, thermometer, ibuprofen, antacid, simethicone

We’ll have to go over the previous list to check for other things he might need, but I think this list has most of the things I’m responsible for.  We might make a trip to Home Depot on move-in day to pick up a few other things.

 

 

2014 July 31

College tool box

Filed under: Uncategorized — gasstationwithoutpumps @ 22:33
Tags: ,

It is getting late enough in the summer that we have to start putting together packing lists and figuring out what stuff we’ll need to buy for our son’s trip to college.  Because he’ll be taking the train to college, we won’t have the problem some people have of him bringing a Ford Expedition full of junk and not having room in his dorm for it all.  We have to be much more selective than most families in deciding what he should pack.

Of course, there are some large shopping areas within an easy bike distance of UCSB, including K-mart, Costco, and Home Depot, so it isn’t necessary to pack everything he might need. (Though the Yelp reviews for K-mart indicate that it is a very badly managed store—I don’t know if that is a K-mart universal or specific to the Goleta store.) But some things are worth having around because when you need them, either there isn’t time or it isn’t worth a 5-mile round trip to the store.

My wife will take care of ensuring that he has the bedding and clothing he needs—I’ll try to make sure that he has the tools he needs.  So what tools does he need?  Let’s break it down into categories:

  • Study tools: computers, calculators, writing implements, books, paper, …
  • Bike tools: helmet, lights, patch kit, …
  • Dorm repair tools: hammer, pliers, wrenches, screwdrivers, …
  • Electronics tools: soldering iron, wire strippers, …
  • Living supplies: fan, refrigerator, …

In each category, we’ll need to look at what he has, what he’ll need, and whether he should take it with him or buy it there.  I’ll probably come back to edit this post later on, crossing out stuff he decides not to take and adding stuff I think of later.

Study tools

  • Small laptop for note taking+charger.  He already has a Chromebook that is adequate for this task.
  • Larger laptop to use as a desktop machine+charger.  He selected and we just purchased a Unix laptop for him (a 17″ Kudu Professional from System76)—in fact, UPS tried to deliver it today when everybody was out—he should get it tomorrow.  The laptop has VGA and HDMI ports, so he should be able to connect up to data projectors (though there are often problems with not having the right drivers on Unix distros).  The laptop comes with Ubuntu, but he is considering installing a different distro—he’s got about 2 months to play with that before college starts.
  • Calculator. He has several graphing calculators that he won in grade-school and middle-school math contests—he’ll take one with him, in case there is an exam that allows calculators but not computers.  He usually prefers using a computer for calculation these days, when he has a choice.
  • Ethernet cable (the dorm rooms have both wireless and Ethernet, but I bet the Ethernet service is better—they are not, however, allowed to add routers to the Ethernet connections).
  • Printer I think that a printer is too heavy to be worth carting around.  He gets a fair amount of free printing on campus.
  • Back-up drive? He doesn’t store much on his Chromebook (using it mostly to access the web and storage on the cloud), but he may need a backup device for his new laptop. A small drive is not very expensive.
  • USB flash drive.  He already has a moderately good one and we can supplement that with a a couple of old cheap ones, for when he has to lend a file to a friend, so that he doesn’t lose his good flash drive.
  • Laptop lock?  We have one, but is it worth the trouble of using it?
  • Cell phone + charger.  He has one that he uses rarely (usually to call us when we require him to check in) and we’ve bought a pre-paid AT&T plan that costs $2 a day to use, but only on the days he uses it, and then it allows unlimited talk or messaging, but data is 1¢/5kB.  The biggest problem is that the prepaid amount expires after a while, unless you add more, so the plan costs $100 a year whether you use it that much or not.  Given how little he uses a phone, that was the cheapest rate we could find.  If he starts using the phone a lot more, we can add more money to the account easily.
  • Pens, pencils, and markers.  We’ll send a few random ones with him, but expect that he’ll buy what he really needs at the bookstore.
  • Pencil sharpener.
  • Dry-erase markers?  (He can buy pieces of marker board at Home Depot and get them to cut it down to carryable sizes.)
  • Clipboard?  I like carrying a pad of paper on a clipboard in my backpack for note taking, doodling, and writing drafts of things. I don’t know whether he would want one or not, but having something to write on when studying outdoors or in a place that doesn’t have convenient tables can be handy.
  • Binders, composition books, folders, ruled paper, post-it notes, … and other heavy paper items should probably be bought once he gets there. We’ll probably send him with a small pad or pack of paper, so he has something to write on until he buys what he needs.
  • Ruler
  • Scissors for paper
  • Protractor?
  • Stapler and staples
  • paper clips
  • push pins?
  • Transparent tape (buy there?)

Bike tools

He doesn’t do major repairs on his bike, and there is a bike shop not far away in Isla Vista that he could walk his bike to, but he’ll need to take a few things with him:

  • Bike helmet.  They’re not fashionable in UCSB, but he normally rides with one, and I’d be happier if he brought his with him, rather than counting on getting one there.
  • Bike headlight + charger. He has a nice rechargeable LED headlight that can serve as a flashlight also.  It is small enough and expensive enough to be worth carrying rather than getting a new one.  He will have to remember to bring the light and the helmet home for holidays, though we probably have a spare helmet at home he could use if he forgets.
  • Bike taillight.  These are cheap enough that he might want to leave his here and get a new one once he gets a bike at UCSB—he’ll probably have to get a new mount for the tail-light anyway.
  • Bike lock
  • Patch kit
  • Tire levers. We have good stainless steel tire levers, which we’ve found much easier to use that the fat plastic ones that seem to be all most low-cost bike shops carry.
  • Frame-fit or smaller pump.  There are some good floor pumps scattered around the UCSB campus.  According to a news article, there were four bike tool stations installed in 2012 “located adjacent to the De La Guerra Dining Commons, Santa Catalina Residence Hall, San Rafael Residence Hall, and San Clemente Villages graduate student housing complex.”  None of those are very convenient to Manzanita Village, where he hopes to live, so unless the dorm he is in has a floor pump, he might want to buy one there.
  • Allen wrench set (3mm, 4mm, 5mm, 6mm)
  • Small adjustable wrench?
  • update 2014 Aug 3: bike panniers

I don’t think he will need to bring a chain tool, a spoke wrench, cone wrenches, sprocket removers, or any fancier bike tools.  First, he probably doesn’t know how to use most of them, and second, he can go to the Associated Students bike shop in the center of campus and borrow tools (and get instruction in using them) there.

Dorm repair tools

One can buy tool kits specifically marketed to dorm residents (like the Apprentice Tool Kit), but he already has a tool box and many of the tools he would need, so I’d only use a kit like that to suggest things that might be handy to include in the tool box he takes.

  • claw hammer
  • Allen wrenches
  • screwdrivers (Phillips and slotted—maybe with a bit set)
  • jeweler’s screwdrivers
  • mini level
  • adjustable wrench
  • socket wrench set (metric and English)?
  • ViseGrips?
  • tin snips?
  • measuring tape
  • spring clamps (plastic or steel)
  • razor knives
  • Leatherman pocket tool
  • machine screws and nuts
  • wood screws?
  • nails?
  • calipers?
  • micrometer?
  • zip ties
  • velcro cable straps
  • duct tape
  • Elmer’s glue?
  • Sewing kit: packet of sharps, spools of buttonhole twist (black, white, grey), small embroidery scissors, needle threader?, spare buttons?

Electronics tools

This will be a little different from the ones I specify for my applied electronics course for bioengineers (see the Winter 2013 or Spring 2014 list) , but we have a lot of the things on hand.  The initial list is almost certainly too much stuff.

  • needle nose pliers
  • diagonal cutters
  • tweezer set
  • wire strippers (should I give him one of the self-adjusting ones like I use?)
  • solder
  • soldering iron and stand (my old Unger iron, or perhaps he’ll take the one bought for his company)
  • solder sucker
  • solder wick?
  • PanaVise Jr? for board holding?  Or just a cheap alligator-clip 3rd hand?
  • breadboard
  • multimeter
  • USB oscilloscope??? (Is there one that plays nicely with Linux boxes?) Small pocket oscilloscope?
  • resistor assortment
  • ceramic capacitors
  • electrolytic capacitors
  • electrical tape
  • heat-shrink tubing?
  • spools of 22-gauge wire for breadboarding
  • jumper wires for headers? (female-female or male-male)
  • double-sided breakaway male headers
  • Arduino boards? Freescale KL25Z board? Power supply for boards?
  • USB cables
  • Small, closable tackle box for keeping bags of small parts sorted?

Living supplies

  • Power strip with surge protector
  • Extension cord?
  • Small room fan
  • Refrigerator (definitely a “buy there” item—needs to coordinate with roommate)
  • desk lamp?
  • bed lamp? (perhaps one that mounts on the bed posts)
  • alarm clock
  • laundry bag
  • book ends? (probably better to buy there, if needed at all)
  • Rolls razor
  • shaving brush and soap
  • coat hangers (buy there?)
  • first aid kit: band aids, larger gauze pads, antibacterial ointment, paper tape, medic scissors, thermometer, ibuprofen, antacid, simethicone
  • nail clippers
  • lock box for passport, insurance card, and other important papers?
  • backpack (he and I both need new backpacks for carting books around)
  • knife, fork, spoon
  • bowl
  • mug
  • resealable food containers (to avoid rodent visits)
  • Can opener (on Swiss Army knife?)’
  • umbrella

%d bloggers like this: