Micro Maestro command rate

I have a 6-channel micro maestro that I’m using to drive 5 servos. I want to make fairly rapid changes to the servos, but I seem to be hitting a problem with the processing rate of commands. I’m using a microcontroller to drive the maestro, and connect via TTL serial at 19.2k baud. I use the compact protocol set target command (0x84) to set the position of servos - one command (4 bytes) for each servo. If I try to send the maestro more than about 12 commands per second, the red error light comes on and it stops driving the servos. I believe I’m getting a serial overrun error (error bit 1). If I lower the rate at which I send commands to 10 per second I can run like that for hours. 12 per second and above gets me the red error light after a number of seconds.

Is there an internal buffer I’m overflowing, and if so is the buffer bigger in the bigger controllers (mini 12, 18, 24 etc)?

I haven’t thought about it hard enough yet to work out whether I can get around the problem by setting multiple targets in a single command - that’s not available on the micro anyway, and has some restrictions (e.g. contiguous block of channels). Maybe I just have to ditch the maestro and control the servos directly from the microcontroller - costs me more cpu and IO pins but it might be my only choice.

Any ideas?


I would expect the Maestro to handle commands at that rate. Could you connect the Maestro to your computer with the USB port while you send it the serial commands to see if you still receive an error? If you still get an error, could you check what error is being reported in the Maestro Control Center and make sure that it is the serial overrun error that you think you are getting? Also, what firmware version does your Maestro have? The firmware version will be displayed at the top of the Maestro Control Center when your Maestro is connected.


Brandon, thanks for the suggestion. I tried the Control Center and it worked just fine. In the end the problem turned out to be an obscure power problem (long story - the problem was that the input voltage was too high…) - plugging the Control Center in via the USB port made the problem go away by supplying power via USB.

All fixed - the Maestro is able to process commands at the rate I need.

I am glad you were able to figure out what the problem was and get it working correctly. Thank you for letting us know. Good luck with your project!