Simple Motor Controller 18v7 with BeagleBone

I am brand new to building robots so please excuse this basic question. I bought two 18v7 controllers and connected everything. I then connected the controllers to my BeagleBone and I see the serial device (/dev/ttyACM0) however when I run the SmcCmd -s command it says that it can not find any controllers. I connected both controllers and get the same results for each. Any suggestions on why the serial device is created but the software does not recognize it?


If you run SmcCmd with no parameters, it should print out a a version number. What version of SmcCmd do you have?

The SmcCmd utility does not connect to the virtual serial port. It identifies devices by their USB vendor ID and product ID, and it connects directly to them using libusb 1.0. I don’t know if you have the lsusb utility installed on your BeagleBone, but could you try running “lsusb” at the command prompt and post the output from it here? If you have lsusb, running it should list the USB vendor IDs and product IDs for the devices connected.


Thanks for the reply, when I run SmcCmd without any options it says I have version
The output of the lsusb command is:
[size=85] Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 001 Device 004: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 005: ID 1d6b:0104 Linux Foundation Multifunction Composite Gadget[/size]

After reading the specs of the 18v7 Motor Controller, I am wondering if I do not have enough power. The chassis I ordered ( … UTF8&psc=1) came with a battery pack that only holds 3 AA batteries (4.5 V). I ordered a battery pack that holds 8 batteries and that should be here Wednesday so I can try that. Would this cause the problem where the serial device appears (/dev/ttyAMC0) but I am unable to access it?
Sorry for the basic questions, just starting to learn and it has been years (approx 25 years) since my last basic electronic courses in college.

I don’t see the Simple Motor Controller on the list from lsusb, so I don’t think it is being recognized at all by your system. The /dev/ttyACM0 device you see probably belongs to another device. The minimum operating voltage of the Simple Motor Controller 18v7 is 5.5 V so I do not recommend using it with your three-battery pack. Could you try disconnecting everything from the controller except for USB and seeing if it shows up in lsusb? You should see a device that has our vendor ID, which is 1ffb. What are the LEDs on the controller doing? You might try using a different USB port and a different cable. Another useful command to run for debugging is “dmesg”.


I am running Ubuntu 13 on the BeagleBone (just realized that I did not mention that before).
When I have the 18v7 motor controller plugged into the USB hub, the /dev/ttyACM0 in listed with “sudo ls /dev/ttyA*”. When I unplug the controller the serial device is gone when I run “sudo ls /dev/ttyA*”.

After I sent the original post I realized that what I think was the error light was on when I had the battery plugged in (red led is the error assuming but does not specifically say that here: That is what lead me to looking at the power requirements more closely. The USB hub that the controller is plugged into is powered but without the battery, the seal device (/dev/ttyACM0) does not show up so I am assuming the controller can not be powered via USB.

Descriptions of the three LEDs can be found in the “LED Feedback” section of the Simple Motor Controller User’s Guide. The Simple Motor Controller can be powered through USB, so I would recommend disconnecting everything except USB just to simplify your system until you can get the USB connection working. You might try connecting the Simple Motor Controller directly to your BeagleBone without the hub in case the hub is causing the problem.