I finally splurged and bought a CNC machine, the Zenbot Mini Router. It was $490 shipped on ebay, without spindle or stepper drivers. I added the Xylotex 3-axis board and power supply, and of course emc2 for software.

Don't miss the later notes, in which I get the machine much better tuned and working pretty well.

Here is what I blogged the first evening after it arrived, before I configured it properly:

First off, it's small. I didn't want a big machine, the 6x8x2.75" (150x200x70mm) travel is plenty, but somehow I still expected it to be less dainty. (the travel seems to actually be a hair less than this)

There's no "getting started" guide or other documentation enclosed—just the machine itself. It was actually 5 allen screws short of assembled: 4 for the Y motor mount and one for the coupling. "Fully assembled"? Well, close enough.

The motors have no useful markings. They are 4 wire, with wires (not pin connectors) at the motor. The windings are: Blue+Red and Black+Green, and measure 2.2 to 2.4 ohm. According to the seller the motors are rated 2A. The leads are about 1' long.

I wired up the Y axis first. I set the xylotex for about 1.5A to start with, and after a few minutes there is noticible heating on both the driver chip and the motor, but far short of anything requiring forced-air cooling. As I expected, the claim of 70ipm rapids (1800mm/min) was optimistic—the machine stalls readily at 60ipm but seems reliable at 50ipm.

Even at 50ipm it sounds loud—a sort of continuous screech—presumably due to the plastic rubbing directly on the linear guide rails, as there are no bushings and the rails are dry. From time to time there is a fast "taptaptap" which I think is a once-per-leadscrew-revolution noise. At lower speeds (say, 20ipm) the stepper whine is louder than everything else.

At this point I should note that I'm using the new doublestep feature in the development version of emc2. For 70 ipm and 1/8 microstepping, the required step rate is about 38kHz; if I settle on 50 or 55, I'll still need about 30kHz. Doublestep lets me get this with a base_period as large as 33us (at 22us, my current setting, this 1GHz machine is not what you'd call "responsive").

Next, I wired X. Because I had complained that my machine did not ship for several days after the auction, the seller tossed in some motor cables, 4-conductor 18-gauge stranded wires in a bundle with shield. I used butt crimp connectors between the motor wires and the cable. For now I plan to secure the motor cable on the right side of the machine, leaving enough to reach the X axis motor over the whole Y travel.

Darn, I just had a stall at 49ipm on "Y". Eventually I'll increase motor current and see whether that improves things, but my assumption is that 50ipm (1krpm) is in the constant-power area of the motor and it won't improve anything. I've already adjusted the xylotex psu up to 27V.

Finally, wired Z. Not much travel there! This cable I'll secure at the rear of the machine. It's still not time to cut yet, but it's sure time to run a program with some 3D contouring. 500 inches of "torus.png" ran at F38 with no stalling.

Time to call it a night, at least where the zenbot is concerned. I fired off an e-mail to the seller to ask about lubrication of the rails and screws and will try what he recommends.
(originally posted on the AXIS blog)