I had been looking for ready made do-it-all CNC controllers online for quite some time, but it seemed like the most affordable ones had some issues with optically isolating the computer parallel port and the motor controller part, plus some other issues.
Most hobby CNC controllers are connected to your computer via the computers parallel port. One of the most used controller software packages will be running on the computer (Mach 3 being the most used), sending streams of pulses in real time to the controller board. A do-it-all controller board will handle both the pulse streams and convert it to usable motor stepper motor control sequences, often with the option to do full steps, half-steps, 1/4 steps and so on, and also actually implement the motor control circuitry on the same board.
The optical isolation is important for two reasons;
one is protecting the computers parallel port in case of voltage spikes or high currents on it’s signal lines. The 2nd reason is to reduce noise on signal lines, and to remove the high voltage lines and ground plane from the incoming signal traces. Optical isolators come in IC packages and consists of a combined LED and a photo transistor. When you drive the LED current from a different power source than the photo transistor power source, they are totally isolated from each other. But the parallel port does not provide you with a +5v line, and if it did, it would not be able to source enough current for the pull-up resistors the signal line side of the controller. If I’d use the +5v logic source from the motor controller, you would no longer have isolated the two sides of the controller board. This is why I decided to put on a mini-USB connector for a maximum of 500mA current to the pull-up resistor, with an already regulated 5 volts. That should be more than sufficient.
The brain is an Atmega8 microcontroller, which handles both the inputs from the parallel port, and the outputs to the L298 dual H-bridge motor controllers.
The PCB is double sided, and designed within the 10x10cm limit for REAL cheap manufacturing at either seeedstudio.com or iteadstudio.com. I paid around $15 to have mine manufactured, and that got me 10 copies! Unfortunately, I had an issue of two traces which were shorted to the ground plane on two separate PCB copies, but they are easily fixed with a sharp bladed knife or scalpel. Still, great value for money.
When I designed the PCB based on my schematic, some connections were changed to make routing easier, but this only affects some software changes on the Atmega8.