A DIY Stepper Motor Analyzer Designed for Your 3D Printers

This open source analyzer comes with an easy-to-use setup and tests each and every parameter of a stepper motor.

If you have a 3D printer and want to analyze the stepper motor signals without the use of a computer and expensive stepper analyzer, then this low-cost hardware design can solve your problem. The open source analyzer comes with an easy-to-use setup and can be easily built to give you the capabilities to test each and every parameter of the stepper motor.

"The analyzer is self-contained, has two 4-wires pass-through connectors connecting the stepper motor, is powered from a common 5V charger with a micro-USB cable, provides a simple to use graphical user interface with a 3.5" color touch screen, and provides a plethora of stepper motor measurements," its creator Zapta notes.

When it comes to the working of the hardware, it seems to be very straightforward as the stepper motor is connected to the device via 4-wire pass-through connectors that monitor the current through the stepper motor’s coil. The hardware is capable of measuring the coil’s current 100K times a second, leaving the rest of the heavy lifting on the firmware that extracts, analyzes, and displays the current on the color touchscreen.

To get started with the hardware, first, turn off the equipment (for example 3D printer), then "disconnect the four wires of the stepper motor and connect them through the Analyzer two pass-through connectors." To power the device, use a 5V charger and a micro-USB cable, which seems to be the most asked powering option for the user. With this, the setup is complete, and after this turn on the equipment and stepper motor and analyzer the signals on the simple stepper motor analyzer.

One of the interesting facts about the hardware is that in the settings option you can calibrate the analyzer and this memory is stored in a non-volatile memory keeping the data intact even when the power is turned off.

When it comes to the hardware that goes behind this fantastic stepper motor analyzer is the custom PCB that has a 32-bit STM32F401CE MCU running at 84MHz. This 97 x 66mm sized analyzer features a 480 x 320 pixel size color display with capacitive touch giving the user a high-class experience. Since this is an open source project, Zapta has provided all the schematic and BOM files on GitHub.

If you build your own stepper motor analyzer like this, then flashing the firmware is as easy as it could have been. "For software developers, we recommend using StLink V2 and SWD which are well supported by the platformio IDE and enable debugging and single-stepping. A simpler approach that is recommended for end-users is to use the built-in DFU protocol of the analyzer's STM32 processor, such as the one we use here," the developer suggests.

For the DFU bootloader, the instructions are available on Adafruit's website. As mentioned earlier, one of the main advantages of an open source project is the capability to customize the end product as per the requirements. You can modify the firmware that is available in the GitHub repository. The designer has used STM32 C++ Platformio with the Arduino framework.

While creating your own hardware, Zapta has pointed out that the available firmware assumes a 25MHz crystal, so for an MCU that runs at 8MHz crystal, you will need to modify the firmware accordingly. If you are interested in the project, head over to its GitHub page, where you'll find more details.

Abhishek Jadhav
Abhishek Jadhav is an engineering student, freelance tech writer, RISC-V Ambassador, and leader of the Open Hardware Developer Community.
Related articles
Sponsored articles
Related articles