The 12-channel Mini Maestro 12 raises the performance bar for serial servo controllers with features such as a native USB interface and internal scripting control. Whether you want the best servo control available (0.25 μs resolution with built-in speed and acceleration control and pulse rates up to 333 Hz) or a general I/O controller (e.g. to interface with a sensor or ESC via your USB port), this compact, versatile device will deliver. This fully-assembled version ships with header pins installed.
Getting started with the Maestro Servo Controller
For a full list of products shown in this video, see the blog post.
Maestro family of USB servo controllers: Mini 24, Mini 18, Mini 12, and Micro 6.
The Mini Maestros are the newest of Pololu’s second-generation USB servo controllers, offering more channels and features than the smaller six-channel Micro Maestro. The Mini Maestros are available in three sizes, and they can be purchased fully assembled or as partial kits:
- Mini Maestro 12 — fully assembled
- Mini Maestro 12 — partial kit
- Mini Maestro 18 — fully assembled
- Mini Maestro 18 — partial kit
- Mini Maestro 24 — fully assembled
- Mini Maestro 24 — partial kit
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.
The Status tab in the Maestro Control Center.
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.
The fully assembled versions of the Mini Maestro ship with 0.1″ male header pins installed as shown in the respective product pictures. The partial kit versions ship with these header pins included but unsoldered, which allows the use of different gender connectors or wires to be soldered directly to the pads for lighter, more compact installations. A USB A to mini-B cable (not included) is required to connect this device to a computer. The Micro and Mini Maestros have 0.086″ diameter mounting holes that work with #2 and M2 screws.
Micro Maestro 6-channel USB servo controller (fully assembled) controlling three servos.
- 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)
- Pulse rate configurable from 1 Hz to 333 Hz (2)
- Wide pulse range of 64 μs to 4080 μs (2)
- 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 V or 5 V)
- Analog or digital inputs (channels 0 to 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 bps to 200,000 bps in fixed-baud mode, 300 bps to 115,200 bps in autodetect-baud mode (2)
- 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
- Our Maestro Arduino library makes it easier to get started controlling a Maestro from an Arduino or compatible boards like our A-Stars
- Board can be powered off of USB or a 5 V to 16 V battery, and it makes the regulated 5 V available to the user
- Upgradable firmware
Maestro Comparison Table
|Mini Maestro 12
|Mini Maestro 18
|Mini Maestro 24
|Analog input channels:
|Digital input channels:
|0.85" (2.16 cm)
|1.10" (2.79 cm)
|1.10" (2.79 cm)
|1.10" (2.79 cm)
|1.20" (3.05 cm)
|1.42" (3.61 cm)
|1.80" (4.57 cm)
|2.30" (5.84 cm)
|Configurable pulse rate(2):
|33 Hz to 100 Hz
|1 Hz to 333 Hz
|1 Hz to 333 Hz
|1 Hz to 333 Hz
|64 μs to 3280 μs
|64 μs to 4080 μs
|64 μs to 4080 μs
|64 μs to 4080 μs
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.
3 The user script system is more powerful on the Mini Maestro than on the Micro Maestro.
The Micro and Mini Maestros are available with through-hole connectors preinstalled or as partial kits, with the through-hole connectors included but not soldered in. The preassembled versions are appropriate for those who want to be able to use the product without having to solder anything or who are happy with the default connector configuration, while the partial kit versions enable the installation of custom connectors, such as right-angle headers that allow servos to be plugged in from the side rather than the top, or colored header pins that make it easier to tell which way to plug in the servo cables. The following picture shows an example of a partial-kit version of the 24-channel Mini Maestro assembled with colored male header pins:
24-channel Mini Maestro (partial kit version) assembled with colored male header pins.
Application Examples and Videos
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:
- Read a gyro or accelerometer from a computer for novel user interfaces
- General I/O expansion for microcontroller projects
- Programmable, self-contained Halloween or Christmas display controller that responds to sensors
- Self-contained servo tester
An example setup using a Micro Maestro to control a ShiftBar and Satellite LED Module is shown in the picture below and one of the videos above. Maestro source code to control a ShiftBar or ShiftBrite is available in the Example scripts section of the Maestro User’s guide.
Connecting the Micro Maestro to a chain of ShiftBars. A single 12V supply powers all of the devices.
|1.10" x 1.42"
|300 - 200000 bps
|Minimum operating voltage
|Maximum operating voltage
- Pololu Maestro Servo Controller User’s Guide
- Pololu USB Software Development Kit
- Sample Project: Simple Hexapod Walker
- Application Note: Using AutoHotkey with Pololu USB Products
- Maestro Servo Controller Windows Drivers and Software (release 130422)
- Maestro Servo Controller Linux Software (release 150116)
- Pololu Maestro guia de usuario
- Dimension diagram of the Mini Maestro 12-Channel USB Servo Controller
- Mini Maestro 12-Channel USB Servo Controller drill guide
- 3D model of the Mini Maestro 12-Channel USB Servo Controller
- Dimension diagram of the Mini Maestro 18-Channel USB Servo Controller
- Mini Maestro 18-Channel USB Servo Controller drill guide
- 3D model of the Mini Maestro 18-Channel USB Servo Controller
- Dimension diagram of the Mini Maestro 24-Channel USB Servo Controller
- Mini Maestro 24-Channel USB Servo Controller drill guide
- 3D model of the Mini Maestro 24-Channel USB Servo Controller
- Maestro Movement Calculator
- Getting Started with the Maestro Servo Controller
- Pololu Maestro Servo Controller library for Arduino
- Polstro: C++ serial interface library for the Maestro
- Maestro Support for RoboRealm
- Paparazzi Autopilot for Linux
- Obstacle Avoider
- RGB shoji lamp
- Micro Maestro and 12-channel Mini Maestro Cases
- Raspberry Pi – Real Time Control via Android HTML5
- Microsoft .NET Framework 3.5
- Maestro-controlled robot arm conducts rolling ball kinetic sculpture
- Bartending robot
- Talking skull uses Amazon Alexa
- Mission Pinball Framework supports Maestro Servo Controllers
- New product: MP3 Trigger V24
- Maestro Servo Controller Arduino library
- Maestro-controlled Spider Dress 2.0 at CES 2015
- Robotic arm using Mini Maestro at the Nashville Mini Maker Faire
- Automated ball path contraption for the holiday season
- Roboceratops - Robot Dinosaur
- Video: Getting started with the Maestro
- Robotic Arm