Micro Maestro 6-Channel USB Servo Controller (Assembled)
Getting started with the Maestro Servo Controller
The Micro Maestro is the smallest of Pololu's second-generation USB servo controllers.
The Mini Maestros offer higher channel counts and some additional features.
The Micro Maestro is a highly versatile servo controller and general-purpose I/O board in a highly compact (0.85"×1.20") 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 Micro 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.
The Micro Maestro is available fully assembled with 0.1″ male header pins installed as shown in the product picture or as a partial kit, which ship with these header pins included but unsoldered, allowing the use of different gender connectors or wires to be soldered directly to the pads for lighter, more compact installations. The Mini Maestro 12, 18, and 24 are also available fully assembled or as partial kits. 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.
- 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 33 to 100 Hz (2)
- Wide pulse range of 64 to 3280 μ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
- Channels can also be used as general-purpose digital outputs or analog inputs
- 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
- 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
- Compact size of 0.85" × 1.20" (2.16 × 3.05 cm) and light weight of 0.17 oz (4.8 g) with headers
- Upgradable firmware
Application Examples and Videos
- Serial servo controller for multi-servo projects (e.g. robot arms, animatronics) based on BASIC Stamp or Arduino platforms.
- PC-based servo control over USB port
- PC-based control of motors by interfacing with an ESC over USB
- PC interface for sensors and other electronics:
- Read a gyro or accelerometer from a PC for novel user interfaces
- Control a string of ShiftBrites from a PC for mood lighting
- General I/O expansion for microcontroller projects
- Programmable, self-contained Halloween or Christmas display controller that responds to sensors. The picture to the right and the video below show a self-contained hexapod robot that uses three micro servos and two digital distance sensors for autonomous walking.
- Self-contained servo tester
Size: 0.85" x 1.20"
Weight: 4.8 g
Baud: 300 - 200000 bps1
Minimum operating voltage: 5 V
Maximum operating voltage: 16 V
Supply current: 30 mA2
Partial kit?: N
1Autodetect works from 300 - 115200 bps.
2With USB disconnected and all LEDs on. Connecting USB draws around 10 mA more.
Pololu USB Software Development Kit
The Pololu USB SDK contains example code 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.