ComMotion Motor Controller Shield

Need help with the ComMotion Motor Controller Shield. Searching at this site for info on this shield leads to many pages with 404 errors.

Examples of broken links related to ComMotion are:


So it's really hard to even find an example of a related Arduino code here. Could the sample codes lost be posted back and a link be sent to me via a comment to this post pls.

I found on Github, Blueglide's Arduino sketch which was based on one of the files lost here, at,

Using this sketch, my Arduino can communicate with the shield and the motors spin but I cannot seem to get the M2 and M4 motors to spin in reverse.

They always spin in the same direction even when -ve values are inputted into the IndividualMotorControl function. M1 and M3 behave well - spin one way, then the other when the corresponding values are reversed in sign. Correspondingly the M1 and M3 LEDs flash green for one direction, red for the other. But the M2 and M4 LEDs are always red, never green.

Help woudl be appreciated, thanks.







I have been using the ComMotion with a 3 motor scamper and had lots of problems getting started. You can get a copy of the manual from:

I found a number of incorrect or incomplete demos. Many seemed to be based on prior revisions of the firmware. It is important that you configure the device appropiately. At a minimum you must properly setup the number of motors and the encoder resolution. The following is a link my very simple 3 wheel implementation.

Thanks ggallant for

Thanks ggallant for responding.

As an absolute minimum, I would just like the shield to make the motors spin correctly without  any encoders involved. Could i trouble you to take a quick look at the code at

to see why I might be having problems making the motors at M2 and M4 reverse at negative values. I used the code with the ComMotion shield with two different sets of hardware: the Dagu Rover 5 and with the DFRobot Pirate 4WD Mobile Platform. I still cannot get M2 and M4 to reverse on negative values. Thanks.


It took some time (put the scamper in an unmarked box) to build and test the code. I had 2 hardware problems and 1 major confusion. First:

  1. 2 of the 6 batteries were very dead. The other 4 were fine. Very puzzling. 
  2. Have a bad solder connection on one of the motors. Need to remove motor to fix properly.

Confusion was that some of the motors worked some of the time with the the USB plugged into the Arduino. Removed the Vin jumper on the ComMotion board, installed new batteries, and jury rigged the motor wire. Now the demo works with all three motors. New confusion because my original code now misbehaves. My guess is the USB power is insufficient to power two CPU boards and 3 motors.

Uploaded a revised ComMotion3 sketch to dropbox that does not use a ComMotion library. Self contained.

I found out by accident that back to back I2C commands fail. Did not experiment to see what the minimum time is. I do have a tank tread rover with 4 motors. Could remove the treads and hook up ComMotion if nesessary. Good luck.


Hi all,

  I’m releatively new at this, but I recently pruchased the ComMotion from SparkFun. Before purchasing, it looked like this was going to be a great product for me, and would be workign right away. Boy, was I wrong.

I am able to control the motors, but for the life of me, I can’t get encoder feedback. I feel like it shouldn’t be that difficult to do, but everywhere I search for any help, I can’t find anything! I’ve read & reread the manual, tried sample Arduino code, and experimented on my own. Most forums seem to lead to broken links, and I read in the comment section og someone’s code that the encoder feedback through the request shield status will probably never work.

Has anyone been successful in reading the encoder counts? If so, what do I need to do to have successful readings? Any help woudl be greatly appreciated! Thanks.




Encoder Feedback?

Thanks for posting these sample codes! Does anyone know if the demo files will allow for encoder feedback? Any help would be greatly appreciated!!