Home on the web ~ Dan Van Fleet

Information on SoftPro ProForm with some general computer tips and techniques, with a bit of me.

Home on the web ~ Dan Van Fleet - Information on SoftPro ProForm with some general computer tips and techniques, with a bit of me.

The CNC Platform, see a SoftPro pen draw a SoftPro Logo

imageLately I've been building a homemade CNC platform intending to be a light mill / router / printer / laser cutter / fill in the blank. To start its setup to be a CNC Router, which has started to make some parts for itself to increase stiffness. I've made it to the first milestone, a running machine I can control that cuts aluminum to reasonable tolerances.

I put a short video on You Tube of it doing the fun task of sketching a SoftPro Logo using a SoftPro pen.

The basic design comes from a Voxel Ox, http://www.openbuilds.com/builds/voxel-ox-extendable-3d-printer-and-cnc-platform.2418/ . I added all end stops as well as made it significantly larger. As I build parts, the design is intended to change to provide a more rigid structure.

Keep it tight

clip_image002The first step to a working machine was building the frame assembly, some parts of it like the gantry really don't need to be square, I like it better square and true. A key to keep X axis pieces square is to be sure all like pieces are the same length. It's better to be 1/4" short on an axis than 1/100 an inch off on otherwise identical parts. I clamped like rails together and used a sander to true up the last few thousandths. The idea is when done a finger nail will slide over each end without catching, any direction.

The Y axis needs to be as dead on 90 degrees to X as it can get.

In the image the angle pieces were cut on an old wood band saw, sanded on a disk sander to get close then hand filed for final fit.  It is shown not quite finished with the cut lines visible at the top and a little more filing needed. I enjoyed buying and joining the aluminum in the triangle support, five bucks of 1/8  by 1 1/2" aluminum angle made a beautiful support. That's much more cost effective than 20x60. The aluminum recycle yard is a great store. The plate behind with the holes in it was also created on the machine, out of some fairly hard 1/8" sheet material.

Electronics and Software

The complexity of the build is both large and small. The hardware is a puzzle we get to make our own pieces for, the electronics is commonly used in 3D printers. There are a lot of small elements that come together. The control brain of the system is an Arundio Mega 150 with a RAMPS 1.4 board and DRV8825 Stepper drivers. The steppers are medium sized (40mm) NEMA 17 motors, I was concerned with their power, so far they've been okay, I'm clearly running them on the edge of their performance.  With recent updates I'm likely adding another Y axis motor or increasing it's size.

When I setup the motors how it's commonly explained, they were weak.  Research found people fighting heat, yet I had none.  So I starting bringing up the reference voltage on the DRV8825 from the recommended .5 mv to a much more substantial 1.3v.  Now my steppers are much more powerful and run about 100°F with the 8825's rolling in at 140°F with heat sinks and active cooling. This is not currently suspect with the smoke incident, that happened during light modifications, I believe the 12V supply was shorted probably at a temporary motor connection.

Something to mention are chips.  Don't forget aluminum is quite conductive and small pieces will fly many feet from the work area.  Don't trust electrical tape, heat shrink is the way to go on a project like this. (and most all electrical connections.)

clip_image003Software wise it's a wide world, I've used SketchUP, Fusion 360, Inkscape and more. So far Inkscape has done the most work, with recent work done in SketchUp.

These software elements generate something called G-Code which is a fairly simple machine drive language that's been around for over a half century. G-Code is X-Y based, somewhat like Excel. X0, Y0 is the starting point, with X being one direction and Y being another one perpendicular and on the same plane as the X axis. So to move to a point 20mm from X0, in G-Code we say G01 X20. Moving both X and Y at the same time is done on one line G01 X20 Y40.

The Z axis or up/down is the fun one. That's where the rapidly spinning piece of very sharp hard steel lives. It will drill through wood faster than I can hit the EMERGENCY STOP button.

The Pen

clip_image004Holding an ink pen softly on paper is a bit of a problem. I started more difficult with a pencil and was surprised how well it actually worked. For the pen trick, dismantle the pen, remove the spring and move it to apply pressure rather than retract the cartridge. The top pen is in normal order, with the bottom one modified for CNC operation.

A washer or blocking device would be needed on some pens where the arrow is to prevent the spring from sliding down the ink cartridge where it would be useless. The SoftPro marketing pen is perfectly designed for this, to the point that the spring fits perfectly over the nylon piece near the arrow and pushes against the ink cartridge at the arrow. I've not seen a simpler mod to mount a pen in a CNC.  This perfection was the basis for the first video test run of the SoftPro pen drawing a SoftPro logo..

Starting to cut

clip_image006After drawing logos for a while, getting used to the machine and tool chain it was time put a rapidly spinning piece of steel in place and see what we could do.  I'd recommend starting with wood and doing simple cut outs, I chose Acrylic and wanted to engrave.

Engraving requires a very flat z axis base, cuts are only a few tenths of a millimeter deep and must be maintained across the entire work area.  To flatten the first base and square up the spindle I mounted the largest diameter flat bottom router bit I had 3/4".  It ran a simple XY pattern milling a sacrificial board first in the X direction across the entire surface, then in Y.  As it ran the spindle was adjusted to not leave any steps in the bed, another fingernail test.  I adjusted the cut until the back side of the bit was clearly causing a step, then lightly tweaked it up until the step just went away. That process probably took a long time, tiny changes with imprecise adjusters.  I used a precision oak wedge that can be seen behind the RotoZip, a simple piece of tape holds it in place, with the breeze or hose clamp providing a bit of tension.  Caution should be taken when clamping tight a tool that was designed for hand work.  Too much pressure will negatively affect the tool.


clip_image005Acrylic is a fantastic material, it's fun to work with and is amazingly clear. I built a corner window in our home that has 12" deep 1/4" thick glass shelves that I made. With acrylic we're going to 1/2" material and can polish the edge so the oak behind the shelf is visible through the acrylic. It's easily bendable and can be glued or welded together to make up profiles.  Fantastic material, but I digress.  If you work with wood, buy some acrylic, it's fun.

I started with all the wrong stuff and had pretty good results. Old extruded Plexiglas, rather than cast and a cheap 1/8" cove router bit rather than a proper bit. The head is currently a RotoZip, which is Dremel tool on nitrous. I see no reason a Dremel wouldn't work just fine, it wouldn't remove as much material on a pass, but it sure could cut aluminum. Clearly a proper spindle has advantages, the collet design not being ideal causing run out is an issue, but so far it's far smaller than what I'm going to care about. The bearings on my RotoZip are already not happy, which will be likely what kills it..

The T logo was cut with all the wrong equipment, the Band Fam logo is in cast Acrylic using a 1/8" Amana 51650 90 degree V up cut milling bit. The edges are much better with the block letters being cut 0.2mm deeper than the script. I was able to cut the extruded acrylic successfully but cast cuts better.  There is a way bigger margin for a good cut, and the tool can run much slower.  I was around 40 volts which is fairly quiet when cutting the Band Fam logo. Both air and a light soapy solution was used on the Band Fam cuts.  The "T" used air and rubbed on bar soap, which helps quite a bit.

Aluminum how's it do?

imageThe first part that the machine made was a bracket to hold the Loc-Link hose to the head.  It was cut out of what was originally a Travan 20 Backup Tape base.  They had a 2mm thick almost 3 x 4 inch plate which seemed to be a portable heat sink.  It was perfect to add 3 holes for the air line bracket.

It started as a drawing in SketchUp, came off the machine and fit well. Examining the holes closely shows they are a bit eccentric.  The triangle support added later corrected that error.

clip_image007Here we are ending up a OpenBuilds plate. It is removing 0.4 mm a pass, rolling along at about 300 mm a second. The plate ended up within 0.2 mm the short direction and 0.5 mm the long direction compared to the drawing. The holes are fairly round. I made about 6 of these which 5 are now installed on the machine.

So in my professional opinion , cutting aluminum works quite well.

It's not for production milling work by any means, it is fast enough to be quite useful. The first bracket was run fairly slow and took around 8 minutes.  A NEMA 17 mounting bracket out of 1/4" material takes around 10 minutes. The large plates take between 30 and 45 minutes.  The bed area on this type of machine can be huge, this one is moderate at 20 inches by 29 inches with a maximum height of 14"  I adjust the Z axis top end stop short for plate work like this to keep it all faster.

Coolant and Oil

If you're out to cut aluminum, take it from a software developer, you're going to need cooling air, and a little lube. Yes you can do it without, not nearly as fast, clean or safe.

clip_image008My initial oil delivery system was the dump, run, and squirt method, that turned into this delivery system. One line carries air. The oil starts in a syringe with a #18 needle that has been dulled. It drips a nice small drop about once every 2 seconds. That flows down the Loc-Line and is delivered close to the bit in front of the air.

Once it's primed and running, there is a nice visible light oil film always moving on the material, gathering a little bit in channels. I'm no CNC operator, but it looks beautiful, there is always oil available and the 3cc holder lasts for about 20 minutes. I ran a mixture of WD-40 and a cutting fluid called Rapid-Tap. It's thinner than 3 in 1 by a decent amount, but not nearly as thin as WD-40. Control the rate of flow by the mixture, WD-40 runs through an 18 gauge needle quite fast.

This video includes useful text information in the description, be sure not to miss it.

Cooler and Quieter

Next the cooling system needed updating


I liked the initial air oiler but more run time was needed. The new system is more my style, two switches control independent solenoids to deliver pressure regulated air or air and liquid coolant directly to the cutting bit. It includes a port for an air gun attached to a short hose for cleanup work. The mounting plate another OpenBuilds design was created on the machine. 5/16" OD tubing was used, it carries an ID of 3/16 ". I was concerned the correct sized fittings wouldn't hold the pressure without clamps, so most of the brass barbs are 1/4". As it turns out, that concern was unfounded, the first connector is of the correct size 3/16", holds 80 PSI and is much easier to install. I'll save you the picture of where I smashed the base of my thumbnail.  OK maybe I deserved it,  I was using a short oak 1 x 4 which was sharply finished as a hammer when installing the larger barbs.  The first 8 went well, the last little bit of the last one needing a little more power. I turned the hammer on edge which turned out to not be a good idea.

clip_image010The air solenoids are mounted on the back side of the machine feeding the head pictured below.

The line on the right delivers pure air, the one on the left is a cheap misting system from Amazon.  It has adjusting screws that do nothing, a flow control was added that originally was used for an IV drip.  It works fairly well yet won't be the end solution.  A small peanut butter jar is mounted to the back of the carrier to hold another vessel holding the cooling liquid.  Or I used a jar to hold the jar which has the actual oil or soap mixture in it.


The head develops a pretty good suction on the oil delivery line, the concept is simple, the air comes out of a ring, the oil tube goes the whole way to the head and comes out a center hole.  The ring of air causes a low pressure area which sucks up the oil.  I plan on moving the oil reservoir off the moving head. It needs to be below the output so that unwanted flow doesn't establish. Changing fluids works pretty well, the soap mixture clears out the oil fairly quickly and vice versa.

Upgraded Bed Step 1

The newly made pieces allowed the bed to be extended to its second rendition, it has at least one more planned. The original center rail has been slid to the side, adding another rail set parallel to the first. The second build plate was made by hand as maybe I mentioned, I had left some smoke of the Arduino and was awaiting the replacement. The rail is smaller, but given what it needs to do, it will work fine for the life of this version. Both build plates are strapped together using 20x20mm material and topped with a couple 20x80mm rails to bolt down whatever substrate material is needed at the time.



My new build plate is just a tad thinner than the OpenBuilds one. about 0.3mm, I got lucky in the picked scrap, there was one thin piece that I had set aside, it turned out the closest for a new build plate.  The rest of the adjustment can be made in this design by tweaking the Z axis screws.

Building Parts

imageThe new angle brackets were also all made by hand using the drill pattern from one of the plates for markup. From there it's easy peasy, center punch it with something, I have punches, but a deck screw was handy and works fine. Then since this is aluminum and we only need a hole for a 5mm screw, a 13/64 bit which is 5.16mm works well. A 7/32 bit would also works fine. Dip the bit in some cutting oil and drill at a fairly slow speed. Ideally these would be cut on the machine as slots, but we're in manual mode due to that Arduino doing some underage smoking.  Always lube your bit when drilling.


clip_image012NEMA-17 motor plates are one of the things that I've cut out. Keeping it real, out of the first 7 plates, 1 was unusable, 2 were fair and the rest are quite usable. Recently I learned how to set machines zero, that helps a ton. Set the cutter to the position you want to send, in this case all axis are set to zero, then send a G92 X0 Y0 Z0. I've read where sending an @isathome with Repetier is required, I've not found it necessary or helpful for that matter. I've seen that enough to know it's normally necessary and I don't quite understand something yet.  The material becomes Z axis 0 and all plunges will be negative.

The Whole Thing


The machine as it sits today is coming together nicely.  The new bed is much stiffer and flatter than the old one, but the machine is in limp mode.  The dual stepper Z axis is normally driven by separate DRV8825 boards, the smoke incident took out one of those too. It recently arrived in Chicago from China and given that I'm likely going to need another Y motor, I'd rather wait than fight a work around.

A few final pictures



My goal when adding the aluminum triangle was to keep metal touching metal at all points, leaving the screws to pin it together.


I was quite happy with how the base turned out.

imageThe top has a thin under 7 thousands gap at the front of the vertical line, the rest is tighter.  I need to turn the spacer bracket 90° and will likely file on this assembly a little bit then although at this point it's purely for aesthetics.


Spring is here, this happened yesterday


Your email address will not be published. Required fields are marked *