Problem with usb maestro and ttl


I recently bought the 18 channel maestro and I’m roaring to get started writing a serial app to control it.

I bought this item to convert the usb cable to TTL: … fault.aspx

I’ve tried connecting the rx-tx and tx-rx pins.

I’m using this source code to start however when I click the send button the lights do flash on the USB-TTL adapter indicating the command was sent however nothing happens on the Maestro:

I’m powering the Maestro with an external 5 volt power supply.

Anyone have an idea’s?


The program you are using is written for a different servo controller, so it’s not surprising it doesn’t work. Please see the Maestro user’s guide for information about the Maestro serial commands.

Also, the Maestro has a USB connector and will show up on your computer as a virtual COM port, so you don’t need an additional USB-to-serial adapter. If you configure the Maestro to be in the proper serial mode, you can send serial commands directly to the Maestro’s appropriate COM port. Once again, you can find more information about this in the Maestro user’s guide.

- Ben

Hello Ben,

Ah crap, that sucks. I have to use the TTL method as eventually it will use an xbee or something for wireless connectivity.

Is there no example .NET code available for this? I’d prefer using an example class or something to start with as opposed to starting from scratch.

You don’t have to start from scratch, you just need to modify the specific bytes that are being sent to be actual Maestro commands as documented in the Maestro user’s guide. Think of Colin’s code as an example of how to send data, and now you just need to pick the values of those data.

If you want an even simpler example of how to send serial bytes using .NET, take a look at the example code at the bottom of this page of our USB AVR Programmer’s user’s guide. This code shows how to transmit two bytes on the serial port. You could make your version even simpler by removing the lines that waits for a response and display it in a message box. If you want to transmit the three bytes 14, 92, and 87, you would use the line:

port.Write(new byte[]{14, 92, 87}, 0, 3);

If you have any specific questions about the Maestro serial commands or the .NET example, please let us know.

- Ben