Pololu Mini Maestro 18-Channel USB Servo Controller (Assembled)

Main Features

  • 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 (2)
  • Wide pulse range of 64 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 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
  • Free configuration and control application for Windows 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 - 200000 bps in fixed-baud mode, 300 - 115200 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
    • 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 the Maestro User's Guide for details.
3 The user script system is more powerful on the Mini Maestro than on the Micro Maestro. See See the Maestro User's Guide for details.


Size: 1.10" x 1.8"
Weight: 10.0 g

General Specifications

Channels: 18
Baud: 300 - 200000 bps1
Minimum operating voltage: 5 V
Maximum operating voltage: 16 V
Supply current: 30 mA2
Partial kit?: N


  1. Autodetect works from 300 - 115200 bps.
  2. With USB disconnected and all LEDs on. Connecting USB draws around 10 mA more.

Documentation and Support

  • 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 The Pololu USB SDK contains the code you need for making your own applications that use native USB to control the Jrk Motor Controller, Maestro Servo Controller, Simple Motor Controller, or USB AVR Programmer.
  • 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.

File Downloads

Recommended Links

  • Maestro Support for RoboRealm. 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.
  • Paparazzi Autopilot for Linux 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.
  • Obstacle Avoider 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.
  • 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.


  • How should I attach a button or switch to my Micro Maestro?
    Diagram for connecting a button or switch to the Micro Maestro Servo Controller.

    First, decide which channel you would like to connect your button or switch to. In the Maestro Control Center, under the Channel Settings tab, change that channel to Input mode and click 'Apply Settings'. Next, wire a pull-up resistor (1-100 kilo-ohms) between the signal line of that channel and 5 V so that the input is high (5 V) when the switch is open. Wire the button or switch between the signal line and GND (0 V) so that when the button/switch is active the input will fall to 0 V. The picture to the right shows how to connect a button or switch to channel 0.

    You can test your input by toggling the button/switch and verifying that the 'Position' variable as shown in the Status tab of the Maestro Control Center reflects the state of your button/switch: it should be close to 255.75 when the button/switch is active and close to 0 when it is inactive. Now you can read the state of the button/switch in your script using the GET_POSITION command or over serial using the 'Get Position' command. These commands will return values that are close to 1023 when the button/switch is active and close to 0 when it is inactive. Warning: The Maestro's I/O lines can only tolerate voltages from 0 to 5 V, so if your power supply is more than 5 V be careful not to connect it to the signal line.

  • What are the three wires coming out of my servo?

    Most standard radio control servos (and all RC servos we sell) have three wires, each a different color. Usually, they are either black, red, and white, or they are brown, red, and orange/yellow:
    • brown or black = ground (GND, battery negative terminal)
    • red = servo power (Vservo, battery positive terminal)
    • orange, yellow, white, or blue = servo control signal line
    Please check the specs for your servo to determine the proper power supply voltage, and please take care to plug the servo into your device in the proper orientation (plugging it in backwards could break the servo or your device).

  • Is it possible to use digital servos with the Maestro servo controllers? Yes, any servo designed for standard RC receivers should work with the Maestro (and any of our other servo controllers), whether it is a digital or analog servo.

  • Can I power my servos with the USB port? No. A USB port might only be capable of supplying 100 mA, which is less than what you need for a single servo. Many USB ports can deliver 500 mA, but this is still not enough for typical servos requiring 1 A or more.

  • How do I use my Maestro servo controller to get the maximum possible range of motion from my servo?
    • Be careful when going past the normal 90-degree range to avoid damaging your servo.
    • To find the settings in the Maestro Control Center that make your servo rotate as much as it can, first set the Min and Max values on the Channel Settings tab to a wider range. Then use the lowest possible supply voltage at which your servo moves and gradually move the slider on the status tab until the servo does not move any further or you hear the servo straining. Once you reach the limit, immediately move back from it to avoid damaging the servo. Finally, return to the channel settings tab and configure Min and Max so that the servo will never go past the limit.

The Maestros are available in four sizes:

Maestro family of USB servo controllers: Mini 24, Mini 18, Mini 12, and Micro 6.

The Maestro is a highly versatile servo controller and general-purpose I/O board in a highly compact package. It supports 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 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 Micro Maestro. 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 Micro Maestro's 1 KB of internal script memory allows storage of servo positions that can be automatically played back without any computer or external microcontroller connected.

Because the Maestro's channels can also be used as general-purpose digital outputs and analog 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.

Bottom view with dimensions (in inches) of Pololu Micro and Mini Maestro servo controllers.

The Micro Maestro is available fully assembled with 0.1" male header pins installed. The Mini Maestro 12, 18, and 24 are also available fully assembled. A USB A to mini-B cable (not included) is required to connect this device to a computer.

Pololu Mini Maestro 18-Channel USB Servo Controller (Assembled)

  • Product Code: TE-154-018
  • Brand: Pololu
  • MPN: 1354
  • Availability: 12 In stock
  • $44.14

Related Products

Pololu Mini Maestro 12-Channel USB Servo Controller (Assembled)
Pololu Mini Maestro 12-Channel USB Servo Controller (Assembled)

The Maestros are available in four sizes: Maestro family of USB servo controllers: Mini 24, Min..

Product Code: TE-154-012


Pololu Mini Maestro 24-Channel USB Servo Controller (Assembled)
Pololu Mini Maestro 24-Channel USB Servo Controller (Assembled)

The Maestros are available in four sizes: Maestro family of USB servo controllers: ..

Product Code: TE-154-024


Servo Tester - 3 Channel
Servo Tester - 3 Channel

This is a 3-channel servo tester with an input voltage range of 4.8-6V...

Product Code: TE-257-003