Connecting MicroMaestro with an Arduino, and controlling it with Matlab

Dear All,

I have got a MicroMaestro connected with Arduino UNO and it does work correctly, although I want to control the servo driver with an application made in Matlab. I would like to ask for some advice concerning the most convenient, fastest or easiest way to establish a reliable connection between those devices. All comments are appreciated.

I should mention that my general programming skills are rather limited, and comments assuming that I know all the details concerning writing an advanced piece of software are probably going to be met with a horrible misunderstanding from myself.

Thank you all in advance.


Considering that you want to control the Maestro from MATLAB, you will probably be using the Maestro’s virtual serial port, which should be fast enough for most applications. If you can tell me more about what you are trying to do, I might be able to provide some suggestions.

By the way, if you need help getting started, you can find a link to some MATLAB serial example code under the “Related Resources” section of the Maestro User’s Guide.

- Amanda


I am trying to drive 3 individual servos - 3 axis of my machine, via an application in Matlab in which you should be able to drive individual axes. One should be able to control either speed of the axis or how far it should go. Changing the acceleration of the servo is not as mandatory as the previous two examples.

I had an idea to make arduino ‘copy’ the commands from its own serial port to the virtual serial port connected to the maestro. I would appreciate if you provided some comment whether it is possible, or rather ‘correct’ approach.

Thank you very much.

I think using an Arduino in your system is unnecessary and creates extra overhead; you can control the Maestro directly from the computer by sending serial commands to the Maestro’s virtual serial port through your MATLAB program. Have you tried using the MATLAB serial example code I linked in my previous post?

- Amanda

Without the arduino I will be missing several input pins - no ability to connect any peripherals such as LEDs signaling operating state of the device, pushbuttons limiting the movement of each axis. I have figured out a way to communicate Matlab and maestro, MATLAB sends data through the COM port on the PC and arduino has a virtual serial port that connects to micromaestro, the communication seems to works fine so far. Are there any problems that can be faced because of my approach?

I think you meant to say that your Arduino board is connected to the Maestro via TTL serial (unless you are using some kind of USB Host device), since your Arduino Uno’s USB port is connected to your computer.

I still think controlling the Maestro with your MATLAB program directly from the computer would be more efficient and reliable than using the Arduino to relay serial commands to the Maestro, but it sounds like your current setup works for you.