24v23 serial communication error


We are trying to use the 24v23 Simple Motor Controller to regulate the current of an electromagnet. We built a protocol on LabVIEW for the TTL serial communication with the motor controller. Signals are transmitted through a National Instruments DAQ device. Our LabVIEW code seems to generate the correct signals, however the Control Center software shows us that there are (almost random) serial errors in terms of noise and format. For some speed values (between 0% and 2.5%) there are no errors, and starting from that point we get those errors randomly. Please see the video attached.

Actually we tried several protocols including Compact protocol, Pololu protocol and with & without CRC-7 checking. We seem to generate correct signals and the software shows that they are indeed correct, but from time to time the communication is interrupted by these serial errors.

What could be the error? I also attached our LabVIEW code’s screenshot.

Low definition: - YouTube
High definition: https://www.wetransfer.com/downloads/59218042df2c044ad605156ee897256920160714154845/1c3826

Thanks in advance!


I am sorry you are having trouble controlling your Simple Motor Controller. We do not use LabVIEW, so I am not sure if your diagram or code is set up correctly. Can you try sending those same motor serial commands from the Pololu Serial Transmitter Utility? If those commands produce the behavior you expect, you might try inspecting the signals your LabVIEW code generates with an oscilloscope.


Hello Jonathan,

Thank you for your answer. As you have demanded, I tried to send motor serial commands from the Pololu Serial Transmitter Utility, and it worked fine. So probably there is a problem with LabVIEW, the DAQ device or the serial connection. For troubleshooting I checked the signals with an osciloscope, as you had suggested. Please see the images attached. I uploaded screenshots for two different values: 1 and 100.

I find it interesting that there is a huge gap between each command sent (please see the 3rd image). That’s apparently because of LabVIEW’s processing time of each iteration of the while loop that generates the serial signals. I wasn’t able to shorten that time gap. Do you think this would be a problem? I mean, the signals seem to be correct according to the oscilloscope but I don’t know if those gaps are a problem for the motor controller.

I look forward to hearing your suggestions.


Having a delay between each of those commands should not be an issue for the Simple Motor Controllers.