Make Electronics And Motors

click on the photos, they are tagged in flickr

Reprap Stepper Motor Driver v1.2

Mostly you have to follow all the instructions at Reprap Stepper Motor Driver v1.2. There are some exceptions:

Deviations from Reprap build


3 pin molex headers are used instead of RJ45 jacks for connecting limit switches. 3 pin molex headers were used in the board v1.1 and they are better suited to Contraptor limit switches which use only one wire. In addition to potential confusion with Ethernet, CAT5 seems like an overkill.

Contraptor uses angle for heat sinking instead of heat sinks listed in Reprap kit. The angle connects the L298 chips to the contraption frame which allows higher currents to be used with the board.

IDC connector goes only on one side of the ribbon cable. A 5-pin 0.1" header is soldered to the other side of the cable (see below). This is a hack to connect the cable directly to Arduino. Ideally there should be a shield board for Arduino Duemilanove/Mega with combo of IDC outputs and DB25 outputs (to drive a number of hobby CNC boards with DB25 interface).

Test Your Board


If you have more than 3 IDC plugs, you can make a short testing cable as shown. Mount the plugs in opposite direction to make wiring to Arduino easier. On the picture you see pin 2 (yellow wire) connected to GND of Arduino, pin 3 (blue wire) connected to pin 4 of Arduino and pin 4 (red wire) connected to pin 5 of Arduino.


Follow the steps on Test Your Board

IMPORTANT: The motors included in the Electronics and Motors subset are rated for fairly high current, so you want to attach heat sink to L298 chip as soon as you can, otherwise you're running the risk of frying the chip!!! If you run it without a heat sink, as shown in the picture, keep operating time to a minimum - seconds. Remember that the highest current is consumed when the board is enabled (default) but the motor is not moving (holding position).

Stick a piece of tape to the motor shaft. If it's rotating - congratulations - your board works!

Wiring for Contraptor

Wiring diagram


The diagram shows how to wire an axis with Electronics & motors subset. Verify that the sliding elements are grounded because bearings and UHMWPE channels are not conductive. Also, check if you have min/max switches in correct order. If you say "G1 X1" the axis should move towards the max switch. If you say "G1 X-1" then it should move towards the min switch. You can test the switches by shorting them with the frame using a screwdriver during an axis move. Since I/O pins are mapped to stepper boards in the firmware, it's not important which specific pins the boards are connected to. Just remember the sequence on the connections - STEP, DIR, ENABLE, MIN, MAX for Stepper Motor Driver v1.2. This might be different for other versions.


L298 chip MUST be heat sinked when powered on with the stepper motor connected, otherwise it will quickly fry.

When 2 LEDs near the motor connector are on but the stepper is not rotating, the current through the stepper coils maxes out. The stepper is rated for 2.3V, 2.3A while the board is 2A. The chip (and small heatsink) get really hot when the motor holds the same position for a while.

Don't touch the heatsink/chip or you'll burn your fingers.

To deal with heating, the chip is heat sinked with a 3" angle connected to the frame, which dissipates the heat really well. In addition, the firmware disables the steppers after each move.

If the steppers have to stay on (for example with belt drive), then heat sinking + active cooling with a PC fan is recommended - both for the board and the motor.

Connection to stepper motor


The stepper motor supplied in the kit should be connected as follows:

  • A - black/gray wire
  • B - green wire
  • C - blue wire
  • D - red wire

The white and yellow wires are not used; they should be isolated from the rest (and each other).

To reverse the default motor direction, you can swap wires A and B in the connector. This you should do for the vertical Z axis, then "G1 Z1" moves upwards an "G1 Z-1" moves downwards to the material you want mill.

Other motors may use different color coding.

Connection to Arduino


IDC connector goes only on one side of the ribbon cable. A 5-pin 0.1" header is soldered to the other side of the cable (see the wiring diagram). Also have a look at the wiring diagram below.

On the stepper board end, the ribbon cable should be connected to IDC plug so that the red stripe corresponds to pin 1 (triangle). In this case the pinout at the Arduino end of the ribbon cable will be:

  • pin 1 (red)
  • pin 2 - GROUND
  • pin 3 - STEP (connected to header)
  • pin 4 - DIR (connected to header)
  • pin 5 - ENABLE (connected to header)
  • pin 6 - MIN (connected to header)
  • pin 7 - MAX (connected to header)
  • pin 8
  • pin 9
  • pin 10

GROUND connection can be ignored if:

  1. Boards are mounted via heatsink to the frame
  2. Arduino GROUND is connected to the frame

Wires 3-7 of the ribbon cable need to be soldered to 5-pin 0.1" header which will connect the board to Arduino.

Connection to limit switch

Need to merge



A generic PC power supply is used to power the stepper boards. Arduino is typically powered by USB bus.
To use the PSU switch to turn it on/off, the green wire should be connected to any black wire on the PSU motherboard connector.

For further details for the PC power supply have a look at Using a PC Power Supply ar

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License