This project started last year, there was an article Popular Science about a college professor that made a "3D printer." I remember thinking to myself "holy crap... I want one." Of course at that time $2300 was a lot of money for a high school student to shell out for a hobby. From then my goal has been to eventually have my own 3D printer.

After some research I came across the RepRap project and decided it would the most cost effective route. I like making my own electronics and I was expecting the MakerBot Store to start offering the motor controller PCB's again, but they never did. So I set out to create my own motor controller board. I wanted 4-axis stepper control, power regulation, parallel port connectivity (in case a CNC router became more important) and opto-isolated I/O's all one board.

This instructable follows the steps I used in order to create my Quad Stepper Controller.

Why a 3-D printer ?
- because they're awesome, they can create something from the ground up. This something can take almost any form that will fit inside of the printable area. All the 3-D printer requires is plastic filament and a design. Currently I am planning on building a RepRap Mendel, buying it piece by piece in order to avoid knowing the full price :)

What will I print ?
- everything; the ability to print almost anything your imagination comes up with is priceless. Some of the things I might print could be enclosures, mounting hardware, tool holders, prototyped parts and of course RepRap parts to name a few.

Step 1: Schematic design

The RepRap design calls for 3-axis motor control in addition to a stepper motor to extrude molten plastic, so I require 4 stepper motor controllers. I decided to use a combination of the schematic from Sparkfun's EasyDriver and MakerBot's Stepper Motor Controller v2.2? (no longer available).

The driver design is based around Allegro's A3982 DMOS Stepper Motor Driver with Translator, unfortunately this is is surface mount so prototyping will be more difficult. The circuit also contains support components including voltage regulator, filtering capacitors and protection components. The A3982 is a constant current motor driver which means it can drive a variety of stepper motors.

The other half of the circuit contains opto-isolators. The goal of this half was to provide protected I/O's to the parallel port just in case I happened to loose interest in a 3D printer and decide to build a CNC router. 

Warning: If you decide to use the schematic provided, you may have to re-design the opto-isolator circuit. Two (possibly more) of the opto-couplers are stuck on. Have not been able to troubleshoot the issue yet.
<p>Nice project. can you please make a tutorial on how to configure db25 connector pin from a pc......thanks.</p>
so do the jp1 one and the con-1-4 get tied together in the db25, cause it looks like they are connected in your pics, but can't be sure, and if so, is that what the numbering refers to on the jp1?
Check out http://www.mindspring.com/~pitt/EMC/basic_step.jpg that may answer your question, i don't remember exactly what setup i used but its all configure-able in EMC2
But just 7 pins is not enough to run the 4 motors is it, so i assume the con1-4 connects to the db25 as well, so u guess thats what my question is, what pins do i connect those to?
or is that what jp1 is?
what pins did u use on the lpt. port?
Out of curiosity did you ever get this pcb to work with 4 motors, controlled by a computer?
Not all 4 motors at the same time, I am limited by my test sortware. But individually they will spin a sparkfun bipolar stepper. If anyone knows a good program to toggle 8 io lines on the paralell port please let me know.
Thank you for your information. It's really nice and informative.
Thats one of the best designs I have seen. How much would you charge for one?
The parts alone cost around $100, plus the board. Unfortunately the amount of time that goes into building a single controller would not be cost effective, I would have to mass produce these in order for it to make sense. If you want to build your own, I have the Eagle files and Gerbers for the board that I can send you.
I know its been a long time, but, do you mind to share the pcb files? I think this one will do just fine for my printer :)
Just uploaded, I didn't include the gerbers though.
This looks awesome. Could you please send the eagle files for the board to suvinks@gmail.com?
I think you should wait until you see it work before you put in any orders. It is awfully pretty but I've yet to see motors go round and round. With CNC it is motors plural too, one is easy, more than one it gets trickier. LOTS trickier!<br><br>When you can control more than one at a time then you're getting someplace.
perhaps a link to a pcb making instructable.
using eagle, my limits have been for how big a board the free version can work on, after that i may need to design a board stack. after i've figured the largest board, space for connectors poking into the side, then i grab a cardboard box to use as a case.
Very detailed post. I like it. All the best for your project. Please mail me when u completed the 3d Printer at ajaydevb@gmail.com
Nice design! what software are you using for control?
The software in the video was EMC2 (http://www.linuxcnc.org/), but if I continue building a 3D printer I will eventually wire this up to my Arduino for the RepRap firmware.

About This Instructable


40 favorites


More by Jason-B: Improved Optical End-Stop Ten minute ammeter shunt USB Dongle Elimination
Add instructable to: