Author: <span class="vcard">admin</span>

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

A sidebar here of some of my thoughts on software development over the last decade……

In the old days, when a user ‘bought’ a copy of software, you were then able to use forever. You owned it (technically, you owned a ‘license’ to do so, but that’s a detail) and that was the end of it. At that point, the company could improve upon their software and sell you updates with more features. A very simple relationship emerged from this delicate balance….they offer new things, you can chose to buy them. The converse of this is that they don’t get more money from you unless they create desirable feature. A simple check and balance system that worked well for decades.

Now, most software reaches a point in its development where it really ‘does everything it need to do’. Yes, yes, there are always other things it can do, but they can run out of primarily desirable and sell-able things to add. The application reaches a state of equilibrium, and development slows. Then people don’t buy updates, and it continues like this. A software developer then faces a choice: Stop developing something they aren’t making money on or get more creative about features. Many times this is why a software application disappears and a company goes out of business. No one buys it because it doesn’t do what they need, or doesn’t continue to add what they need.

These was an era I refer to as B.A.

Before Adobe.

Adobe (makers of Photoshop and a zillion other applications) began implementing an idea. And yes, before you try to correct me, there were others before Adobe but they are one of the most obvious at the time. The idea is simple and brilliant and fixes everything that is wrong about the previous software era from a business standpoint. If they didn’t, someone at Adobe should have gotten an award for this idea, which basically says…..

“We currently charge someone a large amount for purchasing our application, then a tiny amount every few years as we add things they want. Instead, what if we charge them a slightly less amount up front to make it seem like a great deal, but then charge them that same amount every year forever, and if they stop paying us the software stops working?”

Call it renting, leasing, whatever you want. You would have to be an idiot not to see the financial advantage this gives a software company. You must pay for every day you use our application, whether or not we add value to it. True, you can always switch to another competing application if you can find one. Ever wonder why software companies buy each other up?

Within a few years, most of the software my company used (and myself) began switching to this model (I called it the A.A. era, for After Adobe. In my opinion, software features & enhancement has never been as good for the user as it was in the B.A. era of development and will never be so again.

A Change in Software Paradigm

You were a good friend, but the time has come to move on.

Between work and home, I’m involved in a lot of things that require a fair amount of organization. My organizing applications have gone through several cycles…..

  • Datebook+ on the Palm Pilot and later compatible hardware. This application had a feature called ‘floating events’. If you placed an event on tomorrow’s date but didn’t complete it, the event would move to the current day each day, causing them to pile up and making it very obvious you were falling behind. You could easily move them into the future to reschedule things.
  • When Palm went under, I move to Outlook. While Outlook has it’s strengths for integration between mail, reminders, calendars and other data, I hate Outlook’s UI and email interface in particular. The difficulties in showing a properly threaded email tree (NOT what they call a ‘conversation’ thread) are painful to endure.
  • Today, things are a bit convoluted. I moved to Thunderbird IMAP for email a long time ago and can not imagine switching to another email program. I can use it on multiple machines and my mail stays in sync. Since I have an iPhone, iPad and Windows PCs, the only way to have synchronized, consistent reminders was using Outlook and the iOS Reminders applications, since they all can synchronize to a Microsoft Exchange account. iOS Reminders has only one feature I like, and that’s the ability to add items to it fully by voice (Siri) and not use any buttons. Since I am forced to use Gmail for work, I resort to using it’s calender as well.

I stumbled across Workflowy online one day while looking into outlining applications. It was the least expensive of it’s competition and I immediately loved it’s simplicity. I purchased a subscription and immediately began using it to replace my Reminders application.

I quickly discovered that the ability to outline (hierarchically) my information was very powerful. The only things lacking (for me) were date support, notifications (Hey, this is due now!) and Siri voice support for quickly adding items.

But what Workflowy did bring to the party was worth it for me. I made some suggestions, discovering that I wasn’t the only one clamoring for dates, notifications and Siri support and contributed to those ‘feature requests’.

Workflowy did add date support over the last few years. I and other continued to suggest other feature support. A few time over the years, people suggested (myself included) that perhaps workflowy’s development pace had slowed, as we never saw any of the things we requested, and Workflowy didn’t do a very good marketing job of ‘announcing’ them when they did.

I recently added more comments to a thread on Workflowy development to which a few people agreed. Like most online discussions, some didn’t, including a Workflowy employee. It was implied that development of the features we had been suggesting wasn’t on the table, yet no one had told any of use who had been asking for years. Of course, the developers are under no real obligation to tell anyone what they are planning, but since this was an active discussion it seemed like we were being a bit mislead. All the discussions were very professional, both from Workflowy and users such as myself. I decided to look outside the Workflowy box for alternatives……there were several, among which I discovered Dynalist. It did most of what Workflowy did, was a little different and was a bit more expensive, but had a very open dialog with it’s users about features, planned items, and development seemed to move quickly. This was very noticeable by a history they keep online of features and versions as they are added. Development seems constant (monthly blog updates), whereas as every couple years I would hear that Workflowy was ‘reorganizing’, ‘hiring all new people’ or some such thing. This stuff happens, to be sure.

I was offered a chance to join a Workflowy beta program but I passed. The moderator then locked the thread for any more comments by anyone. Why? To prevent anyone else from expressing disappointment or debating the topic? The thread had been open for three-plus years.

Why did I pass on joining the beta forum? I was told that I could join if I “behaved myself”. Until now every post was all professional, if disappointing….But that last part pissed me off.

I cancelled my Workflowy subscription the next morning.

A sidebar here of some of my thoughts on software development over the last decade……

In the old days, when a user ‘bought’ a copy of software, you were then able to use forever. You owned it (technically, you owned a ‘license’ to do so, but that’s a detail) and that was the end of it. At that point, the company could improve upon their software and sell you updates with more features. A very simple relationship emerged from this delicate balance….they offer new things, you can chose to buy them. The converse of this is that they don’t get more money from you unless they create desirable feature. A simple check and balance system that worked well for decades.

Now, most software reaches a point in its development where it really ‘does everything it need to do’. Yes, yes, there are always other things it can do, but they can run out of primarily desirable and sell-able things to add. The application reaches a state of equilibrium, and development slows. Then people don’t buy updates, and it continues like this. A software developer then faces a choice: Stop developing something they aren’t making money on or get more creative about features. Many times this is why a software application disappears and a company goes out of business. No one buys it because it doesn’t do what they need, or doesn’t continue to add what they need.

These was an era I refer to as B.A.

Before Adobe.

Adobe (makers of Photoshop and a zillion other applications) began implementing an idea. And yes, before you try to correct me, there were others before Adobe but they are one of the most obvious at the time. The idea is simple and brilliant and fixes everything that is wrong about the previous software era from a business standpoint. If they didn’t, someone at Adobe should have gotten an award for this idea, which basically says…..

“We currently charge someone a large amount for purchasing our application, then a tiny amount every few years as we add things they want. Instead, what if we charge them a slightly less amount up front to make it seem like a great deal, but then charge them that same amount every year forever, and if they stop paying us the software stops working?”

Call it renting, leasing, whatever you want. You would have to be an idiot not to see the financial advantage this gives a software company. You must pay for every day you use our application, whether or not we add value to it. True, you can always switch to another competing application if you can find one.

Within a few years, most of the software my company used (and myself) began switching to this model (I called it the A.A. era, for After Adobe. In my opinion, software features/enhancement has never been as good for the user as it was in the B.A. era of development and will never be so again.


A Custom Keypad Project

Background and research

As software has become more complicated the need for faster access to key functions has become critical to working quickly. Autodesk’s Flame software had always been a forerunner in ultra-fast user interactivity because of its use of a pen to navigate a user-interface that never involved more than a few clicks to get where you needed. Several years ago, a re-write of Flame (IMO) was necessary for various legacy reasons that included major user interface changes. Unfortunately, this added the Windows/Mac functionality of right-clicking to bring up additional functions. Although I realized the necessity of this to add UI “real-estate”, I’ve never been a fan of right-clicking because of the extra time involved–i.e. right-click, have to read each entry until you find what you want, slide to the right, read each entry until you find what you like, etc. It is a dramatic reduction in speed of navigation that totally disrupts the “muscle memory” user interface that Flame was known for previously. Please don’t misinterpret–I have a lot or respect for the developers who built the Flame UI, but personally I would have gone another way than the method of using right-click popup menus.

As more functions appeared in Flame (and other software) the use of Hot-Keys to quickly navigate became more important. Remembering those hotkeys has become (strangely enough) more difficult. Over the years, various hardware macro devices (X-Keys, Plank EZ, Tangent, X-Keys, Falcon Max-Keys, etc.) have appeared to help by adding custom keyboard-type devices to help with these functions. There is a certain amount of irony in that the big iron of large video switchers, DVEs and other devices with custom user panels was replaced with mouse & keyboard driven software, only to later require the capabilities we already had years ago in a larger hardware user interface.

I have owned several customizable macro/keyboards over the years and always found them lacking for various reasons of my own. Some of these include….

  • Many custom keyboards are “horizontal” in layout, i.e. Planck, Preonic and other split-keyboard type systems. With a graphics tablet on your desk horizontal space is at a premium.
  • Most commercial systems require OS-specific drivers, i.e. Tangent, X-Keys, etc. This leaves you dependent on drivers, updates, compatibility and other things that break at a moment’s notice especially when there is an OS update. This also limits the device on which they can be used if there is no driver for the OS on said device. Lacking a Linux Driver prevents these devices from working with Flame Linux.
  • Some of the best keyboards involved buttons with “display” on the individual keys. Examples of this include Infinitton and StreamDesk. At first this seems like the perfect solution, involving the ability for keys to have “layers” of functions that you can visualize quickly. Unfortunately these devices usually are not truly “buttons with displays”; they are transparent plastic keycaps through which you can see a single large LCD panel underneath that show you the images. The company for which I work has this type of device in our Fairlight Audio systems. I can tell you from experience that the keys and their rubber seals and components have an extremely high rate of failure when used often. The buttons also feel “spongy” and not anything like a normal computer keyboard. This is another failure of many macro keyboards–a feel that is very different from a normal keyboard. C-Keys is another examples of ‘mushy’ buttons.
  • There are some smaller macro keyboards that store their configurations internally. Falcon Max-Key devices are examples of this. They work well, but are built more for the hobbiest than heavy use, lacking proper cases and durable physical USB connections. They do present many nice options for key switches in terms of tactile vs. silent vs. clicky types.
  • Gamer Keypads are interesting but don’t apply well to my needs. Most require OS-specific drivers. These are usually more focuses on looks than overall function.

After learning quite a bit about the possibilities, I began looking into designing and building my own custom solution.

My workstation layout involved a chiclet-style wired mac keyboard (butterfly switches) on a Linux/Windows workstation with a large Wacom graphics table placed above it. I’m left-handed, so this leave me more space on the right side of the tablet near the mouse. I am then able to quickly move my hand between the mouse and keypad with minimal distance travelled.

My main requirements included:

  • Vertical layout to allow placement between tablet and mouse.
  • “Thumb Section” for a meta-key such as Control or Shift for a left-handed artist such as myself.
  • “Primary Section” for the most often-used keys to avoid searching that would be accociated with a display or those keys’ functions.
  • “Secondary Section” for less often used functions with buttons that would be labeled.
  • All code self-contained within the system without drivers or external OS-specific applications. This would make it truly portable.

I considered adding several optical encoders with knobs for dial-type functions but decided that those might be better served with a separate box in the future.

The various parts of this project included…..

The Display:

I considered having a tiny OLED display for each button for best labeling of the keys. This allows the most flexibility in layers of keys and the ability to change everything purely by software. However, testing with the smallest OLED display I could find led to many issues, such as….

  • .9 Inch OLEDs are expensive, and the circuit boards to which they are attaches add up to far too much space around them, limiting the closeness of the buttons. Most of they also use hard coded addresses, making it difficult or unwieldy to have dozens of them in a system without tying up many processor IO pins. They are also subject to burn-in relatively quickly. They do look nice, though.
  • Multi-Row LCD character displays are also too large and don’t have high-enough resolution to display more than a few characters per key in my configuration.
  • OLED Switches. I’ve tested several of these at trade shows. They are very tall, blocky, have a terrible feel for a keyboard and are VERY expensive—usually$30-$90 in bulk.
  • TFT LCD Displays. These seemed like a good compromise. These is some wasted space around the borders for circuit boards, but could be obtained in 3-1/2” screen that had good resolution and color, SPI and I2C controllability and low cost at less than $I2C controllability and low cost at less than $40.

After trying each of these I settled on the TFT LCD. At the design distance of approximately 18-24” inches from my eyes, these are very legible. The Display helped dictate the overall layout of the Keypad.

Early display tests. The AdaFruit TFT gave decent contrast and a backlight that could be manipulated with pulse-width modulation, something I wanted to incorporate into my software to cut down on screen burn-in and wear.

The Layout

  • With an upright display and the information that would fit on it at a given time, I decided to make the keypad have three main ‘sections’. The top would be keys that could be labeled with more or less permanent functions. The middle section would be keys with no labels, but their function would be displayed on the LCD, allowing me to change their functions via ‘layers’ of macros. These would be color coded to the display. The bottom section would be a Thumb switch for meta-type functions such as shift or control.

Switches & stainless steel mounting plate

The laser-cut plate, matching my CAD Template

I elected to use a stainless steel keyboard plate to hold the switches for maximum stiffness. I drafted up a properly dimensioned CAD for the plate in Rhino-3D with all the proper spacing for switch holes and sent it to a company in Spain that laser-cuts 1.5mm stainless steel plates. All the wiring would be done by hand by me under the plate-mounted switches. This is a good compromise for a one-off project such as this. It would have been interesting to have a service created a circuit board created by me, but not worth the expense for a single device.

I built a small switch tester to try various types of MX formate switches until I found one I liked. My original SparkFun Pro Micro processor before I abandoned it for the better Teensy 4.0

Installation of $70 worth of switches
After wiring up all the individual diodes and matrix wires to a DIP connector. Lots of soldering and continuity testing.


XDA keycaps give a bit more room for labeling and are a nice design. I considered molding my own lower profile keycaps from resin but it seemed unnecessary since I could not find lower throw switches that I liked. By avoiding “row-based” standard keycaps for keyboards I was able to avoid needing specific keys for specific rows which helps with my vertical layout. All keycaps are physically identical. XDA keycaps are very difficult to find in specific colors, and white individual keys were extremely tough to find. I tried dyeing the keycaps but settled on painting them with a thinned enamel to get the exact colors I wanted. I tested water-slide decals and vinyl labels for the permanent keycaps as well. My final paint tests led me to a mix of enamel paint to get my desired colors, and a clear coat of plasti-dip liquid rubber to protect the keys and give them a tacky feel.

Toothpicks make perfect keycap holders for painting and drying


I prototyped with an Arduino Pro Micro but it didn’t have enough digital IO pins. I didn’t want to complicate things with io expander chips. I then ordered an Arduino Elite-C since it had more IO. This was a mistake. I could find no documentation for it and the companies distributing it had none and would share no additional info. I then locked into the Teensy 4 microcontroller. More or less compatible with the Arduino type controllers, it has much more IO, more memory, is far faster and an overall more versatile chip. As I frequented the Teensy online forums, I found the members (and designer of the Teensy) professional, extremely willing to help and overall had a wonderful experience learning the chip and its nuances. There are also several versions of the Teensy hardware available. I recommend it highly.

Underneath all that breadboarding lies the heart of it all….a Teensy 4.0. I added a MicroSD card via SPI to contain persistent variables and settings. This allowed later functions such as a screen saver, brightness controls, and being able to lose power without losing preference settings. During testing I encountered lots of noise and added a few 10uf electrolytic capacitors. The high frequency of the Teensy and communications with the LCD display were causing some intermittent lockups of my software. The LCD wasn’t quite up to the refresh rates I could achieve. There was also a bit of noise being introduced due to the long wiring on the breadboard. Backing the refreshes down a bit and adding the capacitors fixed the problem.

Final circuitry taking shape on the final board. Keyboard ribbon is attached for testing. I trimmed down the PC board even further so I could shrink the case a bit more. Since this was a sandwich with the LCD display, ultimately I could shrink it no further than the display.

Programming Environment

As I approached the project I started using the Arduino Integrated Developer Environment for the first time. Ugh. What a horrible excuse for an IDE. I explored several others, both commercial and free. More Ugh. Some were barely supported, others were so complicated to set up that you needed to spend more time on that than developing. What I really wanted was a duplicate of the Microsoft Visual Studio.NET IDE. There were plugins for the VS IDE for Arduino but they were all pretty horrible. Then I stumbled onto PlatformIO, a plugins system for Visual Studio Code. VS Code is similar to VS.NET. It isn’t nearly as nice as VS.NET but it’s the closest I could get. VS Code suffers from what I think of as the need for developers to turn solid applications into Web-type apps, with links instead of buttons and more of an ‘online look and feel’. I setup PlatformIO with VS Code and it was the best choice I could get for C++ development on the Teensy. The C++ was overall fairly standard and the object oriented aspects of the Teensy/Arduino platform feel familiar if you’ve done C++ programming before. Once you’ve used Visual Studio.NET for as long as I have, anything else seems like going back to the stone age by comparison so it was well worth the investment in time for learning PlatformIO/VSCode.


I wanted to avoid OS-specific compatibility problems and that meant not having to use OS-specific drivers. Therefore, all the software and key information would have to be kept within the embedded processor. There are several keyboard apps and libraries out there for Arduinos but my experience with open-source always has me “chasing” other people’s updates or sacrificing my features. I decided to write the entire embedded processor application/code myself. This costs me maximum work up-front but gives me the ultimate in flexibility in the long-term. I attempted using some of the Arduino keypad libraries but had to modify those libraries because of several limitations I found. Most of the time I found I benefited from investing the time in writing my own libraries whenever possible. There were also some bug in the open source Keypad.h libraries that had trouble with certain size matrices of switches, so I customized those a bit to match my layout.


This became a bit of a project unto itself. I originally wanted to mill the entire case from a billet of aluminum 7075 and make some Titanium accents for the corners. However, my Sherline CNC Mill was a couple inches too small to work the metal, so I switched to Wood as the primary material. I’d never worked with Black Walnut before so that was a good place to start. A lot of woodworkers shy away from walnut that has sapwood in it, but I really liked the look of the lighter wapwood streaks through the darker heartwood. I wound a few pieces that had this nice contrasting streak through them for the top panel. Most of the case is 1/4″ and 1/8″ Black walnut. I started with a foam board mockup to nail down the sizes, then CAD refined it in Rhino 3D for measurements. Most of the cutting was done on my bandsaw and details were milled on my Sherline Mill or chiseled by hand. Attachements were made by using epoxy on captive stainless steel bolts and all other hardware was stainless steel.

Foamboard mockup for determining the case shape.
Lots of CAD refinement. I didn’t want the case any larger than absolutely necessary. Desk space is very valuable.

At the top is the first version of the case I made. It was just too crowded for the equipment and didn’t allow for my hand to get inside for final wiring. Below is the slightly larger version beginning to take shape. Don’t for get to allow for space to get inside for assembly!
Recesses for hardware, USB Jack and other gear were done with Forstner bits on the drill press or using a 1/8″ Endmill on my mill.
Display & Circuit board sandwich attached to the front of the case
Final circuit board and display system from the business end
All stainless steel hardware was embedded into the walnut after being roughed up a bit then buried in epoxy and sandwiched between more walnut for strength.
Assembly of the base was done with 2 hour epoxy for strength. That stuff seeps into the wood for a very tight bond. I filleted all the joints afterwards, being careful not to contaminate the exterior surface that would be stained later. You can never have enough clamps.
Test fit of all hardware and the case with a few keycaps in place. I learned the hard way that removing a keycap can ‘gut’ a switch, pulling our all of its internals. I was glad I bought a dozen extra switches when that happened.

Case Finish

The final finishing of the case was quite a process. Here is what was involved:

  • Disassemble everything, being careful to label all hardware and pieces.
  • Reassemble all the wood case (without the switches and computer hardware) for final sanding to avoid dust contamination of the switches and display.
  • Medium sand all wood to 150 grit and round sharp edges.
  • Wet all surfaces with distilled water to raise the grain, waiting 4 hours to dry.
  • Another light sanding with 150 grit to smooth.
  • Scrape all surfaces with hand scraper for clean, sharp cut wood fibers without plugging the grain as can be caused by sanding.
  • I then dyed the walnut with a mix of 90% alcohol and a tiny amount or dark orange dye powder. This gave a hint of warm tone to the wood.
  • Now a finish coat of General Finishes Arm-R-Seal satin oil topcoat. I brush this on thin, then wipe the excess off after 2 minutes of soaking in. Like most Oils, this adds a bit more yellow/warmth to the already dyed wood. 3-4 coats of the oil are applied like this, each brushed on and wiped off with 24 hours between each to dry completely. In addition, I wet sand between each coat with wet sandpaper and mineral spirits very lightly to remove any dust bumps. No sanding after the final coat of oil is needed.
  • After the final coat, the case pieces are left to cure in a dry room for a minimum of 2 weeks. Oils take a long time to cure.

Final Assembly

All the internal components enclosed within the case.
…and after the painted keycaps have been attached. The clear plastidip on the keys give them a nice flat “grippy” feel and protects them from scratching.


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 written in Sept. of 2014, this entry has been re-written and updated to reflect current changes)

A little history first….


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 it 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 for several months to understand the processes involved. I bought some stepper motors and a Gecko G540 driver and built my own controller to run it. The ‘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 the several months writing code for Mach 3 on my Sherline CNC Mill and making small parts threw my hands up in frustration. 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 operating system or machine that is very old. Perhaps they are also fine with the integrated, incredibly buggy and horrible excuse for a “macro” programming language that is Cypress Basic.


I am not one of those people.


Bad user-interface designs and choices are among my pet peeves, especially when they are never improved upon for “legacy excuses” such as “people are accustomed to it”. 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 Mach4 from Newfangled Solutions. I’ve been hearing about this updated version for YEARS and how it was “right around the corner” (their words, not mine). It was going to support VB, 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 or Python (if they require multi-OS support) is beyond me. When Mach4 announced that it would only support LUA I decided I’d had enough of them. It was time for a better and more flexible CNC application for me. As of this writing they have announced a Pre-Release, PreBuy Hobby Version that has no motion control still. 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. 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 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, 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 to communicate with the KFlop, which spoke to the Gecko G540 to drive my stepper motors for the mill.


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 should exist in the documentation) and adding more example projects would help a lot. There are a few C#.Net and VB.Net example programs and they help, but they address only the basics. Despite this the overall value of the hardware is fantastic.

If you are going to program the KFlop, the main example program is an application in C++ called KMotionCNC which serves as a pseudo-replacement for Mach3 running GCode. If you program much of the system is understandable but it takes some time to figure it all out. If you are not a programmer you have a lot to learn. The hardware initially requires 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. This took a little doing.

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.
  • 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.
  • 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. As I write this in August of 2014 I’ve 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 4 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 my Skeleton Framework code that I’ve used 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 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 titles MillDroid because it was specifically for my Mill, I’ve since added a Lathe. 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 blocked out the User Interface into the following modules and began building them:


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.

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.


This is 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 around manually and add key frames at any time, recording everything or only changes in certain axes depending on my needs.




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 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 Undo/Redo functions would be.



A 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.


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.




The CustomTool buttons presents options for my “plugins”. 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 several. 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 GCode file log for later perusal. 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. 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 as a file for later use.

You will notice that some of my CustomTools, such a PeckDrill, perform operations that can also be done with GCode. Sometime I write my own custom tool 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 Thread Maker CustomTool allows me to mill threads using my rotary table as a fourth axis on the mill. This is now pretty obsolete, as I have added an optical encoder to my Lathe and am now working on writing some threading code.



SlotXZ cuts adjustable length slots


The ProfileRepeater takes an existing GCode file and repeats it over multiple depths. Handy for cutting a complex shape into thick stock.




PeckDrill perform a drill pecking operation, preventing the bit from clogging. I was tire of cranking the z-axis up and down and up and down…..




InterpHole drills interpolated holes using end mills or any size. I had fun working out the math for this one….




I used the alpha and beta phases of my MillDroid software to create a bunch of additional 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 Camera Form shows the output from a small microscope camera that I can point at the cutting operations. Much easier than holding a magnifying glass close to dangerous operations.


A CalculatorForm allows for quick calculations with a memory for checking later. It is the little things like this that make things easier.


This one was fun. The VisualizerForm provides a graphical representation of the Mill positions relative to the stock and table. I’m working on making this a 3D perspective view and adding Lathe functionality as well. I was able to re-purpose some of my older graphics code from my SubSpace projects. Never throw anything away.




CurvesCustomTool started as a quick drawing tool for milling directly from a drawing. It snowballed into a curve-based CAD application that I now call Pathfinder. You can find it in the Projects section of this blog, but here’s a snapshot:



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



MillDroid continues to grow. People have asked a few questions, for which I have answers:

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

A: No. The application is built very tightly around the KFlop and it’s libraries.

Q: Is MillDroid for sale?

A: No. I’ve sold 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.

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, in the manner in which I like to write code. It’s limited user base, specific hardware needs and programming language (mainly VB.Net and some C/C#) make it a very niche application.



Well, I got so engrossed in completing this project that I didn’t update the blog for quite some time. I’m now going back and “filling in the gaps” with the build info. I’ll start by wrapping it up with the final summary and pictures.

I’m very proud of how everything turned out, especially since when I started I had little more than some metal and a saber saw. A lot of things were built along the way and every one of them was worth it since I learned so much. This project was one long education.

The final arm is fully articulated and I finished a acrylic display for it with some custom lighting. It took approximately two years of spare time from start to finish. In hindsight that seems extraordinarily fast when I include everything else that was built to help the process, not the least of which was my custom written CNC software & software (see the my blog section on MillDroid).


Fini1IMG_0020 IMG_0003IMG_0026 IMG_0004 IMG_0005 IMG_0010 IMG_0014 IMG_0017 IMG_0021IMG_0011

4: Terminator T800 Hand - Metal Build

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

Now we’re getting serious. I have spent about two years tooling up for this build and now I’m making real parts.

I’ll start with the three middle fingers bones. These are similar enough to be machines together and should save some time on tool changes and holding.

I started by rough cutting three bars of 3/4 6061 Aluminum on the bandsaw then truing them up on the mill with a carbide facemill.IMG_0008

One side of each of these phalanges gets milled down a bit. This makes it a bit of a chore to hold in a chuck because they are more difficult to center….so i use a four-jaw independent chuck.


I don’t have a lathe so I planned to mount my rotary table as a fourth axis and (slowly) mill out the center of the stock to create the “bar-bell” shape of the phalanges. I wrote a custom tool for my MillDroid code that makes setup simple and mills each one in about 40 minutes. A Lathe would undoubtedly be faster, but I don’t think i would want to subject a small mill to the interrupted cutting of taking a square piece of stock down to a cylinder….that’s a lot of abuse to the hardware.


The pieces moves past the 1/2″ end mill left and right, rotating the A axis every pass by several degrees.



Three barbells later! Good finish on the cylindrical parts is achieved with a quick pass of wet sandpaper grades 360-500-1000-1500-2000 in increasing order before I remove them from the rotary table chuck.

I wrote a Slotting custom tool for MillDroid to cut the slots that run through the core of the cylinder in the barbells.

Holding these odd-shaped parts securely for the next cutting operation required a bit of R&D. I built a jig for my tooling plate to keep the parts centered between two aluminum plates then clamped them down with an aluminum bar. The offset side it lifter with a metal shim to keep the whole thing square.


Now I could use a carbide flycutter to cut away the ends into the required L-shapes.


4: Terminator T800 Hand - Metal Build

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

Since I was already finishing the new rocket I decided to clean up and refinish the old one at the same time. Besides, I hated the black/red color scheme (it seemed like a good idea at the time).

I polished and patched up the original Cobra’s old balsa fins lightly with epoxy and refinished the tubes and nose. It wasn’t worth filling the seems on this old girl. Several coats of primer for both with lighter and lighter wet sanding between coats. It was after taking hours to paint with my airbrush that I decided that I needed a faster method of painting….these babies were too large to paint with a small airbrush. I picked up a more “automotive-scale” airbrush and things went a lot smoother.

The newer version gets several light coats of thinned enamel with more wet sanding between coats. Then a few final coats to get a mirror finish. I was very please with the surface quality on this bird–it was my primary goal to get a mirror like surface and I pulled it off.

Some details that were painted separately, some masking/painting of the fins and the girls are ready to fly!


In 1991 I had been using graphics software on the Amiga to experiment with digital effects. Mind you, at this time most effects were done optically or with video equipment. The software that was available at the time could only work on a still image. I wrote a program, MultiFrame, that allowed the user to animate and use multiple effects to “batch” the existing Amiga applications and created moving visual effects. I formed a small company and sold the software in the US and abroad. Amigas were very big in Europe at the time and reviews of it were very good and sparked decent sales.

Not long after, I was compositing a commercial in a video edit suite where I worked on a Grass Valley Switcher. It could layer 3 images at once. I knew I could layer one image at a time on my Amiga so I started thinking about what it would take to composite layers in the computer. I started playing with code that would allow the user to “stack” sequences of images along with sequences of alpha images to create a “timeline” that could be visually arranged prior to rendering. This was the start of MultiLayer and my first compositing software. MultiLayer worked with two effects programs, Art Department and ImageFX for the Amiga and allowed layering, simple editing, compositing and addition of visual effects to sequences. It was very, very cool to see it working.

I had more fun writing and using the code than marketing it, so I went to a local Amiga hardware/software distributor and let him handle the marketing. We had ads in all the national Amiga magazines at the time. I went to my first AmigaWorld convention in California and worked the booth to promote the software. Crowds were big and great and gobbled up the stuff we were showing. The visual effect company behind Seaquest DSV, a tv series that was all done on Amigas with Lightwave 3D, contacted me and was using my software to composite. Sales and reviews were great. I worked with a lot of other software and hardware vendors to allow their equipment to use my software. Remember, at this time it was a very expensive prospect to see full color 24-bit image on a computer.

Unfortunately, Within the year Commodore began to let the Amiga die. And right about this time I saw a demo of a crazy little program called AfterEffects at an NAB convention. Little did I know how big that software would become.

Compositing Software


When Moebius came out with a Lost in Space Jupiter 2 model I knew I had to build one. Unfortunately it had very little detail. I spent a good amount of time detailing it, although I was never really happy with my interior painting and lighting. I designed and built some circuitry to create the fusion engine core lighting on the bottom of the ship using some CMOS counters and LED drivers. I then put a small sound sampler chip with a tiny bit of memory inside and recorded a sample of the ship taking off from the original TV Series pilot. It could playback the sample and accelerate the engine lights to simulate takeoff with the sound fx of the original show!

Jupiter 2

It was 1982. After a several years doing simple composites in video, I was determined to do a film composite. I spent several weeks building a simple optical printer using equipment at school that was originally for printing BW film. I setup a model that my brother had built and shot it on BW film, shooting an overexposure of the same print onto Kodalith hi-contrast stock for a matte. Then I traced the matte with ink and filled it in to create the negative matte. A final garbage matte for the outer areas saved me a gallon of ink. I was in a hurry to see the results because I could only borrow the darkroom for so long before I would get kicked out so my exposures and density weren’t perfect but it was enough to test the system. It took two exposures including the background, foreground, garbage matte, positive and negative mattes. I was pretty pleased with the result of my first film effect using my homemade optical printer.

Visual Effects

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

After doing my research on the Terminator T800 hand I started building some of the “bones” in plastic and resin. If this all worked out well I would proceed with the complete hand.

All the “bones” in the T800 arm are rod stock in diameters that are impossible to purchase. I then went looking for items that were the proper diameter from which I would then cast resin duplicates. AAA batteries, and X-Acto handle, a mechanical pencil and a few others were all tubes in the diameters I needed. I cast silicone rubber molds from these and resin casts were struck. I then sanded down the resin casts to make half and quarter round versions and made rubber molds from these for new casts. After about two weeks I had several quarter, half and full round stocks in the various diameters for the bones.

I then laminated various thicknesses of styrene stock together to build sheet stock in the sizes I would need for the “knuckles”. I laminated a bit thicker than the actual piece then wet sanded down to the true sizes. Several sanding passes to round off corners to the proper radii resulted in some very accurate knuckles.

At this point I experimented with CA glue and epoxies to cement and fillet the bones to the knuckles and test a prototype. No pulleys or non-structural details at this point.

Although it was very cool to see the structure and shape coming together I felt that the resin/glue was a bit flimsy. I had experimented a bit with adding glass fiber to the resin casts but it didn’t help much. I was also concerned that painting the hand in metallic would be even more difficult because of the moving parts. I began reconsidering the medium and started thinking about metal.

I already own a full compliment of woodworking tools but metalworking would require an entirely different setup. I spent about two months researching and talking online to people and came to the conclusion that I would need (at minimum) a lathe and a mill. I looked into Chinese mini-mills and several others and settled on a Sherline. Small enough for what I’m working on and expandable to within reason it seemed like a good setup for this and other projects. I’m also planning on designing my own encoder readers and software for measurement before I make it CNC compatible. Therefore the T800 arm will be on hold for a bit as I tool up for metalworking.

2: Terminator T800 Hand - Resin & Plastic Attempt

I’ve wanted to build a Terminator T-800 arm for some time but couldn’t decide on the medium.

Machining the entire thing from Aluminum stock would be very cool but metalworking is not my specialty. A metal mill and lathe would be required.

I considered machining the parts from machinable wax then casting in resin. Since there are no duplicates anywhere in the arm casting wouldn’t be efficient. Casting is ideal for multiple parts that are identical so it seemed like overkill in this case.

I decided to approach the project as a buildup in styrene and resin. First I’d do a prototype of one phalanx of the index finger of the hand. This would allow me to test the strength of the build and the epoxy & glues I’d be using.

Since the project required some drilling into very small pieces I would need a new xy-table/vise for my drill press to accurately position parts. I did a lot of research and the general consensus was that almost all those available are from China and they suck. Online discussions led me to believe that the only way to get a decent xy-table/vise was to take one of these and fix it. I found one at Harbor Freight that had the basic capabilities. See my blog posting about getting the vise up to caliber.

New drill press centering jig, check. Fresh orders of silicone rubber, resins, sheet styrene, epoxies on the way.

I found some decent blueprints on the internet that someone had made from the actual movies prop and some very good reference photos.

T800 Arm

I’ve wanted to build a Terminator T-800 arm for some time but couldn’t decide on the medium.

I considered machining the parts from machinable wax then casting in resin. Since there are no duplicates anywhere in the arm casting wouldn’t be efficient. Casting is ideal for multiple parts that are identical so it seemed like overkill in this case.

I originally decided to approach the project as a buildup in styrene and resin. First I’d do a prototype of one phalanx of the index finger of the hand. This would allow me to test the strength of the build and the epoxy & glues I’d be using.

I found someone on the internet that had had access to the original Terminator props and precisely measured them, transferring it all into very accurate blueprints. Nearly 60 pages of them.

I started the research and development for the plastic version in October of 2012.

I’ve broken the project blog into several categories based upon my attempted approaches.

Attempt One-T800 in Plastics was in plastics, which I abandoned after about a month of work. It wasn’t giving me the strength or heavy metallic feel I was after. I though metalworking would be much better but had no metalworking experience.

I decided to learn metalworking. That single sentence contains a LOT of work and about a year and a half of R&D learning and tooling up to be able to do it.

Attempt Two-T800 Hand Metal Prototype was practice–I learned CNC machining and wrote my own CNC Milling application….mainly because I though that what was commercially available was buggy and sucked. For details on that adventure, see my blog entry on MillDroid.

Most of the Shop projects on this blog are a result of the learning experience I spent on the T800 hand. Learning techniques, building my own tooling, restoring old metal tools that I could use. An expert metal worker could probable have done the hand in a week; I had to learn and build everything along the way. These distractions, while time consuming, helped me with the techniques I would need as I built the hand. I’m nothing if not very patient.

Attempt Three-T800 Metal Hand is my true build of the hand using all the tools and techniques I’ve learned over the last year and a half. Now I have to complete it without any new distractions or new tools 🙂


1: Terminator T800 Hand - Introduction

After purchasing my Sherline Mill and customizing it to stepper motors and full CNC I spent a few months playing with scraps and learning some metal working techniques. What a different world from woodworking!

I used the ‘standard’ Mach3 software to control the mill, but have continuously found myself despising the software. I’m certain that when it was written it was the top of the heap.

However, this software is buggy as hell. It crashes a LOT. Many of the ‘features’ are either beta and never finished, or assumed to work and never tests. It handles the basics fine–give it G-code and it will run–but I really wanted to use it’s Visual Basic capabilities to program my parts manually. The VB interface (which isn’t really VB but is actually something called Cypress Basic) is also very buggy. I think it was patched into the code to claim VB capability but never truly debugged entirely. When I inquired only of Mach3 experts about some issues I was told I “wasn’t using Mach3 the way it was intended”. That may be so, but I was only doing things the software claimed it could do. If it crashed with just a little pushing what good was it?

It took a LOT of time to make the code work and I still see a lot of Mach3 crashes. The company that now owns the ancient Mach3 code base has been claiming a new version will be out any day for the last few years….I’m thinking they had no idea what they were getting into with that project. They’ve also said that the new code will no longer support VB scripting, chosing LUA as it’s new script language. I have nothing against alternative scripting languages, but LUA?? In twenty-five years of programming I’ve only seen one other application that used LUA and even they switched to Python after a few years. This is what happens when programmers make decisions that should be made by users. What to they say about eating your own dog food….?

I’ve been giving serious consideration to writing my own Mill controller. I don’t think I’d even use G-code as a base. It seems like something that could use an entirely new approach and it would be an interesting project. Right now I’m putting it off until I get some more chips made……

A few practice pieces from 6061 aluminum…..I have a local metal working supply shop that has a large selection of end mills in bins for a couple bucks each. It’s a great local resource and let’s me avoid shipping costs every time I need a simple tool. Need a 3/8″ double-sided 2 fluted high speed steel end mill? They’ve got 50 in stock for $3.00 each. At those prices you don’t feel bad experimenting and breaking a few end mills.

I’ve been making some parallels from hot rolled steel but doing most of my cutting with 6061 aluminum. I really like the aluminum better and think it will be a better material for the T800 hand. The Sherline Mill is a very nice piece of hardware. The main thing it is missing are covers for it’s ways, but that isn’t fatal. I figure that by the time I wear them out I’ll want to build a larger mill from scratch.

First T800 phalanges for a single finger. Lots of metal removal and some operations that would probably have been faster on a lathe but I figured out a way to do them on my CNC rotary table on the mill. Takes longer but worked very well once I figured out the math and code.

I purchases a vibratory tumbler with the intention of polishing the finished pieces. Through some trial and error I found that Ceramic media left the Aluminum with a black coating (Aluminum Oxide, perhaps?) After some experimenting I found that tumbling in Plastic Pyramid media for 2 days, then walnut shells embedded with red rough for 8 hours produced a nice polished chrome-like appearance. Too long in the pyramids caused the edges of the metal to “round” more than I wanted.

The quest for walnut media was interesting. Online suppliers wanted $50 for small quantities (several pounds) of crushed walnut shell media. An online metalworker suggested to me looking in a pet store for Amphibian/Lizard Litter used to line the cages of pets. Sure enough, they had twenty pound bags of the stuff (pure ground walnut shells) for $8.00!

The Red Rough I added to the walnut media was suggested online…..that stuff is messy. It sticks to everything including your hands. I’m going to try some tests without it and see if the difference is noticeable.

First programming lines, then block removal, then arcs, then slots….I practiced some of the basics. I wrote everything in VB/Cypress Basic and it generated the G-Code that ran in Mach3. I put a lot of error correction into the VB to catch Mach3 Exceptions.

Through the combination of the rotary table and the mill I’ve managed to avoid purchasing a lathe. It would definitely be faster to do some of these cuts but I really like the fact that I can do all the setups on the mill.

After a few weeks of practice I’ve started milling actual parts. I’m actually starting to get the hang of this metal stuff…..

Now I’m ready to begin doing finish parts.

3: Terminator T800 - Metal Prototype Attempt

My original plan was to pilfer the two 36″ nylon parachutes from my never flown Sparrow rocket for recovery. However after feeling the weight of the new bird I’m starting to think I might need some beefier chutes. Also need to track down some heavy-duty shock cord to absorb the ejection charge.

One of the things that the original rocket had a problem with was that the nose would “bang” against the body during descent and do some surface damage to the fins and body tube. I could have the nose and body recover separately but I think some adjustments to the position of the chutes along the shock cord can cure this problem.

Have to work on recovery stuff a bit….also need to decide on launch guidance. This one is a little large for a standard rod/lug system so I’m looking into a rail-guide. Need to do a little more research on this.


Now that the four fins have had their bases epoxied to the engine core using the outer body as a guide I can remove the core and begin reinforcing the fins and interior.

I purchased some heavy duty fiberglass cloth for the reinforcing of the engine mount tubes, fins and centering rings where they all will bond together. For this I used pure epoxy (no thixatives or micro-balloons) so it could saturate the thick cloth and seep into the wood surfaces for a secure bond.

Thanks to my old friend gravity, I could only do one side per day. This prevented the epoxy from dripping down fins or running down the body. The US Composites Epoxy I use is extremely thin in it’s purest form giving it a good soaking bond but runs are quick to appear. Even though the pot life was 15 minutes I wanted to make sure there was no chance of runs. The pure epoxy is very hard to remove or sand.

Three layers of heavy 6 oz. fiberglass cloth/pure epoxy across each fin root/centering ring/engine tube. Then a wrap of one layer of 6 oz. cloth around the entire remaining length of the engine core tubes for some added strength. This should help distribute the engine thrust across more of the length of the main body tube.

A test fit of the finished engine core/fin unit into the slotted body tube showed that it all fit together. Whew!

Side-by-side of the last version with the current version ready for final assembly and final primer & sanding. The new baby is a little taller because of the difference between the old Estes-BT101 nose cone and the PML 3.9 Nose cone but this couldn’t be helped without turning my own nose cone. Since I don’t like lathes this’ll have to do. I did shorten the body a couple inches to help compensate but the added length will help compensate for the heavier tail due to added engine weight. Looks like the center of gravity will be darn close to the location of the original helping to maintain stability. A trip through the RockSim software helped confirm this theory.


It took another coat of primer, sanding with 220 grit then wet-sand/polishing with 600 grit paper to get the fins to a silky smooth surface. Now that I’ve completed the whole fiberglassing process for the fins I’m 95% satisfied with the results. I think the fiberglassing process gave me fantastic strength but the amount of labor to finish the outside of the fins and get a glassy-smooth surface just wasn’t worth it. Given another take, I’d triple up the heavy fiberglass on the interior of the fin between the perpendicular basswood layers but I’d skip the fiberglassing of the outside of the fins and go with multiple coats of sanding sealer. The pinholes and slight waves in the fiberglass surface just involved too much work to get a glassy finish.

First I scraped the root of the fin down to the wood and soaked the edge with pure epoxy to allow it to sink into the wood for a few minutes. After dry-fitting the engine core into the main body, I added cabosil thixative to the epoxy to keep it from running and applied it to the engine core fin location through the body slots. Now the fin could be inserted into the body slot without worrying about the engine core or fin being glued to the body. By not gluing the core or fins to the body I’ll be able to remove them and reinforce the fins and core later.

Second fin epoxied on (1 every eight hours, allowing time for the last fin to cure and not “drift”. Gravity is my enemy when gluing up. Pulled the engine core our to check that everything was still removable–didn’t want to find out it was too later after the fourth fin….then put it back in for the third and fourth fins.


Before slotting the main tube for the fins (which are mounted through the wall and onto the engine motor mounts) I though I’d try a test. I wanted to be sure that my jib saw wouldn’t vibrate the tube too severly and shatter or crack the spiral seams I had to painstakingly filled. Glad I did. The jigsaw shook the test tube enough to rattle out some of the filler. Now that I know I tried using my Dremel with a cut-off wheel. Takes a bit longer because of the impregnated phenolic for it was worth it to avoid damaging all the labor I’d put into the seam filling. Cutting phenolic tubing is more like cutting oak than paper.

Now the tube has been slotted to the fins. After they’re completed I’ll do a dry bit of everything. A compressor comes in very handy for eliminating dust after sanding….just remember the goggles and respirator when blowing all that phenolic and fiberglass dust about.


Although I learned a lot about fiberglassing by using it on these fins I’m not sure I’d do it again. Although the added strength is wonderful the work that I went through finishing the outsides doesn’t seem worth it. Too many air bubbles or waves to fill. Not sure how to reduce that and still get a perfectly flat surface. I think next time I would increase the number of fiberglass/epoxy layers within the fin’s layers, then stick with sanding sealer on the outside of the plywood. Here’s a few more shots of spot filling the surface of the fins and primer, gradually getting the smooth surface I wanted.

After one last coat of primer I’ll hit them with some wet sanding at 600 grit to prep them for final paint.