1.4. Comparison to the original Simple Motor Controllers
This section lists most of the things you should consider if you have an existing application using the original Simple Motor Controller controller (green board) and are considering upgrading to a Simple Motor Controller G2 (blue board).
Motor driver changes
The G2 Simple Motor Controllers have configurable hardware current limiting: when the motor current exceeds a configurable threshold, the motor driver uses current chopping to actively limit it. The current limit threshold can be configured ahead of time, and can also be changed dynamically via serial, I²C, or USB. The SMC G2 can also measure the current being drawn by the motor.
The G2 Simple Motor Controllers do not support variable braking. Instead, they can either do full braking or full coasting when the speed is zero.
Physical connection changes
You need to keep some things in mind when updating the physical connections of an existing application:
- The Simple Motor Controller G2 uses a USB Micro-B connector (the original controllers used Mini-B).
- The through-hole capacitors have been replaced with SMT capacitors.
- The SMC G2 18v15 and 24v12 boards have the same size and nearly the same layout as the original SMC 18v15 and 24v12. An SCL pin was added.
- The SMC G2 18v25 and 24v19 are significantly smaller than the original SMC 18v25 and 24v23, and the motor/power connections are different. Two SCL pins were added, but otherwise the control I/O pins are the same.
Configuration and software changes
There are several changes to keep in mind when configuring the Simple Motor Controller G2 or updating any software that communicates with it:
- The Simple Motor Controller G2 uses different configuration software from the original Simple Motor Controllers.
- We do not currently provide a Linux version of the SMC G2 configuration software.
- The Simple Motor Controller G2 serial protocol is generally a superset of the original serial protocol, so in many cases, serial interface software running on a microcontroller or computer (using the controller’s RX and TX lines or its virtual USB serial ports) will not need to be modified to work with the Simple Motor Controller G2.
- The Simple Motor Controller G2 native USB interface uses different product IDs and a different arrangement of settings in memory. One command was added (Set current limit). Most of the commands remain unchanged.
- Since the Simple Motor Controller G2 does not have variable braking, any “Motor brake” command received via serial or I²C that specifies a non-zero brake amount will be interpreted as a request for full braking. This also applies to the USB “Set speed” command.
- The SMC G2 boards have reverse voltage protection.
- The SMC G2’s new I²C interface provides another option for connecting to a microcontroller.
- The SMC G2 can be configured to send CRC bytes for serial responses without requiring them on serial commands.
- The SMC G2’s native USB interface implements Microsoft OS 2.0 Descriptors, so it will work on Windows 8.1 or later without needing any drivers. (The USB serial ports will work on Windows 10 or later without drivers.)