Stepper driver identification help please

This microcontroller/driver is currently used in my plant to operate a single Nema 34 stepper motor, which traverses a printing head (Prints expiration dates on our product) the entire unit was installed just last year by an individual who has apparently chosen to quit doing said work, as he will not return any calls or emails whatsoever, so the torch has been passed to me to try and figure out how to (hopefully) read and edit some of the program, but before I decide I am in over my head, I thought I should throw some pics on here to see if anyone recognizes this type of controller, and how I might communicate with it (my first idea is just to connect an ethernet cable and see what happens, but in the event that can cause problems, I thought I would check here first) Anyway, here are pics of the unit. Any input is greatly appreciated!

Unless you can expose the entire board surface, both sides, you will never be able to determine an id or what ever.

But it looks entirely like a custom built device just for your controlling project.


I agree with Paul. Sounds horribly like you're going to have to shell out for someone else to design you a system - unless you feel you could do it?
This time, make sure the contract includes a full manufacturing drawing set - with circuit diagrams, bill of materials and code listings.
BTW - must be a pretty massive print head to need a NEMA34!

Some people use ethernet connectors for other purposes so the last thing I would do is connect to that port unless I had scoped it out first.

Find all the numbers / id marks you can and slowly run them through google to see what hits come up.

It may be an OFF THE SHELF item.

It may be an OFF THE SHELF item.

The fact that there are so many unused connections suggests so to me.

Yeah, I googled what I could see at this point of disassembly and got nothing, that’s why I asked here. I’m confident I could build an all new unit, using just an arduino uno and a standard stepper driver, it’s really not that complex, I have no idea why there is a Nema 34 pushing it, it just runs a timing belt (HTD 5M I believe) and the printer head and carriage slides on a 15mm wide rail with ball bearing carrier, it really has nearly zero resistance, and the entire moving assembly weighs at most 6 kilos. My only guess is that he used a 34 just to get the speed he thought it needed, but that is the problem now, the belt gets slack and on one direction (return home) pass, it gets so slack it rubs on the carrier, causing a vibration that transfers to the ink jet and causes the printed code to get garbled, if it ran half as fast (which would still be plenty fast) the belt would remain tensioned enough to not drag on the back side. I’m toying around with it today to try and create and install some kind of active tensioner (similar to the torsion spring used on a 3d printer) but there is really not enough space on the current hardware design for a more sophisticated belt tensioner.
If I were to redesign the controller, I would just need to create a program with commands to move to home proximity switch 1, then switch activate (push button or photo eye sensor wired parallel) stepper rotate CW at ____ speed until proximity switch 2 activates, when switch activate (push button or photo eye again) stepper rotate CCW at ____ speed until proximity switch 1 activates. So it really would not be that complex of a job to completely redo, its just that it currently works, if the hardware (timing belt) cooperates, however if I could just interface with the existing controller and just change the speed at which the stepper rotates, it would be a very simple fix.


You are allowed to use line spacing and paragraphs.

I gave up after the first two lines.

When was the last time you replaced the timing belt?


Last year when the unit was installed was the last replacement of the belt, perhaps the next thing I will try is replacing with a new belt, maybe we need to put that on a yearly maintenance schedule.

Unless you can ID the board and processor (if it has one) and are confident that you can build a replacement - I would go that way. Just make sure you document the hell out of it for your successor.

If the previous guy had just used something simple and open source like an arduino and gecko driver I wouldn't need any documentation haha just plug in a usb cable, download existing program, change value for speed, and then re-upload program!
Instead I am chasing my tail doing all sorts of hardware modifications like a ghetto homemade belt tensioner, etc...

... the entire moving assembly weighs at most 6 kilos. ...

6kg is quite a big mass to chuck around. How fast do you need it to move? What time (or distance) can you allow for acceleration and deceleration? Does your motor have a gearbox, or is it direct drive onto the pulley? What diameter is the drive pulley?

6kg is exaggerating, in actuality it is probably closer to 3kg. I'll get some pictures in a minute of the entire assembly more in detail. It only travels a total of about 700mm, then returns, currently it makes the 700mm trip in about 1s, when it could do it in 4-5s.
It has about 100mm on either end that it could decel/accel but it currently does not, if the belt is tightened as I would like, the motor shudders violently and loses steps, so it needs to be ever so slightly slack, which is causing the issue today of the slack side of the belt rubbing the carrier.
The drive pulley is directly coupled to the shaft of the Nema 34 stepper, and is approximately 50mm diameter.

I’m surprised it’s working at all!! Some sums:
Travel speed = 0.7 ms-1. Motor rev rate = approx 270rpm, or about 1800 halfsteps/sec for a 200 step/rev motor.
Steppers generally don’t like to pull in at more than about 200 halfsteps/sec, so it’s only the huge torque of the motor stretching the belt that’s allowing it to work.

If you were to allow 1 second for acceleration/deceleration, it could get up to the same speed and do the trip comfortably in 3 seconds.
Acceleration = 0.7 ms-2,. Load mass = (say) 4kg. Force to accelerate = acceleration * mass = 2.8N.
Pulley diameter = 25mm, so motor torque is about 0.07 Nm (ignoring friction, motor and pulley inertia etc.). This is well within the range of a NEMA 23.
Load inertia seen by motor = load mass x (pully radius)2, or about 25 kgcm2. This is about 200 x a typical NEMA 23 rotor inertia, so for good measure, you may need a gearbox - the load inertia shouldn’t be more than about 10x the motor rotor inertia. A 15:1 gearbox would do the matching, but the motor wouldn’t make the speed (27000 halfsteps/sec).
As you’re not pushing the motor very hard, you may get away without a gearbox, - suggest you ask a motor vendor for advice.

You could keep the 34 motor, but even then the load to rotor inertia ratio is about 25:1, so far from ideal. Again, ask a reputable motor vendor.

Finally, I’d like anyone who fancies a go to check my figures - the back of this envelope is rather crumpled. Also, I know I should have been talking about moment of inertia, but just inertia is common parlance in this field.

Think I overdid it with the gearbox - a 5:1 gear ratio would bring the inertia seen by the motor down to 1 kgcm^2, which is acceptable - ratio is then about 8:1. Motor speed = 9000 halfsteps/sec, which is fine for e.g. a 23HS-108.

Last year when the unit was installed was the last replacement of the belt, perhaps the next thing I will try is replacing with a new belt, maybe we need to put that on a yearly maintenance schedule.

Then there may be other problems. I had a CNC selective soldering machine with a very long timing belt. It was never replaced with 11 years use. We did adjust the tension one time, years ago.
Be sure all the pullies and the belt are compatible. Be sure the belt does not ride on anything that can cause wear on the teeth. Be sure no lubricant gets on the belt.

Well, I took the controller apart a bit more, and got some pics of the hardware side of things. While I had the control apart enough to get some pics, I noticed there were two potentiometers below the led numeral display, and so I did some fiddling with it, and the pots change the tens and the ones place on the digital display, and apparently there is a third decimal place higher that is not viewable, as I turned it down about 500 increments, which allowed me to make the belt much tighter than it originally was, and still travels across the distance very fast, but a smidge slower than it was, and still plenty fast enough for what it needs to do. So, problem solved, just not quite how I had planned. Anyway, here are the pics I got, just in case anyone is curious.

Yeah, I don't think there is really anything wrong with the belt, it has always been ran very loose, due to the over-speed stepper, but now that I have that 'kinda' fixed, I have the belt quite a bit tighter, still not as tight as I would consider proper (from an automotive timing belt kind of thinking) but far tighter than it ever has been with the speed turned up to maximum.

AKD is a good name. Google can help you find more information.