Letting the Smoke out of an A3977

A3977 stepper motor driver breakout boards

What’s the difference between these two boards?

  • The one on the right is prettier.
  • The one on the left has the driver chip soldered in the correct orientation.
  • The one on the left still has the magic smoke.

5 Responses to “Letting the Smoke out of an A3977”

  1. IgorM says:


    It’s funny to see other people in the world do similar projects and fight the same issues almost at exactly the same period of time. During the last couple of months I’ve mastered the laser-iron method, plastic container etching and a tinning (I’ve found a liquid in Electronics-You-Do-It – works like a charm). And all this for my own home-made CNC machine for milling and auto-drilling of the PCBs. I’ve used the same A3977 for the control boards, but after making my own design I’ve found a very nice portal (http://www.pminmo.com/) that has an open design modular (interchangeable) components for the CNC – stepper controllers, control boards and power supplies. This is the one I’m trying to replicate for the A3977 – http://pminmo.com/ss3977/ss3977.htm
    I have the components, the etched boards, drills and just got a dremel Drill station from a friend to try – going to drill the holes today. Not sure what a precision I’ll be able to achieve.

    Have fun and good luck !

  2. Jean says:

    Hi, Keith, I’m Jean, from France.

    I’m working on a DIY CNC milling machine and going through pretty much the exact steps you are. I found your blog on Google looking for ways to speed up my stepper motors. I think it would be a good idea for us to compare notes.

    I’m an electrical engineer specialized in embedded computer design and real-time software. My CNC machine is also intended for milling and drilling circuit boards, and for routing robot parts out of aluminum.

    I’m not sure where to start, so let’s start at the beginning: a few years ago I was invited by LPKF with other engineers to a demonstration of their circuit-board milling machines. These are serious machine, 5 micron accuracy, they can route five tracks between two regular IC pins. Plus, they have automatic tool change, specialized bits for RF boards, and even a rapid-prototyping system to make plated vias on dual-sided boards (using a copper-based paste) and you can also replace the spindle with a laser ! Very impressive to watch working, very fast too, and small enough to fit on your desk besides your PC. The only issue is, the entry-level machine costs the same as a car. You might want to check their website (lpkf.de , yes, it’s German hardware).

    Despite the price, I really wanted one. It’s just too cool.

    You’re probably familiar with the Elektor magazine. In Europe they have started to sell in September a much cheaper CNC milling machine for circuit boards. Obviously less sophisticated than the LPKF, but it’ll get the job done. Costs a bit over 2,000 dollars and you have to assemble it yourself. You can check it out on http://www.elektor.com , select “milling machine from a kit” (there’s a picture).

    I’m still considering buying this machine, but as an engineer (and the tinkering type, much like you) I’m trying to see if I can’t make my own and save a lot of money in the process.

    So I bought a few cheap steppers (similar to yours) to experiment. Since I didn’t really know where I was going, I made a modular board with a microcontroller, an L297 and an L293.

    The micros I use are Cypress PSoC. If you don’t know about them, you should REALLY check them out. I’ve been in the business for more than a decade and tried many micros, but these are the absolute best when it comes to price and versatility. I won’t go into details (because there’s too much to say about these babies) but their main feature is that the internal peripherals are user-definable (like an overly simplified FPGA) with both digital and analog building blocks. Also, the oscillator is integrated, so you really only need the chip itself when making a quick-and-dirty prototype. And the development tools are dirt cheap. The IDE is free, you should try it just to get an idea of the power of these chips.

    My stepper board has no current control, due to being a quick-and-dirty affair, which after reading your blog now seems to be one of the things limiting my speed to 500 Hz (sounds familiar ?)

    On my own, I tried half-stepping and speed ramping, but it didn’t help. I looked at the signals going to the motor and had perfectly square waves (not surprising at 500 sps).

    My board is equipped with RS-232 so I actually control the stepper from my PC using a software terminal (TeraTerm, possibly the best there is). The PSoC gives me ridiculous accuracy overkill in setting the steps frequency (using a 24 MHz, 32-bit counter / PWM)

    After reading your blog I figure I would now have to try increasing the voltage to my stepper. Also, right now I’ve been working with a 12V stepper (due to using the weak L293). Soon I’ll move to a 5V motor and a beefier L298 driver or even L6203. I should get a speed increase comparable to what you got, I just hope the motor won’t melt.

    I have samples of voice-coil current amplifiers (for HDD head positioning) but they are PLCC. Sooner or later I plan to design a micro-stepping controller (the PSoC micros can be designed to have multiple DAC’s I would use to generate the waveforms).

    Let’s keep each other updated on our progress, so we don’t duplicate our efforts. I mean, I also had the idea of scavenging the joysticks off a cheap video game controller :-D . I do a lot of repurposing.

    I’ll get started on a wooden X-Y-Z machine in the coming days. I’ve looked at a lot of software options for driving my CNC but I don’t trust a PC’s printer port to be accurate enough for the job, so my plan is to design my own cheap stand-alone controller (I do that sort of thing for a living, so I’m leaving that for last). The idea is to upload the Gerber and Excellon to the machine and let it do all the work, or at least have a milling machine that understands G-codes. I don’t want my steppers’ timing to be dependent on the PC’s timing.

    In the meantime I’d be very interested to know more about what you’ve learned working with stepper motors.

    Best regards,


  3. Len says:

    I know you probably enjoy the challenge of it, but it’s hardly worth it considering you can buy A3977 based boards for a little more than $30. I’d send you a free pair if you’d write a review of them.

  4. Keith Neufeld says:

    Len, I’d be delighted to take you up on that as long as we’re agreeable about the conditions. Here’s what I have:

    • I probably won’t be able to review in the next couple of weeks, but should be able to within about four. I’m not thrilled about that, but that’s how busy I am right now (and why I haven’t posted much to my blog recently).
    • I’ll do my best to avoid being biased by getting them free. That means if I find anything I don’t like, I’ll be frank about it (but not rude). Of course I won’t be trying to find things to dislike; I just want to be clear. And of course I’ll be equally straightforward about what I do like.
    • No matter how much I like them, I will very likely continue to develop my own at some point. Given the capabilities and pinouts of the A3977, any boards made with it will have certain similarities. I won’t copy your boards any more than I’ll copy the various other boards I’ve looked at; but if that’s a concern for you, it’s probably better that I don’t see your boards.

    If all of that suits you, I’d love to take you up on your offer. If anything there isn’t agreeable, it’s perfectly fine for you to say that it isn’t really what you were looking for.

  5. Tiluck Rai Kallychurn says:

    I’m new to CNC and I want to build the A3977SED DRIVER. Can someone tell me where to buy the IC.


Leave a Reply