Mini Maestro 12-Channel USB Servo Controller
The Mini Maestros are highly versatile (and compact) servo controllers and general-purpose I/O boards. They support three control methods: USB for direct connection to a computer, TTL serial for use with embedded systems, and internal scripting for self-contained, host controller-free applications. The channels can be configured as servo outputs for use with radio control (RC) servos or electronic speed controls (ESCs), as digital outputs, or as analog/digital inputs. The extremely precise, high-resolution servo pulses have a jitter of less than 200 ns, making these servo controllers well suited for high-performance applications such as robotics and animatronics, and built-in speed and acceleration control for each channel make it easy to achieve smooth, seamless movements without requiring the control source to constantly compute and stream intermediate position updates to the Mini Maestros. The Mini Maestros also feature configurable pulse rates from 1 to 333 Hz and can generate a wide range of pulses, allowing maximum responsiveness and range from modern servos. Units can be daisy-chained with additional Pololu servo and motor controllers on a single serial line.
A free configuration and control program is available for Windows and Linux, making it simple to configure and test the device over USB, create sequences of servo movements for animatronics or walking robots, and write, step through, and run scripts stored in the servo controller. The Mini Maestros’ 8 KB of internal script memory allows storage of up to approximately 3000 servo positions that can be automatically played back without any computer or external microcontroller connected.
Because the Mini Maestros’ channels can also be used as general-purpose digital outputs and analog or digital inputs, they provide an easy way to read sensors and control peripherals directly from a PC over USB, and these channels can be used with the scripting system to enable creation of self-contained animatronic displays that respond to external stimuli and trigger additional events beyond just moving servos.
Three control methods: USB, TTL (5V) serial, and internal scripting
0.25μs output pulse width resolution (corresponds to approximately 0.025° for a typical servo, which is beyond what the servo could resolve)
Pulse rate configurable from 1 to 333 Hz
Wide pulse range of 64 to 4080 μs
Individual speed and acceleration control for each channel
Channels can be optionally configured to go to a specified position or turn off on startup or error
Alternate channel functions allow the channels to be used as:
General-purpose digital outputs (0 or 5 V)
Analog or digital inputs (channels 0 – 11 can be analog inputs; channels 12+ can be digital inputs)
One channel can be a PWM output with frequency from 2.93 kHz to 12 MHz and up to 10 bits of resolution
A simple scripting language lets you program the controller to perform complex actions even after its USB and serial connections are removed
Comprehensive user’s guide
The Channel Settings tab in the Maestro Control Center.
Free configuration and control application for Windows and Linux makes it easy to:
Configure and test your controller
Create, run, and save sequences of servo movements for animatronics and walking robots
Write, step through, and run scripts stored in the servo controller
Two ways to write software to control the Maestro from a PC:
Virtual COM port makes it easy to send serial commands from any development environment that supports serial communication
Pololu USB Software Development Kit allows use of more advanced native USB commands and includes example code in C#, Visual Basic .NET, and Visual C++
TTL serial features:
Supports 300 – 200,000 bps in fixed-baud mode, 300 – 115,200 bps in autodetect-baud mode
Simultaneously supports the Pololu protocol, which gives access to advanced functionality, and the simpler Scott Edwards MiniSSC II protocol (there is no need to configure the device for a particular protocol mode)
Can be daisy-chained with other Pololu servo and motor controllers using a single serial transmit line
Chain input allows reception of data from multiple Mini Maestros using a single serial receive line without extra components (does not apply to Micro Maestros)
Can function as a general-purpose USB-to-TTL serial adapter for projects controlled from a PC
Board can be powered off of USB or a 5 – 16 V battery, and it makes the regulated 5V available to the user
Baud: 300 - 200000 bps1
Minimum operating voltage: 5 V
Maximum operating voltage: 16 V
Supply current: 40 mA2
Documentation and other information (From Manufacturer Website)
Pololu Maestro Servo Controller User’s Guide (Printable PDF: maestro.pdf)
User’s guide for the Pololu Micro Maestro 6-channel USB Servo Controller and the Pololu Mini Maestro 12-, 18-, and 24-Channel USB Servo Controllers.
Pololu USB Software Development Kit (377k zip), released on June 4, 2014.
Sample Project: Simple Hexapod Walker (Printable PDF: maestro_hexapod.pdf)
This is a step-by-step tutorial showing you how to use the Pololu Micro Maestro to build a simple six-legged walking robot. The total parts cost is about $72.
Application Note: Using AutoHotkey with Pololu USB Products (Printable PDF: application_note_autohotkey.pdf)
An application note about using AutoHotkey for Windows to control Pololu USB products.
Maestro Servo Controller Windows Drivers and Software (release 130422) (5MB zip)
This ZIP archive contains the installation files for the Maestro Control Center, the Maestro command-line utility (UscCmd), and the Maestro drivers for Microsoft Windows.
This tar/gzip archive contains the binary executable files for the Maestro Control Center and the Maestro command-line utility (UscCmd) for Linux.
A Spanish version of the user’s guide for the Pololu Micro Maestro 6-channel USB Servo Controller and the Pololu Mini Maestro 12-, 18-, and 24-Channel USB Servo Controllers, provided by customer Jaume B.
Getting Started with the Maestro Servo Controller
In this short video, Pololu engineer Emily shows how easy it is to get started with Maestro servo controllers.
Getting started with the maestro servo controller.
Polstro is a cross-platform C++ library for controlling a Maestro over its serial interface. Jacques Bitoniau created this library for his quadcopter control system, which is described in this blog post.
The Pololu Maestro RoboRealm module provides a way to interface the visual processing of RoboRealm into servo movements using the Pololu Maestro USB Servo Controller. Released February, 2010.
Patrick Hickey and Bradley Lord use a Pololu Micro Maestro for servo output and a Pololu 4 servo multiplexer to support manual control override in their model aircraft autopilot project. Published February, 2010.
A simple obstacle-avoiding robot based on the Maestro, using continuous-rotation servos and distance sensors. The robot is programmed using the Maestro’s internal scripting language, without the need for an additional microcontroller. By TomatoWire, June 2010.
This Japanese-style lamp was made from laser-cut parts and uses an RGB LED Satellite Module 001, a ShiftBar, and a Pololu Mini Maestro 12-channel servo controller. By Kevin Chang, April 2013.
3D models of cases that cover the bottom of the 6-channel Micro Maestro and 12-channel Mini Maestro servo controllers.
Demo code to do web-based real time control of the Pololu Micro Maestro 6 channel servo controller using the Raspberry Pi and the Tornado web server. By MartinSant, November 2012.
The Microsoft .NET Framework version 3.5 is required for many Pololu configuration, control, and utility programs under Windows. Most computers will have this installed already or can automatically install it over the internet, but you can also get .NET 3.5 directly from Microsoft at this link. If you are installing on a computer without internet access, make sure to get the Full Redistributable Package.