Controlling a Quad Rotor using Maestro USB controller

we are a small team based in Sri Lanka and have started a research project building a quadrotor. currently we have the following items with us,

  1. Pololu Maestro USB controller
  2. 6 channel 2.4GHz TX
  3. 6 Channel 2.4 RX
  4. 4-1500 Kv BLDC mortors

Before installing an IMU we would like to intergrate those above items and get the vehicle to hover by synchronizing all the motors (we have made a 100% balanced frame). We know that its extremly hard (may be impossible to stabilize this platform without an IMU but we want to get close to stabilization by adjusting each motors RPM individually by using the Maestro)
If you guys have done similar projects with Maestro controller please give us some opinions in this regard.




We have never heard of anything like this being done with the Maestro. Do you have some kind of ESC for controlling the motors? What do you expect the Maestro to do in your system? In general, I don’t expect the Micro Maestro to have enough computational power or I/O to be useful for handling both sensors and motors on any kind of robotic flying vehicle.

However, if you have another controller board of some sort to do the main processing and read your RC receiver signals, the Maestro could certainly function as a controller for four ESC channels.


first of of all thanks a lot Paul for your response.

yes, we do have ESC’s for controlling those motors and also we have a high performance CPU board ADL945HD board from Advanced Digital Logic and Silicon Sensing DMU-02 IMU.
we have already made our airframe and installed 4 props and tested it with no stabilization (with no Maestro of course, still its on its way to Sri Lanka) and it has more than enough power to lift off and hover but its really hard to control it by TX manually, since there are lot of variations on RPM’s of the motors even if they work on the same channel.

Once we get Maestro here we want to use it to balance the platform manually by adjusting all te ESC settings by using the Maestro software. obviously we might have to run all four motors in different RPM’s to obtain the stabilized thrust which is enough to hover.

As an example if you look from the top of our model, top and bottom props are turning clockwise and the left and right are turning CCW. we might have to turn the Top prop at 10100 RPM, Bottom 10540 RPM, Left 11750 RPM and Right at 10750 RPM to get it to the hovering position after overcoming airframe inaccuracies in prototyping.
If we can get all those RPM figures exactly it will hover (only hovering with no forward or lateral movements) even with no stabilization system (assuming no external forces are applied).

what we want maestro do is to give us those RPM settings by using a single channel (preferbly Throttle channel on our TX) and after setting it up we should be able to achieve those RPM settings for hovering by moving the throttle on the RC TX.
if you could give us some guidance in setting this up that would be greatly appreciated.

It sounds like you are asking for a way for the Maestro to read the signal from your receiver. That is, unfortunately, not one of its capabilities - its input channels read analog values at a far lower speed than what you would need to process RC signals. I would recommend getting a programmable microcontroller and using it to measure the pulses - are you planning to use one in your project?


ok if i connect all four ESC’s to maestro would I be able to set and control each ESC’s rpm though the maestro’s software without my RC transmitter and the reciever?
if this is possible that’s more than enough at this stage.

since we are trying to use Maestro for controlling four ESC’s instead of servos could you please give us some instructions on that if you recommend any special procedures or methods to be followed when linking Maestro with ESC’s. Thanks

Yes, the Maestro should have no problem controlling four ESCs. You can use the USB port and software on a PC or a TTL serial connection from a microcontroller to send commands.

The only advice I have is to do the same things you would do when connecting the ESC to a servo channel of your receiver - understand the range of pulses that it expects and any safe-startup requirements. This information should be in the manual for your ESCs, and you can easily experiment with it using the Maestro Control Center.

I recommend using all of the safety features of the Maestro: CRC, the serial timeout error, and the “on error” settings for each channel. It might even be possible to use the two remaining Maestro channels with a two-axis accelerometer or gyro and write a script that would bring the platform down gently in case of a software crash on your main board. (I am thinking of a script that would begin with a 100ms delay - your main software would constantly reset it as long as everything is okay, but if it ever failed the script would proceed to the rescue code.)

Anyway, the project sounds exciting! Is the ADL945HD going to fly on this platform, and will it have a wifi adapter or something installed? Can you post any pictures or videos?


I am not an expert when it comes to microcontrollers and device programming and we have two guys who have good knowledge when it comes to device interfacing, and software programming. I am handling our project’s aerodynamics part (I have my CPL/ME/IR and currently working as a flight instructor in Colombo).
yes we are planning to send ADL board up pretty soon with Xbee modules but we are planning to use it wired until we are completely done with stabilization (also we gotta redesign our model with new props since its gonna be bit heavy with ADL board and stuff), we will put some pics soon and I am waiting for my Maestro to come to Sri Lanka.

hi Paul we managed to get all four motors going with maestro and wondering about hooking it up with ZigBee module for wireless controlling, any advice on that?

I don’t really have any advice - if your devices can be used to set up a 5V serial link, they should work fine with the Maestro, and if not, they won’t.