Overview
This programmer is a compact solution for programming our Orangutan, Orangutan SV-328, Orangutan LV-168, and Baby Orangutan robot controllers through a USB port. It can also program our 3pi robot. Our programmer incorporates a USB-to-serial adapter and emulates an AVR ISP programmer so that you can program your Orangutans or 3pi with any software that can talk through a serial port to an AVR ISP, such as Atmel’s AVR Studio 4 and AVRDUDE, which is included in the open-source WinAVR package. The unit also doubles as a USB-to-serial adapter (TX and RX only), allowing you to communicate with your Orangutan, 3pi, or any other microcontroller, through a terminal program.
A USB A to Mini-B cable is required but not included. These types of cables are common for digital cameras and other USB peripherals, so you might already have the necessary cable. The 6-pin ISP programming cable (pictured to the right) is included. The older, 10-pin ISP connections are not directly supported.
Using the USB programmer
Begin by following the USB-to-serial adapter driver installation instructions. Make sure you install the driver before you connect your programmer to the computer. The USB adapter will install as two devices (USB device and COM port); you can ignore Microsoft’s repeated warnings that the driver has not been tested by Microsoft. Once the driver is installed, your programming software can communicate with the programmer as if it were on a serial port.
The programmer is powered through the USB port, but it does not deliver that power to the target device. Your target device must therefore be turned on to be programmed. Be careful about the pin 1 orientation with the Baby Orangutan, which does not have a shrouded ISP connector. The red wire and mark on the ISP connector should be lined up with the arrow to pin 1 on the Baby Orangutan PCB. The Orangutan, Orangutan SV-xx8, Orangutan LV-168, and 3pi robot all have keyed shrouded headers that enforce proper orientation of the ISP cable.
The USB-to-serial adapter functionality can be accessed through the pads on the side of the PCB labeled TX, RX and G (for ground). The TX line (from the computer’s perspective—connect it to your target device’s RX line) is always connected, but the RX line needs to be switched using the shorting block in the middle of the board. Connecting it on the “P” side allows for programmer operation; the “U” side allows user USB adapter operation.
Please see our Orangutan USB Programmer User’s Guide for more detailed information, usage instructions, and troubleshooting help.
Note: USB cable, Orangutan robot controller, and software are not included. The programmer should be able to program all AVRs that support paged program and EEPROM memory, but we can only support Orangutan and 3pi programming at this time.
This compact programmer can program the Orangutan, Orangutan SV-168, Orangutan LV-168, and Baby Orangutan robot controllers, as well as the 3pi robot, through a USB connection. The on-board USB-to-serial adapter allows the unit to look like a serial AVRISP programmer to your programming software. The serial port TX and RX lines are connected to separate pads so that the programmer can also be used as a USB-to-serial adapter.
Note: We have released a second-generation, general-purpose USB AVR programmer that we recommend over this programmer as it is better in almost every way. The Orangutan USB programmer is now only available by large-volume special order. Please contact us us if you are interested.
Documentation and other information
User’s guide for the Pololu Orangutan USB Programmer, including information about using AVR Studio and troubleshooting tips.
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.
File downloads
This version fixes a bug where the programming lines could be left driven high if the programming process failed. Please see section 8 of the user’s guide for firmware update instructions. This is a sample AVR Studio project that will blink an LED on an Orangutan, Orangutan LV-168, and Baby Orangutan.
A Spanish version of our Pololu Orangutan USB Programmer’s user’s guide provided by customer Jaume B.
Recommended links
A free, open-source suite of development tools for the AVR family of microcontrollers, including the GNU GCC compiler for C/C++.
The older version of Atmel’s free integrated development environment (IDE) for AVRs, which is no longer supported by Atmel.
The web site for AVR Libc, which is the standard library of functions that you may use with C on the AVR.
Documentation for GCC, including the AVR GCC C/C++ compilers.
Pololu Robotics and Electronics forum — get technical support, share your project, or just drop in to say hi.
AVR community with forums, projects, and AVR news.
Web page of Atmel Corporation, manufacturer of AVR microcontrollers and other advanced semiconductors.
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.
Customer Michael Shimniok has written a guide to programming AVRs (the Orangutan LV-168, specifically) using the Mac.