18v15 Simple High-Powered Motor Controller Raspberry Pi

I am having trouble communicating with the SMC using python. admittedly, I am very new to serial and probably don’t fully understand what I am getting into. Any assistance is helpful. Thanks in advance.



I moved your post to the “Motor controllers/drivers and motors” sub-forum which seemed more appropriate.

I tested your script and it works. It is difficult to help you troubleshoot your issue without more information (e.g. what errors are you getting, and what are you expecting your script to do?). Reading through our support page should give you a good idea of the kind of information that would be helpful in troubleshooting.


When I send the command in the script, it should disable safe start mode correct? I also should be able to see that change visually in the command center (on my laptop connected via USB). I don’t see any change on my laptop which leads me to believe that it doesn’t work

Can you post your settings file from the Simple Motor Control Center and pictures of your setup showing how everything is connected? (To save the settings from the Control Center, select File->Save Settings File…)

- Amanda

I forgot to address your question.

Yes, sending 0x83 to the smc should exit the Safe-start mode and clear the Safe start violation error under the “Status” tab of the Control Center.

- Amanda

Here are the files as requested. The blue wire connects to ground, while the orange wire connects to RX on the smc side and TXD(BCM14) on the RPi side. RPi Pinout may be found at pinout.xyz Thanks for all the help.

smc_settings.txt (3.0 KB)

Your serial connections between the two boards and settings in the Simple Motor Control Center look fine.

From your pictures, it looks like you have the Raspberry Pi 3 Model B version. There is a known UART speed issue with the Raspberry Pi 3 where uart1 is dependent on the CPU clock, meaning any changes to the core clock will affect the baud rate. I tested your code again, but this time using a Raspberry Pi 3 Model B, and implemented this workaround. I got your code to work with the SMC. Did you try implementing something like that to address the issue?

- Amanda

That seems to have fixed it. I now cannot send it speed_set commands.

1 Like

I am glad the serial connection between your Raspberry Pi and SMC is working now; thanks for letting us know.

With your current issue, can you provide more details (e.g. error message) and post your new script?

- Amanda

Hello, sorry for the very delayed response. currently, I can get the SMC to communicate successfully with the RPi (uploaded file: SerialTest.py). Since then, I have written a new script with some extraneous functions. For some reason, I cannot get the RPi to communicate with the SMC in this new script. It won’t even clear safe start. The new scripts may be found uploaded under the names ServerPi and Interpreter. Wiring remains the exact same. Another note is that I have tested all of the new code (TCP/IP COMS & all the if statements using LED’s. I just cant get it to communicate with the SMC.
Interpreter.py (5.3 KB)
SerialTest.py (967 Bytes)
ServerPi.py (679 Bytes)
smc_settings.txt (3.0 KB)

There is a lot going on in your new scripts, so I did not look at the code in depth. Can you try simplifying your code to the simplest version that should work but does not and post it here? It might be easier to use SerialTest.py as a baseline, since you know that it is working, and checking continually that the Raspberry Pi can communicate with the SMC while modifying the script to look like your current script(s).

- Amanda