Home Grown 3-Axis CNC Controller V1.0

Here is my first version of a 3-Axis parallel port driven CNC Controller including a built in PWM spindle controller.

Well, I say “first version”, there were actually quite a few variants before this one, you can follow the story on the Zen Toolworks forums…



It uses the Pololu A4983 modules to actually driver the steppers to keep the complexity down. It has an onboard 5V regulator so it only needs a single 5v-36v supply (for the Axis).
The motor controller is a slow-start PWM type and can either be driver using the “Spindle on” signal, or it will reinterpret a “Spindle PWM” signal provided it’s below about 8kHZ (I’d recommend the 100Hz default) … the PWM controller itself uses 32kHz. The PWM controller is ok up to 44v, anything higher and it will likely blow the high speed opamp.

I can recommend a DC-DC converter module for taking 12v up to 36ish for the spindle (http://www.virtualvillage.co.uk/12v-to- … 2-013.html), although these are shown as out of stock at the moment. I will probably build something like this onto the next version of the driver.

This board also requires one pin to be setup as a “Charge Pump”, this ensures that enable lines are properly controlled even if Mach or EMC isn’t running.

All unused inputs and outputs are brought out to terminals for use as probes, limit switches, etc.

This can be easily made on a Zen, the version pictured here was created on a 7×7 using a previous version of the board.

It’s my intention to include a lot more detail on the  process followed through designing and building these kind of things, however in this case I’m doing it retrospectively and the detail can be found in the forum.

The files are included here as a zip file containing microcode, schematic and board layout.


I’m very happy to help anyone trying to build this, but I’ve also got some great ideas for the next version, so keep an eye on the blog.