Racks and Rails

Greetings. One of the critical phases of building this CNC table is mounting the v-rail extrusion and gear racks to the square steel tubing. If this isn’t done with extreme precision, you can’t expect the gantry to move smoothly or squarely.  I didn’t have any guidance on how to go about this so I spent quite a bit of time staring at the table frame and scratching my head.

The first problem to solve was how to ensure that the holes I’d drill in the steel tubing would be in the dead center of the pre-drilled holes in the v-rail extrusion. After my experience drilling holes in the mounting plates for the rails, I knew I couldn’t count on the drill press to be as accurate as I needed. Drill bits like to wander. My friend and trusted adviser, Joe, suggested I build some sort of jig to ensure every hole was drilled in exactly the same place. He’s also a huge fan of his lathe. I never fully appreciated the power of this tool until Joe suggested I use it to make a drill guide. The holes in the extrusion are like a wedding cake- the fat part accommodates the head of the bolt and the shaft fits through the smaller part. Basically I’d take enough material off the outside of a piece of round bar stock so it’d fit snugly into the wide part and then (also using the lathe) drill out the center of the guide with the same drill bit I’d be using to drill the mounting holes. Hopefully the pictures help this make sense. It took me 5 tries to get this right. I’d get the diameter close to fitting into the wide hole and then the next pass on the lathe would make it too small. I didn’t want it to wiggle in there at all.

The second problem was how to ensure the extrusion was held in exactly the right place so all the holes were level.  The width of the base of the rail is .9 inches with the pre-drilled holes centered across this. The plans call for the mounting holes to be drilled 1.25 inches from the bottom of the steel tubing. Some quick math reveals the bottom edge of the rail needs to be .8 inches above the bottom of the tubing. I decided to use my new found skill on the lathe to turn a disc of exactly .8 inches in diameter. I’d then clamp the rail into place with the disc wedged between it and a piece of angle which was clamped to the bottom edge of the tubing.


Turning a drill guide on the metal lathe.


Turned this spacer jig to hold the rail exactly 8/10 inches from the bottom of the tubing. I didn’t think I’d be able to get it that precise…

This shows how I set everything up to consistently drill the mounting holes for the v-rail extrusion. The disc ensures proper spacing from the bottom of the tubing. The center drilled guide fits snugly into the pre-drilled holes in the V-rail.



Another view of the drilling jig.

Once I had the hole drilled I went ahead and tapped it. I drilled out the center of one of my failed attempts at a drill guide to use as a tapping guide, figuring a tiny bit of wiggle room wouldn’t matter once the hole was drilled.  I’d been really concerned about breaking taps during this process because it’s a real pain to try to extract the broken tap from the hole. Using this guide and taking it slowly, I was able to tap all the holes in both rails without breaking a single tap.


I drilled out one of my failed (not quite snug enough) drill guides to accommodate the tap. Figured once the hole was drilled accurately in the square tubing a little wiggle wouldn’t ruin the threads. Didn’t break a single tap on either rail.

In short, this all seems to have worked perfectly with both rails precisely level with the tubing. I couldn’t be happier or more relieved.

The next step was to mount the gear racks. The plans suggest using industrial strenght double sided sticky tape or welding. I opted to just tack these on. These are also supposed to be mounted 1.25 inches above the bottom of the tubing. My first plan was to mill or cut a piece of angle to the appropriate height to use as a jig. I messed up my first attempt to mill a jig and when I was looking for another piece of scrap angle, I happened on a piece with one edge shorter than the other. Damned if it wasn’t exactly the right size already. I put it right to use with good results.


Found some angle that rose exactly 1.25″ from the bottom of the square tubing. Used this as a jig to hold the gear racks level while I tacked them into place.

I could have gotten racks of the correct length shipped to me, but it would have been prohibitively expensive. The nice lady at Moore Gear assured me I could match up two shorter pieces by using a third piece.


Using some scrap to ensure alignment of gear rack seams.






Placing the two rails next to each other on the table, the racks lined up perfectly.


Checking the alignment of gear racks. Happiness.


So again, it’s a huge relieve having this phase of the project behind me! I wouldn’t expect everyone undertaking this to have access to a lathe (as well as someone to tutor them on using one…). However, even If I’d hired the lathe work done it would have been a lot cheaper than having a machinist mount my racks and rails. Now on to the gantry and electronics!



Tappin’ It.

Greetings. Since I got back from my wedding, I’ve been working on making mounting brackets for the rails and the leveling feet. First I had to learn how to tap a hole. I’d never cut threads for bolts before.


Success! First test hole tapped!

The tap package should tell you what size drill bit to use. If not, check out this wikipedia article. Once the hole is drilled, put the tap in the tap wrench. I found it helps to put a little cutting oil on the tap before starting to cut the threads. On my first try, I found it was difficult to make sure the threads ended up perpendicular to the surface. I was using a 3/8″ tap on 5/16″ holes. I eventually decided to try drilling 3/8″ hole in a piece of bar stock to use as a guide to help keep the tap perpendicular. This worked great.


Got this because the giant mill in the hangar is placed in the corner, precluding drilling holes along the length of the 9 foot rails. Happy with it so far.


Drilling another 5/16″ test hole to be tapped for a 3/8″ bolt.


Drilling guide holes in bar stock.


Using the bar stock as a tap guide on my second test tap. The oil helps a lot. Also learned to back up every quarter turn or so to reduce friction and prevent breaking taps.

Then it was time to start making mounting plates for the rail. This process had a lot of steps since I wanted to use the plates as drilling and tapping guides for the threaded holes in the rails. First, I measured and drilled 5/16″ holes in the bar stock plates. Then I used those holes as guides to drill the rails. After that, I drilled out the holes in the bar stock to 3/8″ to use them as tapping guides. Once the holes were tapped, I finally drilled the plates on out to 5/8″ so there will be room for adjusting the rails for level and parallelism.


This shows my plan for attaching the rails to the uprights. The 3/8″ bolts are threaded into the rails through 5/8″ holes in the bar stock which will be welded to the uprights. This allows the rail to be shimmed to level and tweaked laterally to ensure exact parallelism with the other rail.


Using the mounting plates as drilling guides for the rail.


Using the plates as a tapping guide this time.


Finally drilling the mounting plates out to 5/8″.


Final configuration.


Ready to tack on the mounting plates.

Next I needed to cut off my ill-conceived corner wheel brackets and cut and tap some bar stock to accommodate the new leveling feet. Removing the brackets was a pain. First I tried to just use the die grinder with a grinding bit. This was painfully slow. Same held true with a cutting wheel on the die grinder. Finally I borrowed a reciprocating saw. This made it easy to cut off the two ends and then I could get at the welds with my full size angle grinder. This went a lot quicker.


Removing the wheel brackets.

Then I cut 2 inch squares of bar stock and tapped those to accept the leveling feet.


Ready to weld on the end caps for the leveling feet.




Leveling foot mounted.

After I had the leveling feet mounted, I tacked on the rail mounting plates and finish welded the risers. I’ll try to put up some pics of this in the next post. I’ll also be un-boxing and starting to mount the gear racks and v-rail. I’m pretty excited and nervous to start this phase of the project. Stay tuned!

Major Visual Progress

Greetings. I’ve finally had some time off to spend in the hangar lately so here’s a rundown on what I’ve been up to…

The base of the table is all welded. This was no small task, especially considering my still underdeveloped skill in out of position welding. I was having all kinds of problems with vertical and overhead welds.  I think it boils down to my trying to do overheads too cool and getting a bunch of spatter in the torch.  I’d think I had it all cleaned out and then run a vertical bead and get a bunch of porosity due to spatter deep in the torch obscuring the flow of gas.  The really distressing part of all of this was that the problem welds tended to be unreachable by my angle grinder, so I didn’t have any way of grinding them out and trying again.

Then I learned about the die grinder. It’s basically like an industrial strength Dremel Tool. I got a pneumatic model for about $30. There are electric versions that would be handy if you didn’t have a high capacity air compressor, but they’re a bit more expensive.


Vertical down gone awry. Was really stressed about some of these bad out of position welds in hard to reach places until I learned about the die grinder.



Die grinder saves the day.

Looking ahead to trying to level out the table, I was confronted with how I was going to mount leveling feet. The brackets I built for the corners were made for castering wheels, and I didn’t have anyplace to mount the feet. Eventually, I decided to scrap the corner wheels in favor of two giant non-castering wheels in the middle of the table. I’d put the leveling feet in the corners and they could be retracted when I needed to move the table. I’m going to use the die grinder to remove the wheel brackets and replace them with tapped leg end caps so the feet can just screw into the bottom of the legs.


Base is pretty much welded. New wheel arrangement works great!



Once the table’s functional, I’ll make some top brackets for these. For now the U bolts work fine.



Temporary arrangement of leveling feet.

Once I had the landing gear all figured out, it was time to think about the risers. This was my first time doing 45 degree beveled joints. I started by tacking opposite corners. I clamped them onto the edge of the table so I had access to 3 of the 4 corners of the joint. This way I only had to flip and re-clamp once.

When I first started running beads, I blew out a couple of the outside corners because I was running too hot again and not traveling fast enough.  Did my usual penance of grinding and came back and had some success.


Getting ready to tack up a couple of risers.



This was just terrible. I was way too hot and blew a giant hole in the outside corner. Had to build it back up and do a bunch of grinding, but at least it was accessible.



Amazing what a good night’s sleep and a clean torch nozzle can do for your beads.

When it came time to tack on the risers, I used a couple of strong 90 degree magnets and a bar magnet to get it close and tweaked it with a good digital level.


Used a few good strong magnets to line up the risers before tacking them onto the frame.



Couldn’t help laying the rail on once I’d tacked up a couple of the risers. Starting to get a sense of the scale of this beast…



Using the rail as an alignment guide for the middle riser before tacking it on.



All 6 risers tacked on. Looks very close. Still lots of work to do.

It’s pretty cool to have the frame pretty much completed! I’m excited for the upcoming challenge of mounting the gear racks and v rail. In the next post I’ll show how I drilled and tapped mounting holes in the top horizontal beams and brackets.

Mesa Setup Part 2: Software

Once I had the hardware set up, it was time to get things configured in Linux CNC.  I had already downloaded the live cd from www.linuxcnc.org.  The CD can be booted from in order to test LCNC on your system or you can use it to install Ubuntu and LCNC onto your hard drive. I took the latter course since there was no operating system pre-installed on my computer.


The IO and Stepper config is done in a program called “LinuxCNC Pncconf Wizard.” The version I installed didn’t come with the 5i25 firmware preloaded, so I had to download it from Mesa’s site here. Then I copied the 5i25 folder containing 7i76x1.xml (among others) to lib/firmware/hm2.

A couple of notes for folks new to linux: It’s really picky about permissions. In order to copy the directory and make sure Pncconf Wizard has permission to use the files, you’ll want to open a terminal window and type sudo nautilus. You’ll be prompted to enter your password and then a browser window will open and you’ll have root (godlike) privileges. Once you copy the folder, you’ll have to right click the xml file for the 7i76 and click properties. Then click on the permissions tab and change the owner from root to whatever your username is. There’s also a handy little linux reference here.

LinuxCNC Point and Click Configuration Wizard

Setup for Mesa hardware is done through the PNCconf Wizard. This is a program under CNC in the Applications menu. The online documentation for this wizard is pretty good and answered a lot of my questions as I was clicking through it. I’ll just highlight a couple points I thought were interesting or difficult.

Computer Response Time

One is on the Computer Response Time box on the “Base Machine Information” window. There’s a button to test the latency of your computer, i.e. how long a request might wait before getting to the CPU. Here’s what the manual says about this box:

LinuxCNC requires and uses a real time operating system, which just means it has a low latency ( lateness ) response time when LinuxCNC requires its calculations and when doing LinuxCNCs calculations it cannot be interrupted by lower priority requests (such as user input to screen buttons or drawing etc). Testing the latency is very important and a key thing to check early. Luckily by using the Mesa card to do the work that requires the fastest response time (encoder counting and PWM generation) we can endure a lot more latency then (sic) if we used the parallel port for these things…

If you press the test base period jitter button, this launches the latency test window … We need to look at base period jitter. Anything under 20000 is excellent – you could even do fast software stepping with the machine 20000 – 50000 is still good for software stepping and fine for us. 50000 – 100000 is really not that great but could still be used with hardware cards doing the fast response stuff. So anything under 100000 is useable to us.

Other places in the documentation also refer to “software stepping” vs. “hardware stepping” where hardware stepping is when you have the system timing coming from the 5i25 clock instead of the cpu. This is all very interesting and it’s good to know that it’s not as critical since I’m not using software stepping.  However, it’s confusing that they call the parameter “Actual Servo Period” when it appears to also apply to systems using stepper motors. I still have a lot to learn about all of this…


My latency test results.

My latency test results.

Driver Timing

Another item I spent some time on was on the “X- axis configuration” page. There are parameters called “step on time”, “step space”, “direction hold”, and “direction setup.” These parameters are different for different stepper motor drivers. There’s a table here that lists quite a few drivers and their respective values. The KL5056 however is not on the list so I was left scratching my head. The documentation says you can make a high guess on these numbers and you’ll just be limiting the top speed of your machine. I was thinking I might have to try that until I found another driver that looked identical that WAS on the list. Further inspection revealed that even the datasheets are the same. Only the name is different, so I entered those values.

Edit Post ‹ CNC Table Build — WordPress

It’s ALIVE!!

When I was done with the wizard, I powered up the 48V power supply and opened LinuxCNC. I was able to deselect the emergency stop button and turn on system power. When I clicked the limit/home switch, I got a limit error exactly like I should.  Then I clicked on the x axis jog buttons and the motor buzzed to life! I have to say this was pretty gratifying after the amount of time I spent reading manuals and double checking connections and settings.

Later, I ran the default cut file and was able to watch the tool moving around on the screen corresponding to the movement of the x-axis motor I had hooked up.  I have no idea if it was turning at the right scale or the optimum speed. Like I said in part one of this post, the point of this test was just to make sure I could get the pc talking to the motors and switches. I’m counting on there being more hurdles and fine tuning after I get the rest of the fabrication done on the table and finally mount the gantry. Now I’m even more excited to get on with that part of the project!

Mesa Setup Part 1: Hardware

This will be a 2 part post outlining the set up for testing of the hardware and software I plan to use with my CNC cutting table. The Mesa 5i25 is a PCI card that communicates via parallel cable with the 7i76 breakout card. The 7i76 sends step and direction signals to the stepper motor driver which then energizes the appropriate winding in the stepper motor to move the gantry. The 7i76 also has IO capabilities that I’ll use to set up limit and home switches on my table. Limit switches open when the gantry reaches the end of its travel and I’ll configure LinuxCNC to stop motion when the switch is opened. Home switches are used to re-reference the tool to a known position (say 0,0 on the table’s coordinate system).

I’ve spent the last several days reading (and re-reading) the manuals for Linux CNC, the Mesa IO and breakout cards, and my motors and controllers. I’ve also read a lot of forum posts and IRC logs. The goal was just to get the hardware up and running and see that the software is communicating with the switches and the motors. Last night I got a test motor and limit switch to function within LCNC. I could jog the motor both directions and the home switch functioned when I told LCNC to home the X axis. The following is a distillation of the process I followed to make that happen.

Installing the Mesa 5i25

Before installing the 5i25, make sure to move jumper W2 to the up position if you want to have 5V supplied to the 7i76 through the parallel cable. After reading the 7i76 manual more than a few times, I still haven’t figured out where else you would wire in this 5V supply- not that I see any reason to.

Sometimes in the documentation, you’ll see the 5i25 referred to as the “FPGA.” This stands for Field Programmable Gate Array, in case anyone was curious.


Move Jumper W2 to the UP position to have the 5i25 supply 5V power to the 7i76.


Getting ready to plug in my 5i25. Note I haven’t changed the W2 jumper yet..


5i25 installed in the Dell Optiplex 745’s pci port

Hooking up the Mesa 7i76

Once I had the 5i25 installed I moved on to the 7i76. There are two power levels on the board.  The pulse and direction signals that go to the stepper driver are 5V. The homing and position switches get hooked up to “Field Power” which you can supply with anywhere from 8V to 32V. For testing purposes, I just hooked it up to a 9V battery.  Each  bus has a status LED that lets you know it’s getting power.  Both LED’s should be lit. The diagram below is annotated to show how I had the card wired for testing. 20130910-140314.jpg

Home Switch

The switches I got for home and limit switches can be wired as either normally open or normally closed. The 7i76 manual suggests hooking them up as normally closed so an “open switch wire or wire shorted to ground will cause a detectable machine fault.” I connected the common terminal to Field input 0 on terminal bank 6 and the NC terminal to field power.


Testing a home switch.

Connecting the Keling 5056 Stepper Motor Driver

The pulse + and – terminals are wired to the pins labeled “step +” and “step -” on the 7i76 diagrams. The 5056 manual advises that the “ENA” (which stands for “enable”) pins are normally left disconnected. DIR + and – are labeled the same on both devices.

The A and B winding terminals are connected to the stepper motor. The data sheet for the motors should tell you which colors go to which terminals. If you can’t find that information, you can also do a continuity test between the wires to see which ones are paired together.


KL 5056 Stepper Driver. Arrows point to my dip switch positions.

Info supplied with the gantry kit specified 1/10 microstepping, and the stepper motor manual called for 5.0 Amps. I used the table printed on the 5056 to set the dip switches as seen below.


Dip switches correspond with values from the table.

Power supply

I hooked up the power supply with a 15 amp rated extension cord with one end stripped off. I connected the DC 48V side to the KL5056 with 12 gauge wire.


AC connection to power supply. Stripped 15 A rated extension cord.


All set up for testing.

In the next post I’ll go through how I installed the Mesa firmware and set up LinuxCNC using the Pncconfig Wizard.

Fab Week

I was off work last week, so I tried to get as much welding done as possible. I had the sides and ends of the table’s base done, so all I had to do was cut some mitered gussets, prep the joints, clamp everything together and start tacking… How hard could it be?


Sides, ends, and spans ready to be fit up.

First of all, there are a LOT of joints that needed prepped. I spent the better part of one afternoon just getting all the bevels ground and removing the oily coating that comes on the tubing from the areas to be welded. I could see how if you were doing this sort of thing all the time, it’d actually be worth it to get another angle grinder so you wouldn’t have to spend so much time switching back and forth between the grinding wheel and the wire cup brush. It’s only a minute each time, but it adds up and gets tedious.

My initial thought was to try to get everything squared up and clamped together before I did any tacks.  I used the long pipe clamps to hold the ends on and tried to use C clamps with scrap tubing to hold the rest of the joints square. As square as I thought I’d made the side and end assemblies, I couldn’t get it all to match up at the same time. I felt like I was playing whack-a-mole with a rubber mallet. I’d get one end squared up and the other end would come undone. I even got some 90 degree clamps from Home Depot. They looked a little light duty, but I thought it was worth a shot. It wasn’t. One broke as soon as tried to clamp it on, and another stripped out its threads as I tried to tighten it up.  Happily, HD gave me my money back with zero hassle.


Early attempt to get everything clamped together at once.




This Jorgens 90 degree clamp from Home Depot might be useful if you’re building a balsa wood birdhouse.


Pipe clamp in place trying to help square things up.

I wasted way too much time before I realized that I could square up one end, get it tacked together and do one corner at a time on the other end. This left all the warping and twisting to be corrected on the last joint. I got it pretty close, but I was about an inch out of square when measuring the whole table diagonally both directions. I used a ratchet strap from corner to corner to bring it back into square before securing the spans with pipe clamps and tacking those into place.


Ratchet strap holds everything square while pipe clamps hold the spans in place for tack welding.

Then it was time to start making some gussets. The saw’s manual recommends cutting square tubing tilted up on one edge so the blade’s going through a minimal amount of material. I realized that it wasn’t possible to get the cut I needed without laying the material flat in the miter clamp. I’m sure this reduced the life of my blade, but there was no way around it. I just took it slow when cutting through the flats.

Another issue I had when cutting the gussets was that they were too short for the clamp. That is to say that the short side of the gusset wasn’t long enough to extend beyond the pivot of the clamp. I wish I could say I was smart enough to see this coming, but I did end up shooting a gusset across the room before I wised up and added another clamp.

Also, don’t assume that just because the last number on the scale is 45 that if you rotate the clamp to its stop that you’re at 45 degrees. I made this mistake on my first cut and the piece didn’t fit right in the corner because it was more like a 50 degree cut.


Cutting shorter mitered gussets requires supplemental clamping to prevent the possibility of projectiles.

And then more grinding and clamping…


Gusset ready to be tacked.


Measure, Measure, Cut, Grind, Grind, Clamp, Repeat.

Once all 8 gussets were tacked into place I moved on to the surface. While not part of my original drawings, I decided to put some braces made of scrap 3/16″ x 2″ x 2″ angle on diagonals across the surface. This should help support the water table since I reduced the number of ribs on the frame from 3 to 2. I decided to do that after looking at some other similar sized tables that only had 1 rib and deciding 3 was overkill. The angle braces will also help keep the frame square. I left the ratchet strap in place till after I tacked them in place.

When cutting the first one, I cut the angle iron to length and then laid it in place on the table and marked the apparent angle of the cut.  This turned out not to be nearly accurate enough, so I had to resort to trigonometry despite it being after 10 pm. I figured out what angle I needed and used my trusty metal protractor to mark the angle.


High school trig saves the day.

Once I had cut the correct angles, I realized my usual clamping strategy wasn’t going to work to hold this in place.  There may be a more elegant solution, but this is what I came up with after some head scratching.


Had to get a little creative clamping the angle braces.



Must have been a productive day with all that saw dust!

The next day I cut the other two angle braces and tacked them into place. On both of them, I had one tack that looked as if it had no shielding gas at all. It’s taken me a while to figure this out, but that day was sunny and I had the big hangar door open. I’m thinking a breeze came through and blew away the gas?


It was as if there was no gas, but the valve was open.


Tacking on the second angle brace.

Before I tacked the third angle brace into position, I checked the squareness again. It took me way too long to figure out to use a welding magnet to hold the tape measure in place when checking the diagonals.


Functional fixedness would be a detriment to progress while working alone.

After it was tacked in, I finally removed the ratchet strap and checked squareness again. It was within 1/16″.


Look Ma! No clamps!


I’d really hoped to be further along than this after my week off, but I’m happy to be taking my time and making sure everything is done as well as I know how (which may not be saying much…).  I got a little bit of the actual welding done, but there’s still a lot to do. I’ve gotten some good hints on out of position welding after my last post. I’ll let you know how that goes.

Also, all the electronics have arrived and I have Ubuntu and LinuxCNC installed on the PC I’ll be using, so expect some progress there over the next couple weeks. Don’t forget you can enter your email in the box to the right to get updates as they happen. Thanks for reading!

Vertical and Horizontal Welding Practice Project

Before I started tacking the base of the table together, I decided I should organize a pile of scrap on the floor by using some of it to build a rack. In the process I’d have a chance to practice some out of position welding. All of the parts I’d made up to that point could be clamped flat onto the workbench. Once I got it tacked together, I’d have to start doing welds however they happened to be oriented.

Welding in the vertical and horizontal (not to be confused with flat…) positions is challenging because gravity is always trying to take the puddle of molten metal in directions you don’t want it to go. In the photo below, you can see how gravity caused the bead to sag to the bottom of the joint. That bead was done with a wire feed rate of 290 inches per minute. Once I slowed the feed down to 200 ipm, it got a lot easier to control the puddle. I still got some sagging on my last try. I think I was moving too slowly and therefore depositing too much metal.


I’m still too young to sag like this.



Got the Miller 250MP dialed down a bit to 200 ipm.



The smaller upper beads were at 200 inches/minute. Not pretty, but much easier to manage the puddle.



Ready to take another crack at the horizontal.



Started on the right. Thought I had it dialed in. Did the left and decided maybe not…

For the vertical up, I was practicing the technique described at welding tips and tricks which is basically an upside down V pattern. It took me a while to get the pace right on this one too.


Vertical up came together after a few tries. Think I got the gas off it too soon at the end causing the porosity.



Regular ol’ flat fillet.



Goal posts for our new hangar football league.



My first “completed” welding project.



Scrap holding scrap.

All in all, it was an afternoon well spent. I didn’t want my first experiments with out of position welding to be on my cnc table. I’m sure I’ll still have some beads on the table that I wish looked better, but now I know I should at least be in the ball park. Plus the workshop is a bit tidier now!

Reconsidering the Electronics…

After consulting with folks on WeldingWeb and cnczone, I’ve redone my trusty electronics comparison chart.  A new entry that I was previously unaware of uses Mesa Electronics’ breakout cards and torch height control with Keling stepper motor drivers. It also uses the open source Linux CNC instead of Mach 3. The consensus among those polled who had used both Mach 3 and LCNC was that LCNC provided better performance in terms of speed, flexibility, and reliability… AFTER you conquer the somewhat steep learning curve.

Ad Hoc Mesa/LCNC Ad Hoc Proma/Mach Partial Kit/Mach Turn Key Kit/Mach
Motors $220 $220 incl. incl.
Controllers / BOB $280(KL5056)+ $199 (7I76+5I25PNG) $260 incl. incl.
Power Supply $120 $120 incl. incl.
Enclosure $100 $100 $100 incl.
Torch Height Control $70 $268 $268 incl.
Misc. Cables, Switches, Cooling $250? $250? $200? $100 (recently learned limit switches not included)
Time 60 hrs? 30 hrs? 20 hrs? incl.
Kit $0 $0 $668 $1575
Support Community None None Included + 2 yr Warranty
Software $175 – SheetCam $350 $350 $320
Total $1414 + time $1568 + time $1606 + time $1995

I’ve seen LOTS of folks using Mach 3 and the CandCNC kit who are doing great. I’m sure I’d be up and running quicker if I went that route. However, I’m going to take the $600 bet on LCNC and Mesa and hopefully have a more robust machine in the end. I’ll undoubtedly learn a lot in the process.


After I welded the first wheel bracket onto the one of the legs, I realized I had totally messed it up. I used one of my new Harbor Freight pipe clamps to hold it in place and somehow I missed the fact that it wasn’t remotely square.



After some deliberation as to how big a deal this was (it would be attached to a wheel, after all), I decided it’d be better just to cut it off and try again. Problem was that I couldn’t get a grinding wheel into the welded joint due to the vertical walls of the U channel. I thought about using a cutting wheel on the walls to give access to the joint, but in the end I decided it’d be easier to use the chop saw on the leg and start over.


The amputation. Used the blue legged table to hold the frame up and let the saw cut through the square tubing at an angle.


Someone should play “Taps.”

Made another wheel mounting bracket.


Cutting some more U channel to make another wheel bracket. Cut the walls….


…Then the back.


Using one of the wheels to line up holes for the bolts.


The wire cup brush does a nice job cleaning up the bracket.

Once I had cut, drilled, and cleaned up the bracket, I grabbed a piece of scrap tubing and ground angles in it and the leg. I used some heavy bar magnets to line the two pieces up and then tacked it together.


Used some heavy bar magnets to line up the prosthesis.


Tacking up the leg extension.


Welding the leg extension.

On the last bead of the weld, I decided it’d be a good chance to practice some vertical welding. This did not go well. I’m not sure how I managed it but I blew a big hole in one edge and the wire just started feeding into the hole. It was pretty ugly. Should have gotten a pic but I was too focused fixing it.  I did some grinding, laid the piece flat and put down a big fat bead to fill in the hole. I’m going to have to grab some scraps and practice welding in the vertical and overhead positions before I weld the frame together. Good news is the leg seems to have ended up pretty much straight.


Another ugly attempt at out of position welding.


Cutting the leg back down to size.

Once I cut the leg back to size and welded the new bracket on, I was finally able to test fit the four sides and start to get a sense of the scale of the monster I’m creating. Can’t wait to clamp it together and start tacking it up!


Finally able to test fit the four sides of the base.


Frame Assembly, Wheel Mounts, and Carriages!

Hello! Lots of progress lately. Here goes:

I welded up one side of the base of the table.


Laying out a side of the table base to be welded.




Spacers clamped into place to counteract warping. When I do the other side, I’ll do this BEFORE I weld.

After I welded this, I noticed both ends were bowed inward. I put the vertical members for the other side in the ends as spacers during cooling. I think I’m going to have to jam them in when it’s time to tack together the sides and ends to ensure squareness.




Would like to know why my fillets get gouged out like this from time to time.

Also made some wheel mounts out of some salvaged heavy duty U channel. No pics of this, but when I cut this U channel with the chop saw, I did it in two cuts. The first was through the two uprights. Then I turned it 90 degrees and cut through the bottom. The saw cuts much easier this way.


Cool old Bridgeport mill in the hangar serves as drill press for my wheel mount plates.

Drilled through the wheels’ mounting holes and attached one bolt at a time to ensure proper hole alignment to my mounting plates. The plan is to clean these up with the angle grinder and a wire cup brush and weld them to the bottom of the table’s legs.


Salvaged some heavy duty U channel for my wheel mounting plates.

Got a few shipments of hardware for the ShopDroids mounting brackets. I was really pleased by McMaster-Carr’s service as well as that of VXB Bearings and Modern Linear. All of the items from McMaster-Carr came in numbered bags that corresponded with the packing list, making it really easy to match up with the bill of materials supplied by Shopdroids.

Assembly of the brackets was fairly intuitive after consulting photos on Shopdroids’ Facebook page. One discrepancy I noticed was the omission on the supplied bill of materials of a washer that seems to go between the red tensioning spring and the motor mount.


Misc. Hardware has arrived!



Assembly order of bearing hardware.



The eccentric bushing installed in the V-bearing.



The Z axis gets mounted to this carriage. There should be a washer between the left spring and the motor mount. Also, I don’t have the anti-backlash spring installed yet on the left side.



X Axis carriage and motor mount.



Note the eccentric bushing on the bottom has flat edges so you can turn it with a wrench to tighten the carriage onto the V-rail.