Pololu Orangutan X2 with VNH2

This robot controller is by far the most powerful Orangutan, and it is intended for small and medium-sized robots. Featuring a dual-AVR architecture that leaves an ATmega1284P AVR microcontroller almost completely available to the user while taking care of low-level motor control tasks on a pre-programmed mega328, which also doubles as a programmer for the master processor.

Not currently available

Our Code: MCU-60078

Supplier Link: [Pololu MPN:718]

This version does not have an LCD and its hardware included. See the version with the LCD.



The Orangutan X2, the most powerful member of Pololu’s line of Orangutan robot controllers, is designed to be a compact, high-performance control center for robotics and automation projects. The Orangutan X2’s two-board design allows the unit to maintain the compactness characteristic of the Orangutan line while offering substantially more electrical and computational power: the X2 can deliver up to a horsepower across two motor channels, and the twin-microcontroller architecture allows maximum access to the primary microcontroller, an Atmel ATmega1284P AVR running at 20 MHz with 128 KB of program memory and 16 KB of SRAM. It has an outline smaller than a credit card, which makes it small enough to fit in a mini-sumo or small maze solver, yet it is powerful enough to run a 1/10th-scale monster truck. The board features an integrated dual motor driver capable of delivering 14 A continuous (30 A peak) per channel, a buzzer for simple sounds and music, an LCD port with optional 20×4 character LCD, three user pushbuttons, five user LEDs, a built-in programmer and USB connectivity, and more; a battery, motors, and sensors can be connected directly to the module for quick creation of advanced, powerful robots.

Pololu Orangutan X2 Robot Controller - top labelled

The Orangutan X2 has two microcontrollers: a user-programmable Atmel ATmega1284P AVR for the main application, and an auxiliary ATmega328P that is pre-programmed to interface with most of the dedicated hardware on the X2 and serve as an AVR ISP programmer for the main processor, which means that no external programmer is required. The two-microcontroller design simplifies multitasking by relieving the main processor of common tasks such as motor control and melody generation, and the approach also leaves almost all of the mega1284 hardware peripherals, such as timers and interrupts, and most of the mega1284 I/O lines to be used for your higher-level design.

The Orangutan X2 is compatible with freely available development software for Atmel’s AVR microcontrollers, including Atmel’s AVR/Atmel Studio, the WinAVR GCC C/C++ compiler, and AVRDUDE. Pololu provide an extensive set of software libraries that make it easy to interface with all of the integrated hardware, including the auxiliary microcontroller. Using these libraries, it takes just a few simple lines of code to write to the LCD, read button presses, drive motors, and control servos. These libraries come with a number of sample programs that demonstrate how to use the various components on the Orangutan X2.

Pololu Orangutan X2 Robot Controller - labelled


Key Features and Specifications

  • Overall unit dimensions: 3.00" x 1.86"
  • Input voltage: 6-16 V
  • 2 high-power, bidirectional motor ports deliver 30 A maximum (9 A continuous for VNH3 and 14 A continuous for VNH2 without heat sink)
  • Programmable 20 MHz Atmel ATmega1284P AVR microcontroller (128 KB flash, 16 KB SRAM, 4 KB EEPROM)
  • 18 general-purpose I/O lines, 8 of which can be used as analog input channels (and the 11 LCD I/O lines can serve as additional user I/O lines)
  • 4 hardware timers (2 8-bit timers and 2 16-bit timers)
  • Integrated programmer and USB connectivity
  • Battery voltage monitoring and self-shutdown option
  • Removable 20-character x 4-line LCD with contrast control if your Orangutan X2 package includes an LCD
  • Push-on, push-off power control enables multiple power switches
  • Buzzer controlled by auxiliary mega328 microcontroller
  • 3 user pushbutton switches
  • 5 user LEDs
  • User potentiometer
  • Upgradable firmware
  • Extensive software library support




Size: 3.00" x 1.86"

General specifications

Processor: ATmega1284P with slave ATmega328P @ 20 MHz1
RAM size: 16384 bytes
Program memory size: 128 Kbytes
Motor driver: VNH2SP30
Motor channels: 2
User I/O lines: 182
Max current on a single I/O: 40 mA
Minimum operating voltage: 6 V
Maximum operating voltage: 16 V
Continuous output current per channel: 14 A
Peak output current per channel: 30 A
Continuous paralleled output current: 25 A
Current sense: 0.13 V/A
Maximum PWM frequency: 19.5 kHz
Reverse voltage protection?: Y3
External programmer required?: N
LCD included?: N


The slave ATmega328P comes preprogrammed with firmware to control the on-board hardware.
All 18 can be used as digital I/Os and 8 can be used as analog inputs.
There are unprotected electrolytic capacitors that will be damaged by reverse voltage.


Documentation and other information

CP2102 USB-to-Serial Bridge Driver Installation (Printable PDF: cp2102_driver_installation.pdf)  CP2102 Drivers and installation instructions for Windows, Mac, and Linux. The CP2102 is used on the Pololu USB-to-Serial Adapter, the Orangutan USB Programmer, the USB 16-Servo Controller, and the Orangutan X2.
Pololu AVR C/C++ Library User’s Guide (Printable PDF: pololu_avr_library.pdf)  Information about installing and using the C/C++ libraries provided for use with Pololu products.
Pololu AVR Library Command Reference (Printable PDF: avr_library_commands.pdf)  A reference to commands provided in the Pololu C/C++ and Arduino libraries for the AVR.
Orangutan X2 Command Documentation v1.01 (Printable PDF: Orangutan_X2_commands.pdf)  Documentation of the low-level SPI commands used to control the Orangutan X2’s auxiliary ATmega328 microcontroller. These commands are implemented by the Pololu AVR Library, so beginners do not need to concern themselves with the details in this document.
Programming Orangutans and the 3pi Robot from AVR Studio 4  Guide for programming Orangutans and the 3pi robot from the Atmel’s older AVR Studio 4 IDE. It covers installing the Pololu AVR C/C++ Library, and setting up the Pololu USB AVR Programmer.

File downloads

Orangutan X2 quick-start guide and schematic (4MB pdf)
Orangutan X2 schematic (63k pdf)
VNH3SP30 motor driver data sheet (228k pdf)
VNH2SP30 motor driver data sheet (283k pdf)
Crystalfontz CFAH2004K-YYH LCD datasheet (3MB pdf)
Orangutan X2 firmware update procedure (330k pdf)
Orangutan X2 firmware v1.01 (65k zip)
This firmware update fixes several minor bugs that were present in the initial firmware release v1.00.
Orangutan X2 firmware v1.02 (64k zip)
This is an optional, minor firmware upgrade that slightly improves reset/program button debouncing.
LSM303DLM Orangutan example project (5k zip)
This sample program shows how to use an LSM303DLM 3D compass and accelerometer carrier with anOrangutan robot controller to build a tilt-compensated digital compass. The AVR Studio project is set up for an ATmega328P microcontroller, but it will work on other Orangutans with simple changes to the project configuration.

Recommended links

A free, open-source suite of development tools for the AVR family of microcontrollers, including the GNU GCC compiler for C/C++.
AVR Studio 4
The older version of Atmel’s free integrated development environment (IDE) for AVRs, which is no longer supported by Atmel.
ATmega1284P documentation
Atmel’s product page for the ATmega1284P.
AVR Libc Home Page
The web site for AVR Libc, which is the standard library of functions that you may use with C on the AVR.
GCC, the GNU Compiler Collection
Documentation for GCC, including the AVR GCC C/C++ compilers.
Pololu Robotics Forum
Pololu Robotics and Electronics forum — get technical support, share your project, or just drop in to say hi.
AVR Freaks
AVR community with forums, projects, and AVR news.
An open-source C library for the Orangutan family of robot controllers. Note: this library was not created by and is not maintained by Pololu; it contains only limited support for the Orangutan X2 and does not directly support the Orangutan SV-168, Orangutan LV-168, or Baby Orangutan B revision.
Tutorial: AVR Programming on the Mac
Customer Michael Shimniok has written a guide to programming AVRs (the Orangutan LV-168, specifically) using the Mac.
3kg Sumo by Tom Saxton
The Pololu Orangutan X2 robot controller is the brains of this 3kg sumo robot.