I have decided to document some of the activities that had gone on since the last time I burnt my stepper motor drivers. It was interesting for me and maybe it could be interesting for some of you too.

Left Easy Driver Stepper Motor Driver Board was found faulty.

Left Easy Driver Stepper Motor Driver Board was found faulty.

As I mentioned in my previous post, “I only found out that my stepper motor drivers were damaged when I noticed that some LED lights were not functioning as normal and the motors were not responding to the commands. Unfortunately, I did not have any spare stepper motor driver board….”

As it turned out, I ordered the same stepper motor driver boards that I had used before, which was the Easy Driver V4.4 board through Ebay. However, the delivery from China took much, much more time than the estimated time, so I began to look into other options. Finally, it turned out that the item that I ordered was not delivered at all and I had to request for a refund. This took much of my time.

Wiring Polulu A4988 Driver Boards by soldering wire leads to the leg connections and strengthened them mechanically by passing through holes in the pieces of pcb boards. The center was left open because most of the markings were indicated at the bottom.

Wiring Polulu A4988 Driver Boards by soldering wire leads to the leg connections and strengthened them mechanically by passing through holes in the pieces of pcb boards. The center was left open because most of the markings were indicated at the bottom.

The other option that I stumbled upon was the Polulu A4988 stepper motor driver which was used mostly by 3D printers. However, all the instructions that I saw on youtube involved connecting them through Arduino and Arduino shield, something which I was not prepared to invest in. However, I was able to receive the A4988 boards very quickly, and to top it all, these boards were much cheaper.

Polulu A4988 stepper motor driver boards were mounted on PVC casing. Holes were drilled through at the PVC casing, spaced further apart and the bare copper wires were passed through and bent where needed to hold the assembly in place.

Polulu A4988 stepper motor driver boards were mounted on PVC casing. Holes were drilled through at the PVC casing, spaced further apart and the bare copper wires were passed through and bent where needed to hold the assembly in place.

But I didn’t have Arduino. I made all my CNC machines without Arduino. I had used only LinuxCNC running on Linux Debian software to save cost due to its open source nature. I believed that this free software was very powerful, was stable and had all the features that could rival the commercially available Mach3.

Back of PVC board. The low voltage wires were insulated from one other and gummed to the pvc casing by masking tape, so that power cables would be placed away from signal wires as much as possible.

Back of PVC board. The low voltage wires were insulated from one other and gummed to the pvc casing by masking tape, so that power cables would be placed away from signal wires as much as possible.

So my focus was to try to utilize the A4988 board. From my experience using the Easy Driver boards, the connections seemed pretty much the same. But my assumption was a mistake which I found out later. I had bought an A4988 shield which could plug in four A4988 boards, but I still needed to plug the whole assembly into an Arduino. However, because of the phobia derived by my bad experience of spoiling the driver boards due to stepper motor wire connections coming loose, I thought it would be much safer to solder the wire leads instead of using clip-on connectors found in the shield. I could not afford to wait again should I burn any more driver boards, at least during this early experimental stage.

X, Y, Z Polulu A4988 Boards together. Initial setup of all the Polulu A4988 stepper motor driver boards connected to the breakout board with signals from LinuxCNC.

X, Y, Z Polulu A4988 Boards together. Initial setup of all the Polulu A4988 stepper motor driver boards connected to the breakout board with signals from LinuxCNC.

The A4988 board was so small that it was difficult to solder, so I decided to extend the wire connections by soldering some copper wires around the terminals and then spacing them apart and mounting on a pvc casing. In this way, I could physically space them apart and easily identify the drivers. From there, I would solder the flexible connection wires and gum them in place by masking tape. I found that masking tape was better than electrical insulation tape because the glue had less tendency to ooze out and the tape material tend to follow the form of the soldered joint, so helping to separate the bare wire joints. Furthermore, during this experimental stage, there were many instances of modification and I needed a tape that could be easily removed. Anyway all the wires were low voltage and there was really no danger of any electrical flash-over. They served the purpose of electrically insulating the conductors, spacing them apart to prevent signal interferences, and for wiring arrangement aesthetics.

After all the connections had been made, it was time for testing.



This testing only proved to me that I could make use of the Polulu A4988 driver board to drive my stepper motors, but more challenges came along.

As time went on, I began to experiment with using NAND gate ICs, which I happened to have, to try to reverse the direction of one of the dual drive motors for the X-axis as I was too impatient to wait for the HEX Inverter IC to arrive. (The x-axis was driven by two stepper motors working together, but one motor needed to be turning in an opposite direction as both motors were facing each other). Using the NAND gate IC did work, but after the initial testing, my driver board got fried due to not having a surge protection capacitor at the power supply. After that, the HEX Inverter IC arrived and I proceeded to use them.

I learned the hard way that I really needed to connect at least 100 microFarad capacitors across each of the A4988 boards motor power terminals to protect the boards. I burned several of these boards when I switched the power supplies on and off during the experimentation. I had thought that I was safe by having one capacitor across the output of the power supply unit itself, but clearly it was not sufficient. Some more buying online and waiting for the driver boards took up my time. Luckily, this time, the waiting time was relatively short.

In addition to the uncertainty of using the A4988 driver board, I also faced problems driving the dual stepper motors on theĀ  X-axis at the same time. A configuration on LinuxCNC using the same step and direction connections for both drivers was chosen as the best option at this time. (There were other options, which needed more detailed software modifications, which I was not ready to pursue yet at this time) The left side motor seemed to move rather erratically as shown in the video. I had tried to adjust the maximum current potentiometer for the driver using the manufacturer’s procedure of measuring the milli-voltage, but this reduced the torque of the motor. Finally, I tried connecting an earthing wire to the motor housing and it seemed to do the trick. How it worked, I still did not know. But the motor was free moving and was not pulling any load yet.

In my next video, I had actually replaced both of the motors as I found that they were not rated correctly for the job.

Once I knew that the Polulu A4988 driver board could be used, I no longer wanted to use the Easy Driver Board for this project. The A4988 board could handle up to a maximum of 1A while the Easy Driver could handle only 0.7A. The difference was that the former was not so easy to use and needed some experimentation as the documentation was not very clear.