Table of Contents

Interfacing the Arduino Control Box

The newer Arduino-based controller board for the manipulators uses a USB connector instead of the RS-232 serial connector of the Lynxmotion SSC-32 controller board. It also has a nice little box made for it, hence the name Control Box.

Serial Port. Usually the serial port is given a consistent name across the operating systems, so that one need only program the serial port once and it works from there. When using a USB cable, the interface appears as a new serial port once the drivers are loaded. The problem is that the serial port label is not necessarily consistent from machine to machine. That means it is necessary to confirm what COM port gets defined for the computer that you connect it to. You might be able to expect that this name will be consistent from day to day, as you plug and unplug over time, given that the computer and the control box used stay the same.

Windows


To determine the COM port label in Windows, open the “Devices and Printers” dialog box. If the control box is plugged in and the drivers for it are installed, it should pop up as some kind of Arduino device. Click on it to open up another dilog box. Click on the Hardware tab and you will be a listing of properties. The port name is one of those properties. It may be COM3 or COM7 or some other number.

MacOS / Linux


The way I figure this out is to first type in:

ls /dev/tty*

and then plug in the device. After waiting a little, I then retype the commant

ls /dev/tty*

and see what is different. The different line is the name of the device. I figure you know how to adjust things to get that name to work for your computer.

Drivers

If you are not sure that the drivers are being loaded, then it helps to type dmesg before plugging it in and note that last few lines (or type dmesg | tail -50). Plug in the device and wait a little bit (say 10 seconds), then enter the dmesg command again. There should be new output for when the device was plugged in. Importantly, there should be some message indicating that a driver (module) was found and loaded. If not, then you may need to download and install the appropriate drivers.

Access to Device

You might not be able to output to the device through the virtual COM port. This could be a function of two things, one being permissions and the other being the virtual serial port settings.

Permissions. Usually in linux, the best way is to add oneself to the group list with read/write permissions for the serial ports. This might be the dialup group. The best is to check what group has access to the device file for the control box, then to add yourself to that group.

Port Settings. Another issue can be the serial communications parameters. They might default to some transmission rate or settings that don't agree with what the control box device actually wants. You will have to modify the settings to align with what is expected.


Back