1. Overview

1.a. Micro Maestro Pinout and Components
1.b. Mini Maestro Pinout and Components
1.c. Indicator LEDs
1.d. Supported Operating Systems

The Maestros are Pololu’s second-generation family of USB servo controllers. The Maestro family consists of four controllers, each available fully assembled or as a partial kit:

With three control methods — USB for direct connection to a PC computer, TTL serial for use with embedded systems, and internal scripting for self-contained, host controller-free applications — and channels that can be configured as servo outputs for use with radio control (RC) servos or electronic speed controls (ESCs), digital outputs, or analog/digital inputs, the Maestro is a highly versatile servo controller and general I/O board in a highly compact package. The extremely precise, high-resolution servo pulses have a jitter of less than 200 ns, making the Maestro well suited for high-performance animatronics, and built-in speed and acceleration control make it easy to achieve smooth, seamless movements without requiring the control source to constantly compute and stream intermediate position updates to the Maestro. The Maestro features configurable pulse rates (up to 333 Hz for Mini Maestros) and can generate a wide range of pulses to allow 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 (see Section 4), making it simple to configure and test the board 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 Maestro’s internal script memory allows storage of servo positions that can be automatically played back without any computer or external microcontroller connected (see Section 6).

The Maestros’ channels can also be used as general-purpose digital outputs and analog or digital inputs, providing an easy way to read sensors and control peripherals directly from a PC over USB. These inputs can be used with the scripting system to enable creation of self-contained animatronic displays that respond to external stimuli.

A USB A to mini-B cable (not included) is required to connect this device to a computer.

Features

  • Three control methods: USB, TTL (5 V) 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)
  • Configurable pulse rate and wide pulse range (see the Maestro comparison table below)
  • 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 (see Section 4.a for details)
  • A simple scripting language lets you program the controller to perform complex actions even after its USB and serial connections are removed

The Channel Settings tab in the Maestro Control Center.
The Status 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
  • Upgradable firmware

Maestro Comparison Table

Micro Maestro Mini Maestro 12 Mini Maestro 18 Mini Maestro 24
Channels: 6 12 18 24
Analog input channels: 6 12 12 12
Digital input channels: 0 0 6 12
Width: 0.85" (2.16 cm) 1.10" (2.79 cm) 1.10" (2.79 cm) 1.10" (2.79 cm)
Length: 1.20" (3.05 cm) 1.42" (3.61 cm) 1.80" (4.57 cm) 2.30" (5.84 cm)
Weight(1): 3.0 g 4.2 g 4.9 g 6.0 g
Configurable pulse rate(2): 33–100 Hz 1–333 Hz 1–333 Hz 1–333 Hz
Pulse range(2): 64–3280 μs 64–4080 μs 64–4080 μs 64–4080 μs
Script size(3): 1 KB 8 KB 8 KB 8 KB

1 This is the weight of the board without header pins or terminal blocks.
2 The available pulse rate and range depend on each other and factors such as baud rate and number of channels used. See Section 9 for details.
3 The user script system is more powerful on the Mini Maestro than on the Micro Maestro. See Section 6.d for details.

Application Examples

Micro Maestro as the brains of a tiny hexapod robot.

  • Serial servo controller for multi-servo projects (e.g. robot arms, animatronics, fun-house displays) based on microcontroller boards such as the BASIC Stamp, Orangutan robot controllers, or Arduino platforms
  • Computer-based servo control over USB port
  • Computer interface for sensors and other electronics:
  • General I/O expansion for microcontroller projects
  • Programmable, self-contained Halloween or Christmas display controller that responds to sensors
  • Self-contained servo tester