Steppin’ Razor: Yet Another Cheap DIY, Homebrew CNC

After about an entire year of the parts sitting around, next-week, next-month, ya-I-been-meanin-ta, tonight I managed to get my homebrew CNC router* assembled into a usable (or at least testable) state. The entire design (if you can call it that! – it was really kind of ad-hoc) consists, as much as possible, of parts commonly available from any random big-box home improvement store (ours is the ‘Depot). The only ‘specialty’ (not available from the hardware store) parts are the electronics – stepper motors, driver boards, and power supply for the above – and machine parts such as ACME nuts and leadscrews, and some standard bearings to help hold the leadscrews in place. The machine’s linear bearings – commonly regarded as the holy grail of low-cost DIY CNC machines (good linear bearings are hard to come by and hard to make!) – are pairs of big industrial-style drawer slides (also from the Home Despot), carefully squared and bolted into place. Not a recommended approach for any remotely heavy-duty machine, but since I mostly intend to carve wood, plastics and the occasional PCB, this shouldn’t pose a huge problem.

Some videos of the machine running:
First test: carving a small face in a piece of foam
Closeup on the business end (Dremel-style rotary tool affixed to the Z axis)
The finished piece
Carving some zombies – here I got smart and attached a light to the machine
Bonus: Dry run (Dremel spindle turned off), showing the melodic sound of the stepper motors :-) (And in the background, the current-limit relay in my borrowed bench supply going nuts. The stepper motor drivers are now powered by a beefy 19V 6A power brick intended for a big laptop.)


The basic idea (for non-techies):
Imagine spinning a nut on a long bolt – the nut moves up or down the bolt depending which direction it was turned. The same can be done by holding the nut steady, fixing the bolt in place and rotating it – the nut will slide left and right. Attach a cutting head to this moving nut, and mount this assembly (that can move in one axis, e.g. up and down) to two more just like it that move in different directions (left/right, in/out), and you have a cutter that can be moved around in three dimensions by spinning the screws. Attach some motors and a computer can turn the screws automatically by driving the motors forward and backward, moving the cutter in a way that carves out a complex shape.

Components of interest (for techies):
3x Vexta stepper motors, PX245-02B-C8 (6V, 0.8A per phase): $5 each on AllElectronics (sold out shortly after I bought mine)
Stepper drivers: 3x Linisteppers, bolted to a pair of Pentium slot-whatever heatsinks and fan.
Lead screws: 1/2″ x 3′, 10 thread per inch ACME threaded rod (, with matching ACME nuts attached to the linear guides using J-B Weld (this stuff is amazing!). In retrospect, 10tpi is a bit overkill, and I have to spin the motors like crazy to move the axes at any speed (specifically, 10 rotations to move 1 inch), and stepper motors start losing a lot of torque at higher speeds.
Couplings (motor to leadscrews): Fat vinyl tubing sections and hose clamps

There are still some bugs to work out. For one, though the drawer slides on the X and Z axes are working well, the vertical orientation of the slides for the Y table produces unacceptable play. Basically, the internal part of the slide (the part that actually slides) can shimmy left and right slightly in addition to in and out of the rails that contain it, which gets worse the further these inner parts are extended out of the fixed rails. The force of the cutter pushing left and right into the material causes the table to skew a small amount, which both introduces inaccuracy in the cut and causes the Y table to bind (get stuck). I also still have not found a *good* way to hold down arbitrarily sized and shaped work pieces. Detailed build pics, yet-to-be-tested specs (accuracy, etc.), assembly guides(?) will be in a future post.

*What’s the difference between a router and a mill? Semantics, mainly. The terms are somewhat used interchangeably. From what I can gather reading forum posts on the subject, router implies higher spindle speeds, softer and thinner materials being cut (wood, PCBs), and higher speed overall, while a mill implies a heavy-duty, slower-moving machine cutting metal.

Tags: ,

6 Responses to “Steppin’ Razor: Yet Another Cheap DIY, Homebrew CNC”

  1. David Stokes says:

    Do you think a CNC mill/router like that could be built with mismatched steppers? Is the software configurable enough to have different steps per millimeter per axis?

  2. James Newton says:

    Looks good Tim! A few questions if you have the time: Do you know what your total cost for all parts turned out to be? What mode are you running the Linisteppers in? And what sort of heat are you seeing at the motors and at the drivers?

  3. Tim says:

    @David: As far as I know you should be able to do this… when you set up your axes in the CNC software, it will probably ask about your hardware directly in terms of steps/inch or inches/step, so you just need to input this figure and the program will scale the axes accordingly. The program I’m testing with right now (TurboCNC) allows a different value to be set for each axis. (Plus it runs in DOS on old hardware, allowing me to put that little 133MHz “Designed for Windows 95” laptop to good use.)

  4. Tim says:

    @James: No hard cost estimate yet, since I used some parts I didn’t buy (e.g. scrap metal from work) and bought some parts I didn’t use (if using drawer sliders as linear bearings, RESIST the temptation to double their effective range by removing the endstop! It will seem to work once or twice, then poop ball bearings all over your floor. This resulted in some redesign…). Sometime in the next couple weeks I hope to get together a more detailed description of the machine, and estimate cost from the “if I had to build it again” perspective.

    Right now the Linis are running in the finest (1/3600) microstep mode, just because it seems to be giving me good torque at speed and a bit less power consumption than the chopper or halfstep mode. I haven’t done any current adjustment or tuning yet (the 1A per phase might be a bit much for these motors, but they were $5 each and I have spares). On the motors shown (rated 6V 0.8A), running about 18-20V was where the current started to drop off at speed.

    I haven’t done any temperature measurements yet…it turns out I am getting some good cheap SOT23 temperature sensor samples at work soon, so I’ll be able to borrow one and measure the transistor case temperature directly. Right now I can say the motors get “pretty warm to the touch” (but not uncomfortably so) whether moving or not, and some of the Lini transistors can get almost uncomfortably warm to the touch while stationary, esp. in the full/half modes – they pass the “if you can’t comfortably hold your finger on them, they’re too hot” rule of thumb, but not by a wide margin.

  5. Gareth says:

    i have a few questions i was wondering can you help me out,
    i have 3 stepper motors and all the drive servo and software to make a cnc machine, but i am a bit baffled,
    1: when i make the machine and put the long bolts in witht he nut, how does the stepper motor know how fast to move, as some bolts have close teath and some have them far awaw,

    2: how does the brain of the stepers know what the bed size of the machine is so it dosnt just try to go off the end.
    Any help will be greatfully appreciated.

  6. Nuno Monteiro says:

    Dear Sir

    Your home made machine is simply GREAT
    I like very very much your machine
    I would ask you if it is possible , to get more details of the cnc.
    I have got similar materials , and i would like very much to build one close to your´s

    Best Regards

    Nuno Monteiro

Leave a Reply