Category: <span>Shop Projects</span>

After I began to use my Sherline lathe in earnest, I started to appreciate the amount of time that went into switching the tooling involved in turning operations. There were a few options available for quick change tool posts, or QTCP abbreviated. Sherline makes one that seemed very overpriced, required wrenches to change the tooling, and just didn’t seem like it was worth it. AtoZCNC made one, but I read about a lot of holding issues and they always seemed like they were on the verge of going out of business (they did). Since the Sherline is tiny, most other QCTPs didn’t git. I had read a lot about an older ‘pillar-type’ toolpost that larger lathes used many years ago. The style doesn’t seem to be very popular today but it seemed like a very sturdy design so I decided to make one.

I read a lot of older machinist’s designs and downsized it to fit my lathe. I’d make a bunch of spare toolholders because you can never have enough of those. I would also make two tool posts: one for the standard Sherline Lathe configurtion, a taller second post for when I use the Sherline headstock riser for working on larger items.

I picked up some two-inch square 1018 steel bar stock for the tool holders and two-inch diameter 1144 Steel Rod for both toolposts.

I turned both toolposts, feeling guilty about turning away so much steel, but without a welder I wanted the stability of the base and the post being a single piece. I then used my mill to square up the base.

The finished taller toolpost. I beveled all the edges and drilled and reamed the center hold for holding it to the base of the lathe.

A finished tool holder. In all, I made 12. Some for 1/4″ and 3/8″ tooling, boring bars and others purposes.

I used a 7/8″ hole saw on my drill press to rough out the center opening, then a bandsaw to cut the compression slit. My mill and a boring headwas used to cut the center opening to exactly the correct size to slip onto the tool post. The clamping bolt holes were cut on the mill and hand-threaded. I ‘polished’ the final pieces under water on my wet-sanding/lapping rig (see elsewhere in this blog for details), then immediately upon drying oiled them to prevent rust. I use a local foundry to do my heat-treating to temper/harden the steel for final use. For 10 dollars a batch, it isn’t worth the price of installing my own heat treating oven.

A nice close fit on the toolpost.

The first half dozen, before I realized I should make more. I turned two brass knobs for each toolholder, knurling them for ease of use. These made locking height adjustments for more accurate tool changes.

They came out perfect in concept. However, in practice they have a few flaws:

1-The toolholders are a BITCH to make. It takes a lot of time and effort to remove all the one inch of steel from the center of each one and bore them perfect.

2-The base had a tendency to pivot. This was fixed by milling out the bottom, but it really needs a plate along the edge of the lathe carriage to prevent it from pivoting. Cleaning the base before clamping helps a lot.

3-The toolholders have a tendency to pivot around the center of the toolpost when cutting aggresively. Again, cleaning the post helps, but it is a fundamental flaw in having a round post.

I still use them, but I have since moved on to a wedge-style OXA-sized QCTP.. It was a worthy challenge, but the advantages of the OXA offset the issues with the pillar-type QCTP. Because of the Sherline’s small size, I had to make some adaptations to the OXA style toolpost such as a custom base to keep it at the proper height. I also added a second arm/knob to eliminate the need for using a wrench to lock it down. Overall the OXA was a better choice.

Quick Change Tool Post for Lathe

The MillDroid Pendant is a handheld/desktop controller box that provides physical buttons and a jog wheel to my MillDroid CNC sofware. It cuts down on the amount of mouse and keyboard used for positioning and operating my CNC mill and lathe.

I designed and built the pendant to access my KFlop-based MillDroid Controller hardware via a 25 pin cable. I based my job wheel/encoder reading software on some that was included with the KFlop hardware. Once modified for my own use I added the montoring code for the buttons and communications with my main app. Global variables are shared between the KFlop hardware and my VB.NET-based MillDroid application and it is through these variables that the apps communicate with each other by the sending of variables that they both monitor.

The case was built from 1/8″ styrene, ‘welded’ together and reinforced at all the joints for strength. Styrene is easy to mill once you get the feeds and speeds correct to prevent melting. Nice chips that clear with compressed air and no lubricant is required during cutting. I cut at a steady pace of 8 inches per minute, a .04″ depths of cut and spindle speed of 1500 RPM using a 1/8″ end mill on my Sherline Mill.

It took a couple hours of work cutting all the pieces from styrene, sanding then gluing it all together.

The internal wiring took considerably longer. I like to label every wire and document all my work for later review. Too many times, I’ve come back to a project I built, looked inside and thought “what was that idiot thinking when he did that?”. Since I document my hardware, software and every project, there is never any doubt when I open something I had previously built years later: I always know what that idiot was thinking when he did it.

The design it relatively straightforward. A few switches needed pull-down resistors because not all of the KFlop’s IO pins have them by default. Simple enough to add a few where needed. I wanted the pendant as small as possible so I tried to keep all the smarts outside of the pendant. This meant a few more wires externally but they all fit in a 25-pin printer cable with a a few to spare. I even had enough for another shiny red chrome abort button.

Shop Projects MillDroid Pendant

A little history first….

Sometime around 2010 a woodworking blog revitalized the use of the Joseph Moxon Twin Screw Vise. Originally published by Moxon in “Mechanick Exercises” in 1703, this is an engraver plate of the device….

Since that 2010 article there has been a large resurgence involving the use of this vise, with kits becoming available at several woodworking establishments. Since I needed a better woodworking vise, this seemed like a good project that would utilize a variety of techniques…..and I was sure I could come up with some method of making it more complex than it looked.

A little googling reveals hundreds of designs from woodworkers around the world. I perused ever single one of them and after digesting it all picked and chose the qualities that I wanted for my own design.

I knew that I wanted the vise wide enough to handle 24″ wide planks. I also knew I did not want the usual vise “bar-type” handle. A hand wheel seems like a much more elegant method of controlling the jaw. Metal hand wheels abound, but I stumbled upon another woodworker’s design in which he had made hand wheels from several differing species of wood and I fell in love with the look–plus it made the wheels very difficult to make and that made it a nice challenge. Mitch, I thank you for the inspiration that your design provided!

I obtained some 2″ thick hard maple for the main body and used Maple, Cherry and a neighbor-provided piece of mahogany for the hand wheels. A trip through the band saw to re-saw down to proper thickness into manageable planks.

Using metalworking angle blocks on the band saw I was able to make some precise cuts of the stock into the building blocks I would need for the hand wheels.

Some of my stock was different thicknesses. This would come back to haunt me later.

Gluing blocks together carefully as to keep the grain of each block in the same direction. To keep the pieces flat I clamp them on a scrap piece of MIC-6 Aluminum Sheet that I use for other projects since it is about as flat as flat can be.

My plan had been to run the completed pieces through my jointer to flatten the remaining side. This is where I made a critical error, forgetting that the jointer would flatten, but not guaranteed that the newly flattened side would be parallel to the previously flat reference edge. What I really needed was a planer, but I don’t own one. Dumb, Dumb, Dumb. The pieces were off enough that I knew I would see the edge design “wobble” as the wheels turned. So I decided to re-cut everything and start over……better take a break and work on……

….cutting the 8 spokes of the hand wheels from cherry with a coping saw. I really need to be a scroll saw one of these days, but hand tools are therapeutic.

Rounding the cherry bases on the disc sander.

After re-cutting and assembling the new ‘pie slices’ of the hand wheels, they became the “bread” in a sandwich with a filling of 1/4″ walnut. It gives them a nice stripe around the wheel’s outer diameter.

I didn’t save any pictures of it, but my new method of “planing” the disks to the same exact thickness involved using my metal working mill. It’s a small Sherline, but I was just able to fit the project into its working envelope.

The left was an earlier, crappy attempt. The cutter on the edge was my second, better version and worked perfectly. No rake, a large radius and plenty of clearance for chips.

On my grinder, I ground a piece of high-speed steel into a large radius fly-cutter, then used that to ‘plane’ the surface of my newly re-constructed hand wheel disks into exact thickness prior to glue up.

See why I need a better vise? Although you aren’t supposed to chisel in a Moxon because it isn’t designed to put those types of stresses on the thread rods.

A good amount of chiselling with a mallet to carve out a place for a large hex nut in the wheel bases. Similare square holes were chiseled into the base of the vise for the other end of the rod. The nuts, both square and hex, match the characteristics of a 3/4″ Acme threaded rod that I would use for the vise. I wanted Acme rod instead of a normal threaded rod because of the accuracy of the machining that would give it smooth movement and less backlash. I bought 36″ inches with plans to use the rest for something else, and only needed 18″ for the vise. I cut the Acme into two 9″ pieces with a hack saw manually as my grinding wheel wasn’t large enough without risking damaging the rod. Heck of a good workout cutting 3/4″ steel rod with a hacksaw, even with lots of cutting fluid. I think I put an inch on my biceps making those cuts.

Don’t forget to break out the magnifying glasses and hand file any spoiled threads from the cutting process. This steel was pretty hard stuff.

Alignment of the Acme threaded rod into the handwheels would be critical. If it was off a tiny bit, the hand wheels would wobble when spun and vibrate. I made a simple jig from MDF with holes large enough for the rod to hang through with room to spare. I place small wood angles as shims under the corners of the MDF board and used my precision machinist level to make certain the board was level in two dimensions. Now the Acme rod goes through the nut, which is placed into the hand wheel base with 30 minute epoxy. By setting the base/nut/rod combination through the hole and letting the rod hang down, gravity will cause the rod to act as a plumb line, pulling it perpendicular in two axes to the previously leveled MDF tabletop. Within the wood base, the nut is sitting in a little pool of epoxy, giving a a little “wiggle room” in which to pivot. Because I didn’t trust gravity, I also broke out my precision machinist square and verified that the rods were indeed hanging at exactly 90 degrees in two axes. I knew it would work….really 🙂

All the other hand wheel parts were hand sanded and scraped into shape. The ‘gravity jig’ was again used to let the weight of the acme rod hold the spokes, base and wheel together for glue up.

I figured I needed to keep the handwheels from scraping the vise jaw to I made a couple stainless steel washers from 2-1/4″ SS rod. Stainless is tough to machine and drill with smaller machine tools but it can be done. Slow and steady wins the race, plus it was worth it to help minimize rust potential with the stainless.

That is a lot of maple. Thick maple.

I had recently purchased several japanese pull saws and wanted to learn to use them properly. This was a good project for it, and I now prefer them to the typical western ‘push’ saws. It takes a while to get used to the reversed cutting direction as does handling the thin blade, but the thinner kerf seems easier on the muscles. The technique takes a bit of getting used to for certain.

Don’t worry, that’s only a shadow on the wood.

I tried initially to cut the inside curves with a Forstner bit but this burned the maple. It then became an tedious excercise in using the coping saw and sanding. Did I mention I need a scroll saw?

I uses a series of boards and clamps on my drill press to align and drill the 3/4″ holes in the jaws. The Forstner burned the maple again but I got through it by cooling the bit between passes.

The front jaw holes were widened in the left-right direction by 1/8″ on the exterior of both sides. This would allow the front jaw to ‘rack’ when tightened and allow non-square items to be held tightly. This should provide about 1-2″ of non-parallelness in the item being clamped.

I used my (newly) standardize finishing chemistry/technique for the entire vise and handwheels. The process was…

1-Scrape or sand everything with ~220 grit. Blow out all the dust with compressed air.

2-Wet everything with distilled water (to avoid contaminates) and let it dry for a several hours to raise the grain.

3-Scrape or sand the newly raised grain with 220 grit.

4-Get rid of the dust again with compressed air and wipe with mineral spirits. Let dry for several hours.

5-Soak with a saturated rag of Danish Oil (Watco works for me). Spend about 5-10 minutes keeping the surface of the wood wet until it won’t absorb any more or 10 minutes has passed. Any longer and you risk the oil getting thick on the surface and you’ll have difficulty removing it. After the 10 minutes has passed, wipe off all the excess. Make sure you get it all and wipe it *hard*.

6-Let the Oil soak in and dry for at least 3-4 days (depending on humidity and temperature) since I’m going to topcoat it.

7-Brush on General Finishes Arm-R-Seal, which is a oil/eurethane resin, then wipe it lightly off. Let dry 24 hours minimum, then lightly sand off any dust/bumps with 600 grit sandpaper. Repeat over three days to get three coats. Don’t sand after the last coat, but use a brown paper bag and buff out any dust bumps.

8-Let the topcoat cure for several days to maximum hardness before putting weight on it.

….and behold! My new Moxon Twin-Screw Vise.

Moxon Vise

I have several squares in my shop. Those used for woodworking tend to be more ‘forgiving’ in their accuracy but I like to tune them up as good practice. My metal working squares, however, I keep a close eye on for accuracy as I use them to calibrate other things in the shop. If they are off, every tool that I use will be off as well.

I have one large square that I paid extra for, called my Reference Square. I don’t use this for anything and am extremely careful with it not to bump or drop it. This is the square against which I test the others for adjustment. But I still check it from time to time…..

Most people check a square by placing it along a known flat edge and drawing a line, then flipping the square and drawing another line. If the two lines are parallel, it is assumed you have a true 90 degree square. However, this depends on the flat surface being absolutely flat, otherwise the angle will be off. Again, the precision of one tools affects the next measurement.

I use a precision ground Parallel that is accurate to .0001″.

My precision parallel. Clamped lightly to the tabletop. I treat these precision tools like new born babies and keep them coated with Camelia oil to prohibit rust in a heated toolbox sealed away from any humidity.
I use an exacto to draw (actually cut) a line. Don’t worry, there’s a protective piece of scrap wood under the paper to protect my nice benchtop!
Now flip the square and redraw the line. Does it match exactly? It better. If not, you need to start filing, grinding and scraping the tool to get it to match.

As it turns out, all three of my squares seemed to still be true. As a final test, I line them up with each other on top of the precision parallel (maintaining a flat surface it critical, remember?)

With a light object behind them (my precision paper towel roll) and lit up, if you see any light between the squares when placed end-to-end, they are not true.

The large square on the right is my reference square. Notice that there is light leaking from between the squares at the bottom but NOT at the top? This is because they are not parallel. Since we are assuming that they are both on a reference flat surface, then the square on the left must be incorrect.

Well, that would be the case normally. As it turns out my squares were in perfect true to each other. So I placed them in this picture on a normal surface INSTEAD of my referenece flat parallel, and they look like the small one is incorrect. It did give a good picture, though, and demonstrate exactly why the flat reference surface on which they stand MUST be absolutely flat, otherwise everything after words is incorrect.

Here is what they actually looked like when placed on my proper reference flat parallel.

That’s what I’m talkin’ about. No photons squeaking sqeaking through on my watch, and don’t mistake reflection of light off the edge for a leak.

Ah, nice to know nothing has drifted. Now check the baby square so it doesn’t feel neglected….

Who’s your daddy? That right, I am.

Now that I know they are all properly square, I wipe off any dirt and oil from my skin, then put on some neoprene gloves like a proctologist. Give them a good rubbing with Camelia Oil to prevent rust then back into the heated toolbox ready for use.

Squaring Up

Some basic info

I don’t profess to be an expert on this stuff so I am only passing along what I’ve learned over the years.

For woodworking and metalworking you generally use different types of abrasives that are specific to the job. There are many to chose from Aluminum Oxide to Silicon Carbide to Diamond. What you use depends on the project materials.

Sanding, scraping, polishing, grinding all have the same desired effect–to remove material to get the desire shape. Sanding involves scratching the material with paper to which grit has been affixed (think very tiny rocks). You use finer and finer grits to remote the scratches from the prior grit until you get the smoothness you like.

From left to right, course to finer. 80 grit, 100 grit (see the large size of the particles), 220 Grid (fine), 600 Grit and 2000 Grit. At this fine a grit you cannot see the individual particle and the sandpaper feels almost like a sheet of looseleaf paper. Once you get finer than the 500 Grit you generally work ‘wet’, using a lubricant such as soap & water or mineral spirits (my favorite). This helps wash away the fine dust of the material and keeps the fine paper from clogging with it, which would make the paper smooth and render it useless.

Ultra fine grit sandpaper (actually mylar at this point) can be used on steel to get super sharp edges and very flat surfaces. These are 5000 and 10000 grit and feel almost like plastic at this grit.

5000 and 10,000 grit mylar ‘paper’

Stones that are uses for sharpening metal tooling such as drills, end mills, knives and plane blades. I use these for all of that. The flat stones are oil stones to which you add oil while grinding on them to lubricate and remove the particles during the process. When they get bumpy or non-flat from use, you grind one on another harder stone to ‘true’ it back to flat.

Abrasive Stones. Oil stones on the left, water and soapstones on the right for finer, software sharpening.

Diamond stones. Not actually a stone, but a metal surface to which tiny diamonds have been affixed. These are used for sharpening certain types of cutting tools such as carbide.

Diamond stones. See the pretty glitter? The green ‘dots’ are lot spaces that allow the lubrication to carry particles away from the diamonds and keep them sharp.

When sharpening, there is a point where you are removing so little metal to get a fine edge that you are Honing and approaching polishing. At this point you move from the fine stones and sandpaper to something like a strop. Some people use a powered wheel but I prefer the strop for finer control. I have three stops I made by gluing 24″ of leather to flattened wood. The first strop is “charged” with an abrasive compound.

Several of my abrasive compound sticks, from Red Rough to white. I believe the white is considered approximately 30,000 grit.

These compounds are something like a soft wax that has been mixed with ultra fine abrasives. This is not unlike toothpaste, which is an abrasive in a liquid carrier for polishing teeth. You rub the compound stick (they feel like big crayons) on the leather, then hone the object on the leather strop several times. By moving from more abrasive compounds to finer, and then finally just the plain leather strop you hone the last of the roughness away.

Lightly charged course strop, green medium charge strop, and plain leather fine strop.

The process is usually the same for wood or metal. For smoothing, start with a course grid (whatever the medium) then remove material gradually, then go to the next approximate doubling of grit. I.e. 80, 150, 220, 400, 800, 1500, etc. If sharpening metal, I usually then hone with 2000, 4000, 10,000. Then polish with compounds to the finest grit you have until you get a mirror finish.


Pathfinder started out as a simple CustomTool for my MillDroid application. The idea was to be able to draw a bezier curve,


then generate the G-Code into MillDroid for milling operations.

Like most of my projects, they start out simple and become something much larger.

I recalled a lot of old bezier code from a compositor I had written back in my Amiga days. I used my Skeleton Framework to provide a foundation for the application and began the bezier viewing module. The curve viewer grew into a CAD-like window that let me draw, connect, modify multiple bezier curves into complete drawings. More functions came, allowing precision control of every curve’s knots, resolution, insertion, deletion, tangent breaking/control, editing, etc.

This led to visual “rulers” for the design process, and reference shapes for holes and labels.

Now I got crazy: Tools for measurement were added, macros for equi-distancing knots and tangent handles, smoothing existing paths through knots, reversing and mirroring curves, modification to existing knot order and many selection-type tools. The viewer became a virtual graph paper with zoom and pan controls. Drawing Layers became another large addition, then a Properties Form to allow access to the components of every Curve, Knot, Tangent and other items on a low level.

Lots of display tools followed with adjustments for every font, size of text and other minutiae.

This thing had really become a powerful tool for building curve-based drawings and it was a challenge making it. Yes, I know there are pro and free tools out there for curve editing, but where would be the fun of learning in that.



It was now that I came to a realization–That the curves I was generating to represent the path were the CENTER of the milling tool in GCode. Yes, GCode offsets could be incorporated, but I really wanted to SEE the curves in the viewer that the mill would be cutting. This began a learning process about the limitations of offset bezier curves, their paths, vectors and normals. I could now show the path as it was drawn, along with a properly parallel Bezier Curve in realtime. Each normal and vector for the generated path could be seen live. The resolution of the curve points could be adjusted on the fly to make the milling operation for the curve smooth or linear between every point. The tool could be seen traversing the curves and show issues before a cut was made. The GCode could then be output to my MillDroid application.

I learned a LOT on this application and am quite pleased with the result.



(Originally started and written in Sept. of 2014, this entry has been updated to reflect the current changes as of December 29th, 2020)

MillDroid CNC is an application written myself to perform CNC Control of my Mill and Lathe. Why would I do that when there are other existing applications out there for CNC? A bit of history may help….


I’m purely a hobbyist when it comes to metalworking. Coming from an editing and visual effects background as I do computers are a very natural tool for me. Programming them is second nature. I’ve been writing code for over 40 years be it flipping toggle switches on a breadboard or typing into a text editor. When I decided to get into metalworking it was only natural to apply my computer skills. I bought a Sherline mill and played with it manually for several months to understand the processes involved in metalworking. Later, I bought some stepper motors and a Gecko G540 driver and built my own controller to run it while converting the Sherline Mill to full CNC. The CNC Software ‘standard’ out in the world seemed to be Mach3 for software control so I purchased it and started making chips.


After spending the better part of a year using Mach 3 on my Sherline CNC Mill making small parts I grew more frustrated. I’m sure that plenty of people are able to work with the antiquated Mach3 software and do fine work. Those same people might not mind the frequent freezes and crashes. Perhaps they don’t write a lot of customized code so it works for them. Perhaps they are fine running on an antique operating system or machine that is very old as Mach 3 required. Perhaps they are also fine with the integrated, incredibly buggy and horrible excuse for a “macro” programming language that is Mach 3’s Cypress Basic.

I am not one of those people.

Bad user-interface design and choices are among my pet peeves, especially when they are never improved upon for “legacy excuses” such as “people are accustomed to it” or “the codebase is too old”. I’ve seen and used (and written) a lot of bad software over the years and consider myself an expert on the subject. If it is buggy or badly designed, I fix it.

I also got tired of waiting for the long-promised, improved version of Mach 4 from Newfangled Solutions. I had been hearing about this updated version for several years and how it was “right around the corner” (their words, not mine). It was going to support Visual Basic Scripting, a much better alternative to Cypress Basic and LUA (a poor choice of a scripting language in my opinion). Why ANYONE writing an application today would chose something other than dotnet or Python (if they require multi-OS support) is beyond me. When Mach 4 announced that it would only support LUA (if it ever shipped) I decided I’d had enough of them. For me, it was time for a better and more flexible CNC application. As of 2014, Newfangled Solutions has announced a Pre-Release, PreBuy Hobby Version that still has no motion control. Ok, right.


I had already built a stepper motor controller system based around parallel port output to a Gecko G540, a fine device. I decided to augment it and move away from the computer’s parallel port connection at the same time to allow for more modern hardware options such as USB and newer OS versions. I discovered Dynomotion’s KFlop boards online and began researching them.


I will say that rarely have I encountered a company with as good support as Dynomotion. Tom Kerekes at Dynomotion read and answered my many emails for information in a timely fashion. Best of all, the software for the KFlop board that they sell, mainly written in C++, included a Dot Net library for access by modern managed programming languages such as VB.Net and C#. Net. I purchased a KFlop and began experimenting. I was now able to use a modern computer and USB interface to communicate with the KFlop, which spoke to the Gecko G540 to drive my stepper motors for the mill. It is now six years later and the KFlop remains rock solid, with great support and one of my best purchases.


There have been a lot of good things said online about the KFlop and how smoothly it manages steppers and I agree with them 100%. Motor control is much faster (too fast, in some cases but easily adjusted) and smoother. It even “feels” better and that isn’t something I can easily describe–the motors movement feels less choppy. The KFlop system is not without some issues. Documentation is the weakest part of the KFlop system and Dynomotion seems aware of this. The docs are a bit “spread out” and searching for something can be a bit difficult. The .Net library documentation is a bit rudimentary (example code really should exist in the documentation) and adding more simple example projects would help a lot. There are a few C#.Net and VB.Net example programs and they help, but they are very specific. Despite this the overall value of the hardware is fantastic.

If you are going to program the KFlop, Dynomotion includes their complete CNC application and it’s source code, called KMotionCNC. It serves as a pseudo-replacement for Mach3 running GCode. If you are an experienced CNC person much of the system is understandable. If not, it takes some time to figure it all out.  What I was planning required using C++ code that you then compile and download to the hardware to set motor preferences and settings but I later figured out how to bypass this with 100% managed code. Once I was over the initial hurdle of understanding the system and getting motors moving, I set about designing my own custom CNC software.

Phase 1 was to learn the KFLOP hardware itself. I breadboarded the KFlop to my Gecko G540 to make it easier to figure out the IO lines of the board and make changes as I attempted to control my Gecko G540. I then built an enclosure for the KFlop. Done.

Phase 2 was to attempt motor control with the KMotionCNC software of my Gecko and Mill, despite the fact that I didn’t intend to use KMotionCNC.

Phase 3 was to dive into the code for the new application. Here’s where the fun begins. My end goals were

  • A multiple window, modern user interface that was configurable and persistent.
  • A robust preferences system.
  • Extensive error trapping/correction including intelligent saving of parameters in case of a crash for easy restart..
  • A DRO module that allowed for “undo-able” changes.
  • A Jog/Manual module for the mouse, including keyboard and potential external hardware devices.
  • The ability to load, save, edit and run GCode files.
  • A CustomTool module for easily adding code and custom milling. This would be my “plug-in” system for what some call “conversational G-Code programming”.
  • Preparation for Backplotting options later by using existing code from my SubSpace 3D digitizing application.

Thanks to Tom’s support at Dynomotion, answers to my questions were never more than a day away. It took about a couple months of spare time to write the code and get it all running. When this was originally written in August of 2014 I had milled several pieces successfully and only broken one end mill because of a bug! But, hey, at least I can fix my bugs! (Note, it is now 6 years later and Dynomotion’s support continues to be great).

I approached the writing of the application by breaking it into the modules I knew I would need. I began with what I call my Skeleton Framework code. This is a UI/Application codebase that I wrote years ago when DotNet first appeared that serves as the foundation for all my applications over the last 15 years. This foundation gives me a non-modal UI with all the library code I’ve written over the years including:

  • Advanced Generic Collections
  • Application and User Interface persistence
  • Common string parsing and handling
  • Process and Threading management classes
  • Form handling
  • History and Undo management classes
  • Hot Key management
  • My MScript scripting language for startup parameters

Using my existing Skeleton Framework as a starting point lets me skip all the mundane code and jump directly into the fun stuff. It provides the foundation for most of the applications I write for work and home.

Update: Originally titled MillDroid because it was specifically for my Mill, I’ve since added a Sherline Lathe and converted it to CNC. Now the software can control both my Mill and my Lathe, switching between them with a button press. I have updated all the images in this blog entry to reflect updates I’ve made to the application over the last few years.

I started the application design by blocking out the User Interface into the following modules and began building them:

Note that I have updated these UI images as I have improved the application over the years.

First, the Tool Form, from which all other windows are launched. This is the center point or hub for the entire UI.

After the Tool Form, every form can be made visible or not and positioned anywhere on the screen and persisted. This makes your UI as configurable as you monitor size allows. I use a 30″ monitor in my shop and like to have everything visible on screen.

The DRO Form to display location data and allow changes to the data. It also provides functions for quick navigation and movement on the Mill and Lathe. Both my mill and lathe now have magnetic tachometers that provide pulses for the system. The Lathe also has an optical encoder that I built for spindle speed and threading functions that require tying it to the other motors. It also shows local offsets (if any), translations of machine space and information on my Pendant Hardware for full manual operation of the motors when needed.

Next came the GCode Form for editing and running already prepared GCode. This allows me to edit GCode manually and contains a recording mechanism for auto-creation of GCode. I can jog the mill or lathe around manually or with the pendant and add key frames at any time, recording everything or only changes in certain axes depending on my needs. A nice addition that allows a building GCode for future use from operations done manually.


The Jog Form, for mouse and button manual control of the mill and lathe. All the buttons in this form can be accessed by hot-keys such as the cursor buttons, or an external device on a USB port. I used a Griffin Knob USB wheel for a while but they stopped supporting newer OSes and it was a bit laggy. That led to the development of my pendant box (see MillDroid Pendant elsewhere on this blog for details). I added a few macros for my rotary table control for functions I find myself using often. All jog or step speeds can be changed as well.


Between the DRO and Jog Forms there are plenty of ways to move the axes manually, but what about when I make a mistake? Ever move an axes then realize that you shouldn’t have? Now you have to figure out how far you’ve moved off course That’s what this History Form is about–it records every change you make anywhere in the application and displays it for you. A true Undo would be far too dangerous on a motion control device, so this lets you see what you did, then copy and paste the old value where you might need it in the DRO. Much more flexible than straightforward Undo/Redo functions.


The Locations Form to allow quick movement and recall of positions on the mill and lathe. I can record current positions of the mill for any or all axes, then move between any of those stored positions quickly at rapid or cutting speeds. Notes can be added to each location to help when human memory fails. Think of this as ‘bookmarks’ on the mill & lathe that can also be used for straightforward cutting operations.


The Message Form provides feedback from the application. This is where general message, warning or errors are presented so they can be logged, without bringing up an application-halting dialog box. It’s proven handy for later review of debugging issues also.

The Preferences Form for the default settings on the application. Every setting in the application can be changed here. The most complex is the Motor Tuning/Motion Params tab. Since multiple preferences can be save/loaded, I have some very fast motion settings for testing and everyday settings I use with safer motor speeds that are more appropriate for a mill/lathe of my sizes. It’s nice to be able to switch quickly between them.



This is the Macro Form.  A folder is parsed at startup and a macro “button” is shown for each script. This allows quick additions of little GCode Snippets that can be accessed quickly.


This is the Visualizer Form. It provides a simple view of the mill or lathe cutting tool and stock locations. It isn’t very elaborate, but it helps when debugging or working on my code when I’m not actually connected to the mill.

A simple Debugging Form lets me see which threads on the KFlop hardware are running C-Code.

CustomTools are my “plugins”, or options for what “conversational gcode programming”. These plugins are modules with user interfaces that make it easy to perform complex operations for which you don’t want to write repetitive G-Code. They are grouped into Mill and Lathe Custom Tools.

Programming-wise, there is a Base CustomTool Class, which is inherited by each of my custom tools. It takes only minutes now to write a new CustomTool and I have many. CustomTools give me the option of starting anywhere in their cycle in case I need to redo something. Each has an accompanying help file. They can also output their commands to a G-Code file log for later re-use. A Last Pass Alert plays a tone (and voice) and shows a Dialog box awaiting a continue order before a finish pass is made (if desired). This lets me decide if I want to increase the spindle speed or decrease the table speed for the finish pass–very useful when flycutting or performing other finish cuts. Most support spring passes if useful. I often like to add a little cutting fluid and increase the spindle speed for a better finish on the last pass and this keeps me from “missing” the chance on a long-running operation. I can also chose to repeat the last pass as many times as I like. All CustomTool setting can be saved to files for later use.

You will notice that some of my CustomTools, such a PeckDrill, perform operations that can also be done with GCode. Sometimes I like to write my own custom tool for an operations just because I want to understand the process better; other times just because I wanted some added flexibility or control.


All CustomTools have an accompanying ProgressForm. It allows modification of the functions all CustomTools have in common, along with starting/restarting and monitoring of passes, their elapsed time and prediction of completion. The Progress Form allows start or end on any pass, previewing the cuts, graphing the pass depths for debugging and listing of all the passes. Handy for preventing accidental crashes.

One of the more useful CustomTool plugins is Turn. Set the start and end, beginning of cut and depth of cut along with some other items and lathe turning/stock reduction become fast and easy. Most of the CustomTools support similiar options, including notes, what to do upon completion and the ability to load save settings and transfer them into a buffer for use in other CustomTools. Built it help is available as well for each tool.



The ProfileRepeater CustomTool takes a G-Code file and repeats it over various depths. Lots of options to play with here including repeating the profile in multiple x and y locations for multiple parts builds.



The Circle CustomTool cuts single or multiple interpolated holes (circles), removing the plug or all of the stock within the circle. Good for generating all types of circular holes. Again, plenty of options with which to play.


I’ve recently added CustomTools for internal and external threads, part arrays and boring operations. Some days I spend more time writing interesting tools than making parts, but that’s what keeps it interesting! I’m now working on a g-code backplotter to visualize all the work before and while it happens.

I used the alpha and beta phases of my MillDroid software to create a bunch of additional hardware tools for my mill and bandsaw. Like most of my code writing projects I’m continuously adding features and the apps become dynamic projects, evolving over time as my needs change. Now that the code has matured past the release phase, I can use it daily, confident in its stability.

I now have over 30 CustomTools written for the application.


The Curves CustomTool started as a quick drawing tool for milling directly from a drawing or sketch. Like most of my projects it snowballed into a bezier curve-based drawing application that I now call Pathfinder. You can find it in the Projects section of this blog, but here’s a snapshot. I now use it to design parts using curves and output GCode directly to MillDroid.



Here is a pic of the original KFlop-based Motion Controller I built for the application:

OEEK1323A few breakout boards for troubleshooting and some Schmitt trigger circuitry to clean up the magnetic encoders I built and internal 3.3 and 5 volt power supplies for add-ons. In 2020 I decided to build my Pendant Control for it, but the case was getting a bit crowded for circuitry. I built a new case from Styrene, using the mill to machine all the curves and holes for buttons.

The new KFlop-Controller case. A couple inches wider, deeper and an inch taller gave me plenty of room for new circuitry, including another 32 IO ports for the coming Pendant Control and an external Abort Button. The circuitry doesn’t generate that much heat, but it didn’t hurt to have a few air vents for circulation and they look nice. I may get around to making the Abort Button wireless, but I’d probably lose it into the same other-worldly dimension to which old keys, socks and tv remote controls vanish.


Plenty of external device connections at this stage.

All the new circuitry, cleaned up a bit and still some room to expand later.


Here is a pic of the finished Pendant Control. Connected by a 25-pin cable, it give me 16 programmable buttons, another Abort Button and an optical encoder knob for precise movement of the mill and lathe without having to use the keyboard and mouse. I should have built this years ago. See the CNC Pendant Control entry on my blog for build details.

MillDroid continues to grow. I update the software almost weekly or everytime I think of something new. A few online sites have scraped my blog pages, leading to a lot of interesting speculation as to its future, availability and other things. Here are some questions and answers for those who care:

Q: Will MillDroid work with controllers other than the Dynomotion KFlop?

A: No. The application is coded very tightly around the KFlop and it’s libraries. It’s a wonderful device and I haven’t found anything elsewhere that is as flexible for programming.

Q: Is the MillDroid softwarefor sale?

A: No. I’ve written and sold commercial software in the past and the limited user base for which MillDroid would appeal does not justify the work that would go into maintaining it for others and support. It just isn’t worth it either from a time or financial standpoint.

Q: Is MillDroid’s source code available or open source.

A: No. I wrote this code for my use, to solve very specific goals I had, and in the manner in which I like to write code. Its limited user base, specific hardware needs and programming language (mainly VB.Net and some C and C#) make it a very niche application designed for programmers that like to modify their applications. If you want to write your own app I’d be glad to offer suggestions; just check out the Dynomotion KFlop user forums where there are plenty of people who have written CNC code for their KFlop (like me!)


MillDroid CNC

My garage was little more than storage as it came with our home. Plastic lined the ceiling to avoid drips, 10 amps of power and no heat. I could only work in it during the warmer months.




The first thing was to clean it out–attic rafters filled with old boards and doors from the original owner, pieces of siding and junk. Because it was very rainy I was forced to continuously re-arrange the contents of the garage as I worked. That made it more time consuming. Like most remodeling projects it got worse before it got better.




THAT is one ugly sub-panel. The line from the house was only 10 amps. My vacuum and saw together would blow the fuses in the house.


After ripping our every wire in the garage I re-wired it all with 20 amp electrical and all new outlets. I placed outlets on the ceiling for both tools and lighting with everything into independent new breakers. When as estimate for the electrical came in over $1200 I decided I would do it all myself.

I also foamed and sealed the entire garage to eliminate air leaks and fixes any roof leaks that actually turned out to be water coming in through wall joints.





The original owner had built the garage with a two 16 foot 2×10 beams spanning the entire length of the 36 foot garage. Where the beams met in the center of the garage, the ceiling had sagged 5 inches because of this dumb design. I wedged and jacked up the center of the beams, then reinforced them for their entire 36 foot length with two more 2×10 in parallel. I glued and screwed the entire assembly together into a single tremendously strong beam. I also reinforced all the trusses to the ceiling and used hurricane braces to line up and reinforce all the other construction of the roof and ceiling.




Ahhhh. Clean wiring and a real sub-panel. Loose wire is kept outside the box if needed.




Wood or drywall? Every drywall garage I’ve every seen has suffered from split seams and cracks. Whether from settling, humidity changes or anything else drywall just isn’t very durable. I decided to line the shop with OSB because I liked the texture when painted. It’s durable and takes a beating. It is a shop, after all, and I was certain I’d be banging into walls and ceilings often. My brother in law helped with the ceiling–that just isn’t a one man job–then I could do all the walled myself. Of course the ceiling height was 8-1/2″ so I had do a lot of cutting using 4×8 sheets placed according. The home supply shop wanted nearly 50% more for 4×10 foot sheets and I wouldn’t throw away the money on that option.






The painting. Next time I’ll buy a HPLV sprayer. It took two coats of thick oil-based Killz to primer and seal the wood which acted like a sponge on the paint. Then another two coats of white over that.



A couple more coats of gray-blue along the base of the walls for contrast. Then all eight new T8 fluorescent lighting fixtures with nice white balances tubes. All of a sudden everthing seems the right color! Then replacement of the two external doors that had rusted over the years.




Replacement of the original bench and all new plastic (non-rusting) shelving for tools. I found some heavy duty plastic pegboard for over the bench and cast my own resin hooks for tools.





Finished pics of the shop. Two wide angles of each side. Room for two cars, normal garage stuff and the complete shop in the front half of the garage. It came out very nice. Heat will soon follow as soon as the exterior gas line is run to the house.













Shop 2.0


My old garage had a ‘bench’ that consisted of three 2×8 boards nailed to the wall with 2×4 legs. Wobbly and nasty. When I refinished the garage into my Shop I decided to recycle some of the wood into a new bench.

A perfectly flat bench is a necessity so aligning my sawhorses with wooden shims using two parallel strings provided a level surface on which to start.




Clamped up with slight expansion joints between them, the 2×8 boards were glued to reinforcing 2x4s. These provide the structural foundation for the bench. I considered a torsion box but it would have been overkill for this project.




Notching out the new 4x4s for lap joints before chiseling out the excess.




Getting the legs all parallel true fast enough to prevent glue drying was a challenge. I kept moving from leg to leg with level and square over and over again to prevent clamps from gradually pulling things out of square.




Since I wanted to keep the bench entirely wood without metal I bored out 3/4″ holes through each butt and lap joint. I then hammered 3/4″ hardwood dowels into each joint with glue. You have to move pretty fast or the glue will set the dowels in place before you get them all the way through the holes.

I kept the entire bench on roller platforms as it was too heavy to move without assistance.




Although the bottom of the bench was flat I now had to clean up the top surface. After rotating the entire thing I filled all of the deep grooves and holes then planed and sanded the surface flat.




3 coats of heavy urethane for the legs and spars and 7 coats for the benchtop. After fully curing this gives a very hard, cleanable surface for the bench. The urethane brought out the color of the wood and made the dowel joinery stand out nicely.




The finished bench in place. Proper height for standing, no knee bashing support posts, solid as a rock and I can stand in the middle without it sagging!




This is probably the last time it will be that clear!



I’d already made soft jaws for most of my holding tools except for the Sherline Chuck. These seemed to have tolerances a bit too tight for me but when I saw what Sherline charged for a set I decided to take on the project.




The originals are made of hardened steel and dented the aluminum I was working so I would make mine from aluminum 6061.


I rough cut some aluminum plate with my bandsaw.IMG_1090

I originally tried cutting a 6 inch aluminum blank, flycutting it in one pass. The aluminum was only supported by the long edges. This was a bad idea. As the flycutter passed over the center of the aluminum bar I heard a vibration–it was the aluminum bar vibrating up and down in the center! The amplitude of the vibration increased until it slammed against the flycutter and tore loose from the vise. Fortunately the carbide flycutter didn’t shatter but it dug horribly into the aluminum.

I then cut the long bar into smaller two inch pieces to make a more stable piece for milling. I was able to facemill the bad cuts out of that bar as well.



Milling out the side channels with a 1/16″ end mill. Nice and slow….those little end mills break easily if pushed too hard. Plenty of air to clear chips and WD-40 to lubricate the cutter every few passes.



I made quite a few “test-fits” of these, double-checking the measurements with a micrometer often because of the tight fit in the Chuck.



It was a nice challenge because of the very accurate fit that the jaws required. Here are the finished soft jaws along with one of the original hard steel jaws. I actually made five so I would have a spare. Being soft, I expect to damage one at some time.


Soft Jaws for Sherline Chuck

This was a tough project. I originally bid out the project to have my shop heated to several companies. 7 of 8 never returned my calls. One came back with a bid of $5,000 to put in a $1,000 heater. I was appalled at the lack of motivation and greed of these companies, not to mention the lack of professionalism. Failure to return calls was rampant. I tried again several months later with a whole new crop of companies and got similar results. I decided to do the install myself (with some help from my brother-in-law for the heavy lifting parts).

I did manage to find a local company to dig a trench and run the gas line from my home to the shop for a reasonable fee.

The biggest problem was trying to determine the definition of “code” for my city. Calls to the city inspector with questions were returned as “whatever is says in the instructions is okay”. The problem was that the details i was asking about were not in the instructions and I didn’t want to find out after I installed it that I’d missed something critical (or safe)!

Lots of research later I installed a Sterline 105 BTU heater with external combusion. I recommend it highly, although the documentation had several things critically wrong, such as reversed intake and exhaust lines on the instructions! I notified them and they have since changed it.

Since I was having the trench dug I figured I’d run some 1-1/2″ PVC pipe myself with a 30 amp cable in case I wanted to increase my currently anemic power supply. This would avoid having to re-trench again at a later date.


Detouring around underwater drainage tubes and an old deck….



Hanging bolts from the above-ceiling beams….



Quite the jigsaw puzzle of tubing. Some came with the heater, some I had to deduce and purchase myself from a local heating and cooling supply shop.



The external setup brings fresh outside air in for combustion, shielded from the exhausted nasty stuff by the big round plate.




The final interior setup. Complete with a wireless internet thermostat that I can control from anywhere it works well and is reasonably quiet. The shop goes from 40 degrees F to 60 in about 10-15 minutes. I hate the orange high-heat silicone caulk around all the silver aluminum joints….I wish it was available in silver. It’s a silly thing but it bugs me…and you can’t paint silicone.



Shop Heater

After much frustration clamping small parts to my drill press table I decided to make a Tooling Plate similiar to the one I built for my Sherline Mill. By using the same sizes for mounting hardware I can use holding tools on both devices without having to purchase two different sets.

photo1 4


First a trip to the local metal dealer for some good “drop” scraps. I was planning to use 14 x 18″ x 1/2″ aluminum plate but the thinnest in stock that day was 5/8″. Heavy, but good and solid for about $50. A few passes with the random orbital sander on top and the belt sander on the edges to smooth it all out yields a good surface for drilling. Remember, this isn’t supposed to be a surface plate.



The plan is to build a frame of 1-1/2 x 3/8″ bars and bolt it to the bottom of the plate. This frame would them be easily grabbed by my my XY Table. Then when I position the XY Table, the ToolTable can be (relatively) precisely placed.


photo 4


I drilled, chamfered and tapped eighteen equally spaced 10-32 holes–the same size Sherline uses for all it’s clamping devices. The thicker plate took some time to tap. Good for the forearms.


photo1 3

I also drilled and tapped several specifically spaced holes for items such as Sherline’s vise and a small precision vise I use that I previously mounted to a small plate for tiny items. This plate’s holes are set to work fit into Sherline’s T-Slots both along the X or Y axes.


photo 5

Now the frame could be bolted with more 10-32 machine screws. These were drilled and counter-bored into the table top and set just below the surface to keep it smooth.

photo 2

The finished product! It’s now easy and fast to make small positioning adjustments in both the X and Y axes when setting up to drill. It’s important to remember that the base XY Vise, being a cheap product, has lots of backlash so I always lock the vise leadscrews down before drilling.


ToolTable, Depth Guage and Improvements to Drill Press

My full height Craftman Drill press was in need of some attention. It had always had some wobble and vibration issues. The depth guage was very innacurate as well. I started by removing all the pulleys and the tension arm.IMG_0976

A medium sized gear puller made short work of that task. I then scrubbed the painted pulleys in mineral spirits and cleaned out all the old grime and grease. Upon closer inspection I found a lot of rough edges on the pulleys that might have been snagging on the belts at times. I filed the pulleys in several places to smooth them out, then after cleaning resinstalled them with some new lubrication.IMG_0979

The tension arm shaft ends seemed a bit rough so I wet sanded it a bit smoother. After reinstalling the belts a test showed that this fixed most of the vibration issues.


The drill press had arrived with the arbor and chuck installed. I had never had reason to remove it so i had to dig around to find the original arbor removal tool. Fortunately I found it deep in my tool collection. Very little rust even after 17 years of use. I polished up the arbor and gave the chuck some fresh oil to prevent rust as I do a couple times a year.IMG_0980

The original power switch as installed was a PITA. It was always locking up on me. I removed it and installed a heavy duty toggle switch with a thick plastic backplate. Better.



Now for an accurate depth guage. I purchased a 6″ digital caliper from Harbor Freight for $15, then set about milling some 1/8″ aluminum angle and sheet into a couple brackets for mounting. IMG_0982

I drilled and tapped two 10-32 holes into the original depth guage’s mounting block. This is where the flat plate would attach for the “fixed” part of the caliper. The angle plate would attach to the bottom of the bolt on which the original depth guage was etched.

My original intention was to drill and tap mounting holes into the caliper. I attempted to drill holes into the caliper’s arms. Not a chance. That hardened steel was impervious to my drills. I switch to my Dremel and a grinding wheel and ground out notches for the screws. Not the prettiest but it worked and would be hidden by the mounting plates.




No, that isn’t blood, but marking dye.


I used some stainless steel machine screws, washers and bolts to tie it all together. I hate rust.



I also ground off the sharp “inside arms” from the caliper after the first time I cut myself on them. Sharp little suckers. The caliper adds a bit more friction to the drill press so I had to adjust the tension of the quill spring to be a bit tighter. Otherwise releasing the quill are would fail to withdraw the chuck from the work. It was a little like balancing a garage door spring for the tiny amount of added load.


It works great! I zero the guage after drawing the drill down to the top of the work and it’s only a button press to switch between decimal, metric and fraction on the fly! I kept the original depth guage purely for it’s continued use as a stop to prevent accidentally drawing/drilling too far and wrecking my future drill press table I intend to build.




ToolTable, Depth Guage and Improvements to Drill Press

I made myself a couple thin Sine Plates for my mill. Set angle plates looked like a good idea at first but it seemed like I needed something that would “hang out” past the sides of my small vise for easier setup. I copied the general look and feel of most of the commercial bars. Milled from 1/8″ 6061 aluminum plate I wrote the GCode for the 3″ and 5″ profiles and milled them.IMG_0994


I decided to make a 3/4″ thick bar version while I was at it.


Sine Bar and Plates

These seem to be many machinists first project. Most are seem to be made from raw stock on a lathe but since I’m without that tool I cheated. I bought a few stainless steel hex bolts, nuts and long thread couplers and cut them to length with a Dremel & grinding wheel.



I then milled the tops and bottoms of the newly cut couplers and the tops of the bolts flat with a face mill and polished the surfaces to a shine. Nice little tools for an hour worth of work!


Machinist Jacks

Most of the hand sanding that I’ve done while in the process of finishing metal has been on a makeshift surface plate. I had found a few marble floor tiles that were remarkeably flat–close enough to a Grade-B surface plate to be usable for most of my projects. I polished out any imperfections that were objectionable and I “grade” them with a magic marker on the back so I can use the best when more accuracy is demanded. They have worked very well and for $4.00 are a great value.


Usually I would place the tiles on my flat bench within an old cookie sheet with a squirt bottle of water, washing away dust as I worked. Since I’m spending a significant amount of time doing this I thought I’d come up with a better method.


I recently found a local metal source that has boatloads of “drops”. These leftovers from large cutting jobs are a great deal for a hobbiest such as myself and are usually priced much lower than it would cost anywhere else without even including shipping. With a large assortment of aluminum, steel, brass and bronze I can’t imagine going anywhere else now. I picked up several 12 x 36 x 1/4″ 6061 aluminum plates for a several dollars each with the intention of building a wet sanding station.


I cut the sheets into three triangular rib plates, a cross brace and a backplate, then notched the backplate to take the verticle ribs. I used stainless steel machine screws and tapped all the holes 10-32 to match with my drill press. This gave me a very strong skeleton on which to place the flat tiles.


Lots of edge holes to drill and tap but it was the cleanest method of mounting everything together without having to use any ugly brackets. Had to always remember to use non-rusting fasteners since this project would be under water often.



The notches dado-like mounting made the ribs very strong even without the 10-32 machine screws. The four empty holes were to allow the plate to be mounted to my Sherline Mill for all the slotting and milling. It was no easy task coming up with a method to make the 8-inch slots on my mill. I had to cut half a slot’s length, then reverse the plate on my mill and cut the other half. Precision mounting was required to avoid any drift in the cutting and it all worked out well although it was quite the mental exercise.



The aluminum framework is then placed into a plastic restaurant bus tub. I mounted a small garden water pump and routed it to some bendable Loc-Line to allow routing the water stream where it was needed. The pump is the type that can handle sediment and crud and seems to have no problems with the metal dust I generate when tested. For $20 I didn’t expect a lot but it performed well.


It works! Now all the metal dust is not only kept out of the air but is washed off the sandpaper as soon as it is created. It’s a noticeable difference during use and has cut down on scratching that happens as the sandpaper clogs. This happened a lot with the finer 500-2000 grit wet paper I’ve been using. Now I’m seeing much better results. This project falls under the category of “why didn’t I do this a long time ago?”


Because the water pump is pretty weak, about 1-2 gallons per minute, the Loc-Line “Fan nozzle” doesn’t spread the stream as much as I’d like. I might have to flatten it a bit with a little heat to get the stream to widen to the entire width of the paper or make my own custom nozzle. It works fine as it is but it bugs me a bit. I could leave it alone.




Wet Sanding Station


As my number of automated mill processes increased I began to realize that I needed some automation in the clean-up department around the spindle. Although I don’t wander away from the mill very far when it’s operating, blasting compressed air at the cutter by had gets old (and tiring) after 20 minutes or so. I already had run a compressor line and drop to above the mill for hand-use so I split it into a second line for some automatic use.


I squared up a piece of 3/4″ 6061 aluminum bar stock with the intention of creating a manifold for the mill. I drilled out the interior of the stock with an appropriate drill for a 1/4″ NPT tap that would match all my compressed air lines. I tapped the end of the hole. I then drilled and tapped two 1/4″ NPT holes in the side of the bar for Loc-Line flexible hose. I drilled and tapped two 10-32 holes into the Sherline mill’s Z-Axis spacer being very careful not to clip the internal key slots or center alignment pin. Two 10-32 counter-bored holes in the manifold and machine screws hold the manifold to the mill securely, raising and lowering the air lines in sync the spindle. By using a coiled air hose to feed the manifold from my ceiling air line, everything stays safely out of the way of the z-axis hardware. I only used two Loc-Lines to blow air to the table, but there is room enough for four more on the manifold if I ever needed them. At the start of the Loc-Line I included their variable adjustment to allow me to feed each blower with a different amount of air. A ball-valve at the manifold intake allows me to quickly enable/disable the entire system without losing my pressure settings that I’ve already made on the Loc-Lines.

Air System for Mill





I wanted to make a tooling plate for my mill to give me more versatile holding capabilities. I thought this would be a good project to practice my drilling. After experimenting on my drill press with some scrap I learned a lot about wandering and peck drilling. Like most of my projects this one led to another project: A PeckDrilling plugin for my CNCDroid software.


After truing up some 3/8″ 6061 aluminum stock with a facemill I proceeded to test out the new software. It was a good project to play with for things like dwelling at the bottom of a drilled hole and how far to actually peck and wait before returning the swarf to the top of the hole. It also made me start thinking about some type of directed airflow/blower for the mill as I was continuously hovering with my airgun to blow away the chips from the holes.


Eight 10-32 counter-bored holes give lots of table mounting options for T-nuts, and twelve threaded 10-32 holes give ample locations for clamping screws. To keep the threaded hole free of swarf I keep them plugged with twelve inset machine screws that are only removed when the tooling requires it.






On the bottom of the plate is a 3/8″ aluminum bar mounted as a reference for the mill table edge. This allows for very quick alignment of the Tooling Plate to the X-Axis table of the mill without having to measure. Along the bar are two inset 10-32 machine screws that are used to micro-adjust the plate into exact alignment to the table top. A drop of loktite keeps them from drifting.

UPDATE: I’ve been using some A2ZCNC T-Nuts for this and other projects on my Mill. Of the 12 I bought, I’ve bent/broken 9. Everyone of the TNuts from my original Sherline purchase is still in great shape. I would advise against purchasing the A2ZCNC T-Nuts. Yes, they offer to replace any that break, but why bother with that high a failure rate?


Mill Tooling Plate


I duplicated my Sherline Vise’s existing steel jaws in aluminum 6061. This set of soft jaws is perfect for me since the majority of my work is in aluminum. I matched the dimensions of the steel jaws and their 90 degree grooves, then copied the drilled and threaded holes to match.


SoftJaws for Sherline Vise


Another great idea of Dave Hyland’s that I duplicated. Unlike my other low-profile vise, this version allows clamping in the Y-axis as well as the X. It also allows for clamping much wider objects for greater stability with thinner materials. I used this project to iron out some kinks in my CNCDroid program’s SlotCutter plugin, including counter-boring the slots. I’ve started to notice some rust on my collection of black oxide machine screws. I think I’m going to start using all stainless steel screws from now on. The brass washers add a nice bit of color to all the aluminum 6061, which I left with a facecutter-induced polish.

Update: A fellow metal worker suggested I add a small slot along the fixed jaw to allow for rough edges and debris. I picked up a couple 1/16″ endmills from a local shop for $1.50 each (I had a feeling I’d break at least one at that tiny size!). I then milled out a 1/16″ x 1/16″ relief slot. Better!



Another Low Profile Mill Vise



A YouTube video gave me the idea for this one….an online Sherline Mill user had something similiar that allowed objects to be held on the mill table without raising them up high. This allows more room for tooling and eliminates having to use larger parallels in a normal sized vise.


I milled and counterbored the four pieces from 6061 aluminum. I used a 1/16″ endmill to SLOWLY mill out a 1/8″ x 1/16″ relief slot for debris and rough edges. Those little endmills break very easily. Afterwards I brush-finish sanded it all to a dull luster to help hide the scratches that I knew would be forthcoming.IMG_1009

To keep the adjustment screw from damaging the aluminum I drill a slightly undersized 3/16″ hole 1/8″ deep at it’s contact point on the spacer bar. I pressed a 3/16″ hardened stainless steel ball bearing into the hole and left it protruding by 1/16 of an inch. This give a durable press-point for the adjustment screw to press against.


Low Profile Vise for Mill


After I completed restoration of my bandsaw I needed a method of cutting smaller pieces while still keeping my fingers. I milled down some 3/8″ aluminum plate into a sliding table similiar to that used on a table saw. Some anodized miter bar and a few 10-32 machine screws counter bored into the surface kept everything together. The miter bar has two inset 10-32 screws to allow for precise alignment in the miter slot. I use a couple 1 and 2″ c-clamps to mount small pieces of metal to the cross member during cutting. It’s a very useful addition to a bandsaw and keeps all cuts at exactly 90 degrees.


I drilled and tapped several 10-32 holes into the sliding table. This let’s me use my mill clamps to hole pieces too small to safely hole with my fingers.



Sliding Table for Bandsaw














After seeing Dave Hyland’s Vise Stop I decided to duplicate it. I machined it out of aluminum and brass. I’d never worked with brass before and I really liked the look of the brass/aluminum combined. I soldered the brass knobs onto steel threaded rod for the screws. I knew it would see a lot of scratches to I finished it with a couple decreasing grades of wet sandpaper to give it a “Delorean” brushed look. It works very well, but I noticed that it’s only useful if the milling is being done on a piece that fits within the boundary of the vise. I may have to make an alternate version for larger-than-vise objects….or perhaps make a new stop for the mill table itself.



Stop for Sherline Vise

My vice has toothed steel jaws that were scratching and denting the aluminum parts I’ve been making. I considered making a set of aluminum replacement jaws but realized what a pain it would be unscrewing and re-screwing the four screws to switch back and forth. I had seen someone create a set of soft jaws with embedded magnets so I set out to make my own.

I purchased some1/4″ neodymium rare-earth magnets at a local crafts shop. Then cut some ½” aluminum angle that I had in the scrap bin and thickened one side with some ½” aluminum bar to accommodate the magnets. After drilling holds to accommodate the magnets I used JB Weld to epoxy them into place. A little cleanup with files and they snap into place quickly and easily!

SoftJaws for Bench Vise

Once I started toying with metal in the shop I encountered the need for more serious cutting tools. I had been cutting aluminum with hacksaws and my old craftsman saber saw. I built a jig for holding aluminum bar and square stock and bought a new Dewalt saber saw that was a large improvement but it was still pretty tedious and innacurate.


I spend a few months researching online and came to the conclusion that I should invest in a bandsaw. I wanted something that could handle wood and metal with variable speeds. New I was looking at around $2000. Further research and online discussions led me to see that the new saws are really just cheaper-made versions of saws that were made 20-50 years ago. As one online machinist put it, all improvements for tools like this happened a long time ago and after that it was all about cost savings. It appears he was right as the amount of plastic and cheap parts in bandsaws today demonstrates. The “dream bandsaw” for a lot of online machinists in my hobbyist situation seemed to be the 1959-1974 Delta Rockwell 28-300 Metal/Wood Bandsaw. It had everything you could want in that category of saw. Ebay and Craigslist searches proved it—The few that did appear were sold within short amounts of time and went for over $700; sometimes in terrible shape. After several aborted attempts to buy one online I discovered that the company I work at had owned one and given it to a coworker. It was a stroke of luck and exactly the model I was looking for. I purchased it from him for $400.


It had been kept indoors unlike a lot of the ebay saws and was usable as it arrived but I really wanted to restore it to its former glory. This tool was 54 years old. It had not been kept particularly clean—wood and metal dust on it had hardened to a resin-like consistency. The gear box oil had never been changed and the gear box wouldn’t switch gears without being pried—something that had been done in the past and damaged it. This crud needed to be chiseled off.



First up would be complete disassembly and cleanup. Purchasing a gear puller to make removal of the pulleys and gearbox components easier would help, as would some auto tools such as spring loaded clip pliers.



I used a lot of penetrating oil to cut through the gunk enough to be able to pull off the components. It’s amazing how hard the caked on sawdust and metal combined with 50 years of oil and moisture can be.

Disassembly was not an easy task. The entire saw is HEAVY, probably around 400 lbs. Even in pieces some are too difficult to move without help. Holding a heavy part so it doesn’t fall while working the tools on it was not easy so in some cases I used chain to hold a piece up while I removed it.


Careful arrangement of the parts to avoid misplacing them.



Surprisingly the blade tires were in good shape. No damage, just dirty and after a good cleaning were still useful without having to be replaced. That saved me about $60!



The table had a fair amount of rust that I removed with some Simple Green, phosphoric acid and elbow grease. Gradual sanding with a granite block and dry then wet sandpaper cleaned it up nicely followed with immediate paste wax to prohibit future rust. Every adjustment knob of the table & trunnions was “frozen” in place from lack of maintenance. I took apart every nut and bolt in the system then soaked and brushed them with acetone until spotless.



The gearbox handle, frozen in place from being pried into position with a steel file. This part of the operation scared me the most since there were over 25 parts in there and no documentation. I was very nervous about getting it back together afterwards.

This bandsaw model is unique in that it has a gearbox capable of lowering the speed of the blade to the slower ranges required for cutting metals. There were a couple online examples of people working on the same gearbox but they were always missing the “in between” steps for assembly. It was definitely a learn-as-you-go type of thing. I was careful to label and arrange parts on my benches as I dismantled them. I did make the mistake of labeling some parts with marker only to realize that when cleaning the part I washed off the label. Ugh. Practicing assembling and disassembling the entire thing a few times helps to keep it fresh in your mind and become more of a reflex.


After draining the oil from the gearbox and letting it drip overnight I started removing everything. The oil was pretty thick after 50-plus years of use. I cleaned each part thoroughly with a mixture of Simple Green to degrease it and remove overall dirt, then acetone or mineral spirits depending on the makeup of the part.


Once the gearbox was drained of the old oil I scrubbed it and its components with acetone and washed them afterwards. Since these steel and iron components have been immersed in oil their entire lives they can “flash-rust” if cleaned and left exposed to air for even a brief amount of time. To minimize this, I kept the components in sealed zip-lock bags until it was time to clean them. Immediately after cleaning I coated them with fresh oil and resealed the bags to keep exposure to oxygen to a minimum.




The gearbox is just large enough to get your hand into but still difficult to work within. The razor-sharp metal edges from the original castings signed their name into my hands a number of times.

The gasket for the gearbox had decomposed pretty badly but surprisingly it never leaked. I purchased some new rubber gasket material at a local auto parts store and traced the gearbox onto it to cut a new one.



The oil was the consistency of epoxy in some places. It took a lot of soaking and brushing to get the old oil out of the system. I wore out several old toothbrushes!



Small parts all cleaned and reasy for assembly. My Tablesaw doubles as a workbench for projects like this.



The gearbox main shaft reassembled. 25 pieces in all. I repaired some severe scratches and dings that were preventing shifting between metal and wood blade speeds. Careful filing and wet sanding made it better than new as you could shift speeds with your little finger and almost no pressure. In fact, I later discovered that it was TOO easy to shift speeds—the machine could now drift from one speed to another without pushing the shift knob! I roughed up the surface of the shifter shaft a tiny bit to fix this.



The steel base of the saw had some severe surface rust around the bottom and corners. I removed this with a power drill and wire wheels, grinding off everything that was loose through the paint. Then I power sanded down to bare metal areas around the rusted zones. Structurally it was fine and the motor was in great shape and ran smooth. The power switch was original and difficult to adjust so I took the opportunity and rewired all the internals and replace the switch with a safer version for a power tool.



I then masked everything off and painted. The base I airbrushed with a dark gray/blue custom mixed from various Rustoleum enamels to get the color I wanted. I really like the Rustoleum brand and it dries very hard to provide a lot of protection. It does need to be thinned a bit to get through the airbrush smoothly. It was important to me to preserve the original metal labels on the saw.



Five coats airbrushed on with drying time between each. It’s important to let the paint cure for a week or two after drying to avoid easily scratching it while assembly.



The cast metal parts I brush painted by hand. Because the brushing can be done with thicker, unthinned paint only 2-3 good coats are required.



Reassembly begins, from the ground up since it will get heavier as I go. This is when I realized how difficult it would be to move once put back together. In another bout of “sub-project” I stopped on the bandsaw to build a heavy duty wheeled base for it. Some painted studs and heavy locking wheels later I had a base to build upon.



After carefully reassembling the jigsaw-puzzle-of-a-gearbox I purchased two quarts of 85W-140 gear oil and filled the gearbox, watching carefully for leaks. Not a drop (whew)!



I reattached the pulleys, rear shields and tensioning apparatus hardware.



The wheels went on next. The original bearings did not need to be replaced which was nice because it saved me about $120. The covers I painted a different color to stand out a bit. The saw was missing it’s original Fence. After a bit of research I purchased a Kreg bandsaw fence. It fit the saw perfectly and was highly recommended, not to mention it was a cool blue anodized aluminum!



During assembly I dropped the gearbox housing frame onto the concrete floor of my shop. Two of the welds in the steel broke. A friend repaired it for me with a little welding and after some more paint I reinstalled it. The metal clips that originally held it to the chassis were missing so I drilled some holed and bolted it into place properly.


One of the original belts was missing. This model can operate with both belts on at the same time as the gearbox shifter determines which belt is in use for all but two speeds. No matter what I tried, I could not get the motor tension set so that both belts would be set properly at the same time using the recommended belts. I switched from a rubber belt to an adjustable link-belt for the second one in order to finesse the size until it worked perfectly. The link belts are more expensive than they should be but worth it to get a proper fit. Contrary to popular belief they don’t seem any quieter than a normal belt. I think that’s a myth started by someone who had old belts that were “set” into place, then “throbbed” as they hit their flat spots on the way around the pulley and caused vibration.


I picked up a new bi-metal 8 TPI blade for the saw as well.



Another project-within-a-project: To cut down on the amount of dust and metal chips getting everywhere I created a “debris catcher” for the bandsaw. It seems like 90% of the debris is right after the blade cuts the material (naturally). I roughed out with cardboard and box around the blade immediately beneath the table. It encloses the blade almost entirely where it exits underneath the table and bolts into place. I then traced the cardboard onto 1/8″ acrylic sheet and welded it into shape with acrylic glue. Nasty stuff, that acrylic glue, but not as bad as MEK cement. I attached a rubber adapter for my shop vac to suck out the debris during use.


The vacuum attachment works GREAT! Very little debris makes it past. The little that does falls out the bottom of the bottom blade cover and is easily swept to the floor. It does make me want to build a quieting enclosure for my shop vac!



I’m extremely happy with this project! It runs as well or better than any bandsaw I could have purchased new and cost me about $150 in parts not including the fence. It is very quiet and has been cutting metal like a dream. I learned a lot during this project and am considering restoring some other older tool because of it.

Bandsaw Restoration

Knowing that I was planning build a CNC milling station I set about building a bench for the system. I framed a bench from 2x4s. For this bench I used all biscuit joinery for the added strength but without the added labor of lap or mortise & tenons. Besides, most of it would be covered up. Love those Bessey clamps!

I covered the top with a nice piece of single-sided birch plywood. After three coats of sanding sealer and a mineral spirits wipedown to avoid dust, I coated it with just under 1/8″ of Bar Epoxy to give it a very hard, glass-like finish. You have to spend some time making ‘dams’ out of masking tape to prevent the epoxy from dripping off the edges but it was worth it. It came out really nice. I purposely left the edges of the table 1/8″ wide because I expected the epoxy to adhere to the masking tape in a meniscus…..the overhang meant I could sand off the ledge and get a perfectly level edge.

Shop Projects

After installing the new bench I added my newly refinished and painted bench vise. I installed some great plastic pegboard I found that is modular in 18×18″ pieces. I HATE that old cardboard pegboard stuff and the hooks that always fell out. I set about trying to find decent hook and found a few online dealers that sold them for $7 each (!). I decided to make my own so I built a prototype from styrene rod that I heat-bent and epoxied into a proper shape and thickness.

I then cast the prototype in silicone rubber and cast 75 positives in plastic resin.

When finished then fit perfectly into the pegboard holes, don’t wiggle or fall out, and stay in place when tools are removed. When my neighbors saw them they wanted some of their own!

New hooks and shelves, and some custom yard tool holders to neaten up the walls.

New steel shelving and rubbermaid storage boxes for plumbing, electrical, painting and other supplies. Airtight, so no moisture issues.

New wall mounts for sawhorses and my homemade crosscut sled and taper jigs for the table saw.

I recently rebuilt (correctly) a harbor freight x-y vise. After milling and finishing the ways properly and some fresh coats of enamel paint I built a mounting table for my drill press with it.

Finally cleaned up! From left to right–Jointer, grinder awaiting it’s homemade stand, router table, drill press with xy table….

Back wall and right–Shelving, bench, tool storage shelves, jigs,hand and power saws, tablesaw and compound miter saw. All with plenty of space between them and work space.

Now I can start building my CNC mill.

Shop Projects

After ripping the old bench from the garage I wanted to build a new sturdy replacement similiar to something I remembered my grandfather had built. I salvaged two 8 foot 2x12s and a 2×8 from the old bench that were covered in paint, oil, nails, holes and other materials. I also purchases a few good quality 2x4s and four nice 4x4s for stock. I was determined to challenge myself and build the bulk of the bench with no metal using only wood joinery techniques.

I started with leveling my sawhorses perfectly using two cross-strings.

Working on the bench inverted, I clamped the 2x12s and 2x8s together and framed them to a layer of 2×4 to give the benchtop a very strong surface. I used some screws in addition to the clamps for temporary holding while all the glue set. This gives the benchtop an effective thickness of about 3 inches but still has room around the edges for clamps and dogs.

Using the table saw I notched out the lap joints on the 4×4 legs. I then chiseled out the remainder of the wood.

Lots of leveling, squaring and clamping during the gluing stage to make sure nothing drifted. Only one spanner across the back of the bench because I’ve always hated hitting my knees on structural supports on the front of benches.

It sure was heavy when all together!

Although the lap joints are very strong I wanted some added strength. I drilled four 5/8″ holes through every joint and hammered in hardwood dowels with glue. It gives a nice look and a little added strength. I then power sanded the dowels flush.

The benchtop surface has a lot of wear and tear from 20 years of abuse. I chiseled out any rotted wood metal fragments then filled in the holes with an epoxy based wood putty.

Next came finishing. I hand-planed the roughest of the benchtop flat, then orbital sanded with three grades of paper from course to very fine. I used a compressor to blow out the dust between passes. My lawn was covered in sawdust because I did it all in the driveway. Good fertilizer!

After sanding and a final cleaning with mineral spirits to get out the last of the dirt and dust I applied one coat of sanding sealer, another fine sanding, then three coats of oil-based poly urethane to the legs and frame. The benchtop I gave 6 coats of oil-based poly urethane and fine sanding and mineral spirits between each coat, finishing with wet sanding. The result is a very hard but not slick benchtop that is very smooth. The urethane adds a little reddish tint with each additional coat similiar to a fresh cedar look. I was very happy with the finished product.

Shop Projects

I’ve always hated drywall….and in a garage it always seems to be dented, the taped seams come apart because of humidity, and it generall doesn’t hold up well. I decided to to the walls and ceiling with OSB. A hurricane in Louisiana drove up the price from $5.65 a sheet to $17.50! I stalled and worked on other things until it came back down the the “reasonable” price of $9.00 a sheet. 55 sheets took a while to move from the driveway into the garage by hand and my lovely wife helped with the task.

The ceiling would have been impossible to do by myself, so I enlisted the help of my brother in law for a fast-paced day (Thanks Brian!). 10 Gallons of Gatorade later in the 95 Degree heat it was done.

The walls took me some time since I was working by myself again at this point. I built a jig to help me place sheets at the correct height on the walls. Power screwdrivers are a godsend (yes, screws. No nail pops in the future!) Then caulk for any gaps in the wood.

If I’d known how much paint I was going to use I would have invested in an airless sprayer. Seven gallons (two thick coats) of oil-based Killz to seal the wood–OSB is like a sponge. Lots of people complain about the smell of Killz–I didn’t even notice it.

Next comes two coats of latex eggshell white. Then a waist-high blue-gray coat to the ground. This is the area you just know you’ll bump into a lot so the gray will show it less.

All the sockets and switches were installed and I placed 8 new electronic, low temperature T8 fluorescent fixtures with 16 bulbs for nice even lighting through the entire area. No more flicker when the temps are low!

Shop Projects

As I was climbing around in the ceiling I made a few discoveries.

The garage has a span of 34 feet. The previous owner had built the garage himself and obviously didn’t know a lot about construction. The main beam running the length of the garage consisted of a 16 foot 2×10 and a 2×8 in an L-shaped beam. Both were butted against another pair in the middle of the span–so that was actually no support in the center of the garage as though the beams weren’t even there! I measured and sure enough there was a drop in the center of the roof by about 7 inches.

I was a bit concerned that the weight of all the new lumber I was using to finish the ceiling could be supported by the structure, so the newest project becomes structurally reinforcing the roof.

I consulted my brother-in-law who has built houses in the past and he made some recommendations. After jacking up the center of the roof to level the ceiling I set about reinforcing the existing beams with four new staggered 2x12s, all bound together with construction adhesive and screws. I then recentered all the warped ceiling joists and reinforced them with hurricane brackets.

Since the roof itself should bear some of the load, I installed trusses on every other board to the roof.

Fun with rough carpentry!

Since I did all the work myself, this was all a very slow process. A little work each night after getting home.

When I finally released the jacks, the ceiling only settled by 1/2″ after a few weeks. Not bad at all.

Shop Projects

I had intended to replace the old fusebox the previous owner had installed. At that point I decided to replace all the old wiring, sockets and switches. New, larger quad sockets over the future bench, and unswitched power sockets along with new switched sockets in the ceiling for additional lighting. Estimates for just the new breaker panel were $700-800! Outrageous! At that point I decided to learn a bit more about sub-panels and do it myself. Total cost, $200 including the wiring.

The old fuse box…

New sub-panel….

New wiring all in place. Foamed in air leaks in all the walls and floor, caulked floor seams and filled concrete seams (easier to sweep out now).

Shop Projects

Rip out the old crap in the attic (junk from previous owner), wooden shelves, old storage cabinets….

Worst part of this project was that I couldn’t empty the garage to make it easier to work in. I had to constantly move things around depending where I was working. Shift everything to the right, work on the left side. Shift everything to the front, work in the back.

Here it is at the point of maximum mess!

Shop Projects

My unfinished garage, built by the previous owner of the house, has served as more storage than anything else. Being almost two cars deep I used the front half as my workshop. I decided to undertake finishing it into a decent shop. Like all projects, discoveries along the way led to more work and the project stretched out over the entire summer.

Here’s a few ‘before’ pics….

Original bench nailed to the wall made from some old 2x12s and 2x4s. Plastic hanging from the ceiling from old leaks. Old magnetic ballast fluorescent lights. 80,000 4″ nails coming through the walls from the clowns that did the siding 17 years ago. It was a pit.

Shop Projects

I needed an XY table/vise for my heavy drill press. After researching online some machinists steered me towards purchasing a Harbor Freight model with some caveats–these things are crap as they arrive from China. The ways have milling marks that are at least 1/32″ deep on almost every surface! Smooth motion was not in this thing’s vocabulary. Granted, I don’t expect it to be CNC-quality smooth but for $69 US  it could have been better.

I dismantled the entire thing down to the screws and toothbrushed it with acetone to remove the nasty packing grease. Even the leadscrews had some bumps on them that were preventing smooth rotation. A file took care of the leadscrews. I then took a metal block and worked through descending grits of sandpaper from course to 1000 wet to smooth the ways. WD40 helps the wet sanding as it’s important to keep the paper clean.

Even the gibs were pretty rough and gib screw holes had metal flash on all of them that was scraping the ways. These received a good cleaning & sanding as well.

Another cleaning with acetone to remove all the fine grit I generated caused some of the cheap paint to come off the metal. A bit more degreasing and three coats of Rustoleum enamel Red and the vise is reborn in the USA.

The original milling marks can still be seen…short of milling it myself I could not totally remove them. That’s okay because too much metal removal would have made the slides too loose. The amount of material removal I did made things much smoother but still allowed the gibs enough control to be useful.

Shop Projects