Pololu Orangutan SVP User manual

Pololu Orangutan SVP User's
Guide
1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.a. Supported Operating Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Contacting Pololu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3. Schematic Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4. Module Pinout and Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5. Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5.a. Installing Windows Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5.b. Using the Demo Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.c. Programming in Windows with AVR Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.d. Programming in Linux or Windows using AVRDUDE . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.e. Assembling the kit version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6. AVR Pin Assignment Table Sorted by Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
7. AVR Pin Assignment Table Sorted by Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
8. Using the USB Communication Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
9. Using the TTL Serial Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
10. Motor Driver Truth Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
11. USB Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
12. Upgrading Firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
13. Related Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Pololu Orangutan SVP User's Guide © 2001–2011 Pololu Corporation
http://www.pololu.com/docs/0J39 Page 1 of 40

1. Overview
The Orangutan SVP robot controller
[http://www.pololu.com/catalog/product/1325] is a complete
control solution for small and medium-sized robots
running at 6 – 13.5 V. The module is designed around
the powerful Atmel ATmega324PA AVR
microcontroller (32 KB flash, 2 KB RAM, and 1 KB
EEPROM) or ATmega1284P (128 KB flash, 16 KB
RAM, and 4 KB EEPROM) running at 20 MHz and
features a full complement of peripheral hardware to
support robotics applications: dual motor drivers
capable of delivering 2 A continuous (6 peak) per
channel, a demultiplexer for easy control of up to eight
servos with a single hardware PWM, a removable 16×2 character LCD with backlight, a user trimmer
potentiometer, a buzzer for simple sounds and music, three user pushbuttons, and two user LEDs. The board also
provides 21 free I/O lines, of which 12 can be used as analog inputs, and two switching buck (step-down) voltage
regulators—one for the 5V bus and one adjustable from 2.5 V to 85% of VIN—each capable of supplying 3 A,
which means there’s plenty of room and power for adding sensors, servos, and other peripherals.
In addition to the user-programmable AVR microcontroller, the Orangutan SVP features an auxiliary
PIC18F14K50 MCU that supports the main processor and serves as an integrated AVR ISP programmer, which
means that no external programmer is required to use the Orangutan SVP. This auxiliary processor provides a
USB connection that allows direct communication with a PC, and its firmware lets it perform several useful
task in parallel with the main microcontroller. For example, the auxiliary processor can read two quadrature
encoders without burdening the main MCU, or those same four inputs could be used as additional analog inputs.
The ATmega324 or ATmega1284 can read data from the auxiliary MCU over SPI. A USB A to mini-B cable
[http://www.pololu.com/catalog/product/1129] is included with the Orangutan SVP.
Because the Orangutan SVP gives the user direct access to the AVR microcontroller, it is compatible with
all development software for Atmel’s AVR microcontrollers, including Atmel’s free AVR Studio
[http://www.atmel.com/forms/
software_download.asp?category_id=163&family_id=607&subfamily_id=760&fn=dl_AvrStudio4Setup.exe] and the WinAVR
[http://winavr.sourceforge.net/] GCC C/C++ compiler. We provide an extensive set of software libraries
[http://www.pololu.com/docs/0J20] 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 SVP.
Specifications & On-Board Hardware
• Overall unit dimensions: 3.70" × 2.20"
• Input voltage: 6 – 13.5 V
• Programmable 20 MHz Atmel ATmega324PA AVR microcontroller with 32 KB flash, 2 KB SRAM, and
1 KB EEPROM (SVP-324 version)
• Programmable 20 MHz Atmel ATmega1284P AVR microcontroller with 128 KB flash, 16 KB RAM, and
4 KB EEPROM (SVP-1284 version)
• Built-in USB AVR ISP programmer (USB A to mini-B cable [http://www.pololu.com/catalog/product/1129]
included)
• 2 bidirectional motor ports (2 A continuous per channel, 6 A maximum per channel)
Pololu Orangutan SVP User's Guide © 2001–2011 Pololu Corporation
1. Overview Page 2 of 40

• 8-output demultiplexer tied to one of the AVR’s hardware PWMs for easy control of up to 8 servos
• 21 free I/O lines
◦ 17 free I/O lines on the main MCU, of which 8 can be analog inputs
◦ 4 input lines on the auxiliary processor, which can be either 4 analog inputs or dual quadrature
encoder inputs
◦ 2 hardware UARTs
• Removable 16-character × 2-line LCD with backlight
• Primary 5V switching regulator capable of supplying 3 A
• Secondary adjustable (2.5 V – 85% of VIN) buck (step-down) voltage regulator capable of supplying 3 A
• Buzzer tied to one of the AVR’s hardware PWMs
• 3 user pushbutton switches
• 2 user LEDs
• Power (push-on/push-off) and reset pushbutton switches
• Power circuit makes it easy to add extra power buttons and provides a self-shutdown option
• Auxiliary processor (connected via SPI) provides:
◦ Battery voltage reading
◦ User trimmer potentiometer reading
◦ Integrated USB connection
◦ In-System-Programming of the main processor
◦ Ability to read two quadrature encoders
Orangutan SVP kit.
Orangutan SVP fully assembled.
For a Spanish version of this document, please see Orangutan SVP Guia de Usuario
[http://www.pololu.com/file/download/OrangutanSVPGuiaDeUsuario.pdf?file_id=0J328] (2MB pdf) (provided
by customer Jaume B.).
1.a. Supported Operating Systems
The Orangutan SVP’s USB connection works under Microsoft Windows XP, Windows Vista, Windows 7, and
Linux. The Orangutan SVP’s USB connection can be used to program the AVR, communicate directly with the
AVR from a computer, or communicate with TTL-level serial devices from a computer.
Pololu Orangutan SVP User's Guide © 2001–2011 Pololu Corporation
1. Overview Page 3 of 40

Under Linux, the three virtual COM ports created by the SVP should appear as devices with names like /dev/
ttyACM0, /dev/ttyACM1, and /dev/ttyACM2 (the numbers depends on how many other ACM devices you have
plugged in) and you can use any terminal program (such as kermit) to send and receive bytes on those ports.
The Orangutan SVP’s USB connection is not compatible with any version of Mac OS.
Note: You may not need to use the Orangutan SVP’s USB connection. If you have an AVR
ISP programmer, then you can program the AVR on the Orangutan SVP by connecting your
programmer to the 6-pin AVR ISP header located near the SVP’s USB connector. In that case, the
operating system of your computer does not matter, as long as your programmer works.
Pololu Orangutan SVP User's Guide © 2001–2011 Pololu Corporation
1. Overview Page 4 of 40

2. Contacting Pololu
You can check the Orangutan SVP-324 robot controller page [http://www.pololu.com/catalog/product/1325] or
Orangutan SVP-1284 robot controller page [http://www.pololu.com/catalog/product/1327] for additional information,
including pictures, example code, and application notes. You can also find libraries for interacting with the on-
board hardware and an assortment of sample code in the Pololu AVR Library [http://www.pololu.com/docs/0J20].
We would be delighted to hear from you about any of your projects and about your experience with the
Orangutan Robot controllers. You can contact us [http://www.pololu.com/contact] directly or post on our forum
[http://forum.pololu.com/]. Tell us what we did well, what we could improve, what you would like to see in the future,
or anything else you would like to say!
Pololu Orangutan SVP User's Guide © 2001–2011 Pololu Corporation
2. Contacting Pololu Page 5 of 40

4. Module Pinout and Components
The Orangutan SVP contains a programmable AVR ATmega324PA or ATmega1284P microcontroller connected
to two motor drivers for direct control of two DC motors, a 16×2 character LCD, a buzzer, three user pushbuttons,
two user LEDs, and a demultiplexer for servo control. The AVR is also connected to an auxiliary processor (a
PIC18F14K50) that provides access to the battery voltage, a 10 kilo-ohm user trimmer potentiometer, and four
additional input lines. The auxiliary processor also serves as a programmer for the main processor, meaning that
an external programmer is not required, but you can use one if you want to. The auxiliary processor also allows
for USB communication between the AVR and a personal computer, and acts as a USB-to-serial converter.
Orangutan SVP fully assembled PCB with pins labeled.
These and the rest of the main features of the module are labeled in the picture above and in more detail
in the Orangutan SVP reference diagram [http://www.pololu.com/file/download/
orangutan_svp_reference_diagram.pdf?file_id=0J244] (82k pdf). Most of the connection points are also indicated on the
silkscreen on the back side of the PCB, as shown below. The overall unit dimensions are 3.7" × 2.2", and four
0.086" mounting holes, suitable for #2 screws, are located 0.1" from the corners of the board.
Pololu Orangutan SVP User's Guide © 2001–2011 Pololu Corporation
4. Module Pinout and Components Page 7 of 40

Orangutan SVP-324 with dimensions.
Power & Motor Connections
Power for the Orangutan SVP should be connected to the positive (+) and ground (GND) terminals near the words
“Power In” on the board. The input voltage (VIN) of the power supply should be 6 – 13.5 V, from which the on-
board regulator generates the 5 V supply (VCC) that is used to power the logic.
The Orangutan SVP has one TB6612FNG motor driver for each motor output. Each motor driver can deliver a
continuous 2 A, and can briefly deliver up to 6 A. If you are not taking extra steps to keep the motor driver cool,
such as using a heat sink, exceeding this continuous current rating for too long will cause the motor driver to heat
up and trigger its built-in thermal shutdown.
By default, the motor drivers are powered from VBAT, which refers to the input voltage (VIN) after passing
through reverse protection and the power switch circuit. However, you can disconnect VBAT from the motor
drivers by cutting the labeled traces on the bottom of the board (VBAT-VM1 and VBAT-VM2). This allows you
to connect some other power supply to the motor drivers, such as VADJ (see below). The motor drivers have an
operating range of 4.5 – 13.5 V, so your power supply should be in that range, and should be capable of supplying
all the current that your motors might draw.
USB Power
When connected to a computer, the USB connection provides a 5 V power supply. If an external power supply is
present, the unit will run off of the external supply and not draw any power from USB. If only the USB power is
present, then by default the auxiliary processor will be powered from USB, but the AVR and the VCC power pins
on the board will not be powered. An option is available for powering the entire board from USB. See Section 11
for more information.
Motors
The motor drivers are controlled by two of the AVR’s hardware PWM outputs from eight-bit Timer2 for speed
control, along with two digital outputs for direction control. This lets you achieve variable motor speeds using
hardware PWMs rather than processor-intensive software PWMs on the motor control lines. You can control the
motors using the functions in the OrangutanMotors [http://www.pololu.com/docs/0J18/7] section of the Pololu AVR
C/C++ Library.
Pololu Orangutan SVP User's Guide © 2001–2011 Pololu Corporation
4. Module Pinout and Components Page 8 of 40

For each motor, the Orangutan SVP has a current-sensing circuit that produces an output voltage proportional to
the current the motors are using (850 mV/A). The respective outputs of these circuits are labeled CS1 and CS2,
and they are accessible near the center of the board.
User I/O & Power Outputs
Sixteen user I/O lines can be accessed via the four 4×3 0.100" female headers along the lower edger of the board,
as shown below. Each I/O line has associated power and ground connections for easy connections to sensors: the
exterior (bottom) pin is ground, the middle pin is power, and the interior (top) pin is signal and connects directly
to an AVR I/O line.
For each four-pin bank of I/O lines, you can configure which power voltage is supplied to the power (middle)
pins. By default, the power pins are connected to VCC (5 V). You can cut a trace on the bottom of the board
to disconnect them from VCC. This will leave the power pins connected to one through-hole, which can be
connected to a different power source, such as VADJ, which is available elsewhere on the board.
The total current available on the VCC (5 V) line is 3 A, meaning you can power servos and other high-power
peripherals directly from your regulated voltage.
LCD
The Orangutan SVP is supplied with a removable 16×2 character LCD with backlight that uses the common
HD44780 parallel interface [http://www.pololu.com/file/download/DMC50448N-AAE-AD.pdf?file_id=0J71] (109k pdf). A
different LCD can be connected with an appropriate cable. The AVR has four I/O lines connected to LCD data
lines DB4 – DB7 (i.e. is configured to use the LCD in 4-bit mode) and three I/O lines connected to the three LCD
control lines RS, R/W, and E. Please note that the LCD data lines are also shared by the user pushbuttons and the
green user LED. You can print to the LCD using the functions in the OrangutanLCD [http://www.pololu.com/docs/
0J18/5] section of the Pololu AVR C/C++ Library.
The LCD’s backlight can be turned off by driving the BACKLIGHT line low. Adjustable dimming of the LCD
can be achieved by connecting the line to a free PWM output.
The AVR’s AREF pin is available next to the backlight pin.
Pushbuttons
The Orangutan SVP has five total pushbuttons: a power on/off button located on the right side of the bottom
edge of the board, a reset button located on the left side of the top edge of the board, and three user pushbuttons
located along the left edge of the board. Please note that the power button disconnects the external power supply
from the entire board, while the reset button connects directly to the AVR’s RESET pin and does not disconnect
the power supply.
The user pushbuttons, from top to bottom, are on pins PC5, PC3, and PC2. Pressing one of these buttons pulls
the associated I/O pin to ground through a resistor. You can detect button pushes using the functions in the
OrangutanPushbuttons [http://www.pololu.com/docs/0J18/9] section of the Pololu AVR C/C++ Library. The library
takes care of configuring the pins as inputs, enabling the AVR’s internal pull-up resistors, and debouncing
(accounting for the fact that pushbuttons physically bounce when pressed).
Buzzer
The Orangutan SVP comes with a buzzer controlled by pin PD4. If you alternate between driving the buzzer pin
high and low at a given frequency, the buzzer will produce sound at that frequency. You can use the functions in
the OrangutanBuzzer [http://www.pololu.com/docs/0J18/3] section of the Pololu AVR C/C++ Library to play notes in
the background (using hardware PWM) while the rest of your processor performs other tasks.
Pololu Orangutan SVP User's Guide © 2001–2011 Pololu Corporation
4. Module Pinout and Components Page 9 of 40

Trimpot
The Orangutan SVP comes with a 10 kilo-ohm user trimmer potentiometer, located between the USB connector
and the LCD connector. The trimpot is connected to the auxiliary processor, which measures its output voltage
and reports it to the AVR.
You can disconnect the trimpot from the auxiliary processor by cutting the labeled trace between POT and
ADC/SS on the bottom side of the board. This gives you two options for that line: you can use it as a general-
purpose analog input by connecting some other output to it, or you can connect it to one of your AVR’s free I/O
lines and use it as the SPI slave-select line for the auxiliary processor, allowing you to communicate with some
other SPI peripheral.
Programming Connector
The Orangutan SVP has a 6-pin programming connector on the upper left side. This gives you the option of
using an AVR ISP in-system programmer from Atmel or a compatible programmer, such as our Pololu USB AVR
Programmer [http://www.pololu.com/catalog/product/1300] to program the AVR. This is not necessary, though, because
the Orangutan SVP’s auxiliary processor can serve as an AVR ISP programmer for the AVR.
By default, pin 5 of the Programming connector, which is labeled by an asterisk (*), is connected to the AVR’s
RESET line, which is necessary for ISP programming by an external device). However, you can disconnect those
two pins by cutting a labeled trace on the bottom of the circuit board. This gives you the option of using that line
for some other signal.
Auxiliary I/O & Power Outputs
The Orangutan SVP has five auxiliary I/O lines that are connected to the auxiliary processor. Each I/O line has
associated power and ground connections for easy connections to sensors: the exterior (top) pin is ground, the
middle pin is power (VCC), and the interior (bottom) pin is signal and connects directly to an auxiliary processor
I/O line. The TX line is the serial transmit line. It transmits TTL-level serial bytes received from the computer
on the “Pololu Orangutan SVP TTL Serial Port”. The lines A,B,C, and D/RX can be configured to do different
things. They can function as three analog inputs plus a serial receive line, as four analog inputs, or as the inputs
for two quadrature encoders. See the OrangutanSVP [http://www.pololu.com/docs/0J18/13] section of the Pololu AVR
C/C++ Library for more information.
Servo Demultiplexer
The hardware in the upper-right corner of the Orangutan SVP allows you to control up to 8 servos without
sacrificing a large number of I/O lines or processor cycles. You can control servos using the functions in the
OrangutanServos [http://www.pololu.com/docs/0J18/11] section of the Pololu USB AVR C/C++ library.
The input signal of the demultiplexer is connected to pin PD5 on the AVR. If you are not using PD5 to control
servos, you can use it as a general-purpose digital I/O line or PWM output.
The three output-selection pins of the multiplexer (SA,SB, and SC) are available in the header near the
multiplexer so they can be wired to free I/O lines on the AVR, allowing you to switch between servos. The
output-selection pins have pull-down resistors, so if you have four servos or fewer you can leave some of them
disconnected.
The eight output pins of the multiplexer are available in two 4×3 headers. These lines have current-limiting
resistors on them. Each multiplexer output line has associated power and ground connections for easy connections
to the servos: the exterior (top) pin is ground, the middle pin is power. For each bank of servos, you can configure
which power supply is connected to the power pins, using the provided headers and jumpers. You can power
the servos from VCC, VADJ (see below), or a separate power supply. The fully assembled version ships with a
Pololu Orangutan SVP User's Guide © 2001–2011 Pololu Corporation
4. Module Pinout and Components Page 10 of 40

jumper attached to just the middle pin of each of the two servo power selection banks. In this default orientation,
the jumper supplies no power to the servo power rail.
Orangutan SVP with key integrated hardware labeled.
Adjustable Voltage (VADJ)
In addition to the 5 V regulator that supplies VCC, the Orangutan SVP comes with an adjustable voltage regulator.
Both regulators can supply a current of 3 A. The adjustable voltage regulator draws current from the external
power supply, and produces an output voltage called VADJ. The trimmer potentiometer in the upper right corner
of the board determines VADJ. If you turn the trimpot all the way counter-clockwise, VADJ goes down to about
2.5 V. If you turn it all the way clockwise, VADJ rises to 85% of VIN. The adjustable voltage regulator will be off
when the main power is switched off.
In general, it is advantageous to power servos and other high-power devices from VADJ (instead of VCC),
because if the peripherals draw too much current for the power supply to handle the AVR will not be affected.
Pololu Orangutan SVP User's Guide © 2001–2011 Pololu Corporation
4. Module Pinout and Components Page 11 of 40

LEDs
Orangutan SVP LEDs.
The Orangutan SVP comes with 9 LEDs:
• A blue power LED is located next to the power button.
• There are four motor indicator LEDs located near the motor outputs. A green LED lit indicates that the
corresponding motor is being driven “forward” (the voltage on output B is higher than the voltage on A).
Ared LED indicates that the corresponding motor is being driven in “reverse” (the voltage on output B is
lower than the voltage on output A).
• A red user LED is located near the AVR I/O banks. The LED is connected to the user I/O line PD1. It will
light if you set PD1 as a low output. Since PD1 is the serial transmit line for UART0 (TXD0), the LED will
flicker whenever serial data is being transmitted from the AVR. The LED can be disconnected from PD1 by
cutting a labeled trace (PD1-LED) on the bottom of the board.
• A green user LED is located between the trimpot and the buzzer. It will light if you set PC4 as a high
output. Note that PC4 is also used as an LCD data line, so you will see the green LED flicker when you
update the LCD.
• Another green LED is located near the USB connector. This LED is controlled by the auxiliary processor
and indicates the status of the USB connection. When the USB is disconnected, or the device is in the USB
Suspend state (because the computer went to sleep), the green LED is off. When you connect the device
to a computer via USB, the green LED will start blinking slowly. The blinking continues until it receives a
particular message from the computer indicating that the drivers are installed correctly. After the programmer
gets this message, the green LED will be on, but it will flicker briefly when there is USB activity.
• Another red LED is located near the header for the auxiliary processor’s TX line. This LED is tied to
the TX line, so it will flicker whenever the auxiliary processor is transmitting TTL-level serial bytes from
the computer. This LED will also blink when the auxiliary processor powers up to indicate bad startup
conditions. Two blinks indicates that a brown-out reset was triggered: the processor’s VDD dropped below
Pololu Orangutan SVP User's Guide © 2001–2011 Pololu Corporation
4. Module Pinout and Components Page 12 of 40

3.0 V. If this happens to you, check your power connections and battery voltage, and make sure you are not
drawing too much power from the board.
Pololu Orangutan SVP User's Guide © 2001–2011 Pololu Corporation
4. Module Pinout and Components Page 13 of 40

5. Getting Started
5.a. Installing Windows Drivers
If you use Windows XP, you will need to have either Service Pack 3 [http://www.microsoft.com/downloads/
details.aspx?FamilyId=68C48DAD-BC34-40BE-8D85-6BB4F56F5110] or Hotfix KB918365 installed before
installing the drivers for the Orangutan SVP. Some users who installed the hotfix have reported
problems using the programmer which were solved by upgrading to Service Pack 3, so we recommend
Service Pack 3 over the hotfix.
Before you connect your Pololu Orangutan SVP robot controller to a computer running Microsoft Windows, you
must install its drivers:
1. Download and install the Pololu AVR Development Bundle [http://www.pololu.com/file-redirect/avr-
development-bundle] (~200MB exe). This includes the drivers for the Orangutan SVP, along with WinAVR
(compiler and tools), AVR Studio 4 (IDE), and the Pololu AVR C/C++ Library; Section 5.c has more
information on what is included in the AVR Development Bundle. If you are not sure which of these
components you need, it is OK to install all of them. If you only need to install the drivers for the Orangutan
SVP, you can download those separately: Orangutan SVP Windows Drivers [http://www.pololu.com/file/
download/orangutan-svp-win-110624.exe?file_id=0J488] (60k exe).
2. During the installation, Windows will warn you that the driver has not been tested by Microsoft and
recommend that you stop the installation. Click “Continue Anyway” (Windows XP) or “Install this driver
software anyway” (Windows Vista).
Windows 7 and Vista users: After the installation is complete, your computer should automatically install the
necessary drivers when you connect an Orangutan SVP, in which case no further action from you is required.
Pololu Orangutan SVP User's Guide © 2001–2011 Pololu Corporation
5. Getting Started Page 14 of 40

Windows XP users: After the installation is complete, follow steps 3-7 for each new Orangutan SVP you connect
to your computer.
3. Connect the device to your computer’s USB port. The Orangutan SVP shows up as three devices
in one so your XP computer will detect all three of those new devices and display the “Found New
Hardware Wizard” three times. Each time the “Found New Hardware Wizard” pops up, follow steps 4-7.
4. When the “Found New Hardware Wizard” is displayed, select “No, not this time” and click “Next”.
5. On the second screen of the “Found New Hardware Wizard”, select “Install the software automatically”
and click “Next”.
Pololu Orangutan SVP User's Guide © 2001–2011 Pololu Corporation
5. Getting Started Page 15 of 40

6. Windows XP will warn you again that the driver has not been tested by Microsoft and recommend that
you stop the installation. Click “Continue Anyway”.
7. When you have finished the “Found New Hardware Wizard”, click “Finish”. After that, another wizard
will pop up. You will see a total of three wizards when plugging in the Orangutan SVP. Follow steps 4-7 for
each wizard.
Pololu Orangutan SVP User's Guide © 2001–2011 Pololu Corporation
5. Getting Started Page 16 of 40

If you use Windows XP and experience problems installing the drivers, the cause of your problems might be
a bug in older versions of Microsoft’s usb-to-serial driver usbser.sys. Versions of this driver prior to version
5.1.2600.2930 will not work with the Orangutan SVP. You can check what version of this driver you have
by looking in the “Details” tab of the “Properties” window for C:\Windows\System32\drivers\usbser.sys. To get
the fixed version of the driver, you will need to either install Service Pack 3 [http://www.microsoft.com/downloads/
details.aspx?FamilyId=68C48DAD-BC34-40BE-8D85-6BB4F56F5110] or Hotfix KB918365. Some users who installed the
hotfix have reported problems using the programmer which were solved by upgrading to Service Pack 3, so we
recommend Service Pack 3 over the hotfix.
After installing the drivers, if you go to your computer’s Device Manager and expand the “Ports (COM & LPT)”
list, you should see three COM ports: Pololu Orangutan SVP Programmer (Section 5.c), Pololu Orangutan
SVP USB Communication Port (Section 8), and the Pololu Orangutan SVP TTL Serial Port (Section 9). In
parentheses after these names, you will see the name of the port (e.g. “COM5” or “COM6”).
Pololu Orangutan SVP User's Guide © 2001–2011 Pololu Corporation
5. Getting Started Page 17 of 40

Windows XP device manager showing the Pololu Orangutan
SVP.
Windows Vista device manager showing the Pololu Orangutan SVP.
Some software will not allow connection to higher COM port numbers. For example, AVR Studio 4 can only
connect to COM1 through COM9. If you need to change the COM port number assigned to one of the COM
ports, you can do so using the Device Manager. Bring up the properties dialog for the COM port and click the
“Advanced…” button in the “Port Settings” tab. From this dialog you can change the COM port assigned to your
device.
5.b. Using the Demo Program
The Demo Program
The Orangutan SVP ships with a demo program pre-loaded which demonstrates most of its features and allows
you to test that it is working correctly. After you first connect an external power supply and turn on your
Orangutan, you should see the red user LED blinking about once per second. If you have soldered a buzzer in to
your SVP (or bought the assembled version), you will also hear a beep. If you have connected an LCD, you will
see the words “Pololu Orangutan SVP”, then “Demo Program” appear, indicating that you are running the demo
program. If you see the blinking red LED but do not see any text on the LCD, you may need to adjust the contrast
potentiometer in the lower left corner of the board. When the program has started successfully, press the Middle
Pololu Orangutan SVP User's Guide © 2001–2011 Pololu Corporation
5. Getting Started Page 18 of 40

Button button (marked PC3 on the underside of the board) to proceed to the main menu. Press the Top Button
(marked PC5) or the Bottom Button (marked PC2) to scroll forward or backward through the menu, and press
the Middle Button to make a selection or to exit one of the demos. There are nine demos accessible from the
menu:
1. Analog Inputs: This demo displays voltage readings from the Orangutan SVP’s 13 analog inputs as a
bar graph. The inputs are in this order: PA7, PA6, PA5, PA4, PA3, PA2, PA1, PA0, trimpot, A, B, C, D. You
can press the top button to enable/disable the pull-up resistors on PA0—PA7.
2. Battery Voltage: This demo displays the battery voltage in millivolts.
3. Digital Inputs: This demo displays the digital readings from some of the user-accessible digital input
lines. The pull-up resistors are enabled, so each line should read 1 if they are not connected to anything. If
you connect a wire between one of these lines and ground, you should see its reading go to zero (be careful
not to cause a short circuit).
4. LEDs: Blinks the red and green user LEDs.
5. Trimpot: Displays the position of the user trimmer potentiometer, which is located in the upper left
corner of the board, as a number between 0 and 1023. While displaying the value, this demo also blinks the
LEDs and plays a note whose frequency is a function of the current reading. It is easiest to turn the trimpot
using a 2 mm flat-head screwdriver.
6. Motors: Hold down the bottom or top buttons to run motors 1 or 2, respectively, or hold down
both buttons to run both motors simultaneously. The motors will gradually ramp up to speed; in your
own programs, you can switch them on much more suddenly. Tap the bottom or top buttons to switch
the corresponding motor to reverse (the button name becomes lowercase if pressing it will drive the
corresponding motor in reverse).
7. Music: Plays a song while scrolling a text display. This demonstrates the ability of the Orangutan to play
music in the background.
8. Timer: A simple stopwatch. Press the bottom button to start or stop the stopwatch and the top button to
reset. The stopwatch continues to count while you are exploring the other demos.
9. USB: Demonstrates the USB connection between the Orangutan SVP and a computer. Plug the
Orangutan SVP in to USB. Any bytes you send on the Pololu Orangutan SVP USB Communications Port
(Section 8) will be displayed on the screen, and echoed back to the computer so you can see them in your
terminal program. The red LED indicates the state of the DTR handshaking line, and the green LED indicates
the state of the RTS handshaking line.
The source code for the demo program is included with the Pololu AVR C/C++ Library [http://www.pololu.com/docs/
0J20] in the examples\atmega324p\svp-demo-program or examples\atmega1284p\svp-demo-program directory,
depending on whether you have the SVP-324 or SVP-1284.
5.c. Programming in Windows with AVR Studio
To program your Orangutan SVP’s on-board ATmega324P or ATmega1284PA microcontroller in Windows, we
recommend that you download and install the Pololu AVR Development Bundle [http://www.pololu.com/file-redirect/
avr-development-bundle] (~200MB exe) as described in Section 5.a. The bundle includes:
•WinAVR [http://winavr.sourceforge.net/]: WinAVR is a free, open-source suite of development tools for the
AVR family of microcontrollers, including the GNU C/C++ compiler for AVRs (avr-gcc).
•AVR Studio 4 [http://www.atmel.com/forms/
software_download.asp?category_id=163&family_id=607&subfamily_id=760&fn=dl_AvrStudio4Setup.exe]: AVR Studio 4
is a free integrated development environment (IDE) for programming AVRs offered by Atmel. AVR Studio
4 works with the WinAVR avr-gcc compiler and contains built-in support for AVR ISP programming.
Pololu Orangutan SVP User's Guide © 2001–2011 Pololu Corporation
5. Getting Started Page 19 of 40

•Pololu AVR C/C++ Library [http://www.pololu.com/docs/0J20]: This library provides functions for
interacting with all of the Orangutan’s integrated hardware, including the auxiliary processor, and many
demo programs that show how to use these functions.
As a first step after installation, we recommend you try to program your Orangutan with a simple program that
blinks the red user LED on pin PD1. Download the file below that corresponds to your particular Orangutan SVP
model:
• Orangutan SVP-324: BlinkLED_m324.zip [http://www.pololu.com/file/download/
BlinkLED_m324.zip?file_id=0J235] (7k zip)
• Orangutan SVP-1284: BlinkLED_m1284p.zip [http://www.pololu.com/file/download/
BlinkLED_m1284.zip?file_id=0J326] (8k zip)
Open the AVR Studio Project by double clicking on BlinkLED.aps. Connect your Orangutan SVP to USB. In
the Tools menu, select Program AVR > Connect…. Select the AVRISP platform. Select the COM port of the
“Pololu Orangutan SVP Programmer” port as seen in your Device Manager in the “Ports (COM & LPT)” list.
Since AVR Studio only supports connecting to COM1 through COM9, you may need to change your port number
in the device manager. Click the Connect… button. If AVR Studio successfully connects to the Orangutan SVP’s
programmer, it should bring up an STK500 dialog box. Under the Main tab of this new dialog box, select
ATmega324PA or ATmega1284P depending on which SVP model you have. In the Flash section of the Program
tab, navigate to the project’s hex file (which is created in the default directory when you build the project). Make
sure that the Orangutan SVP’s AVR is powered (the blue LED must be on). Now click the Program flash button.
If everything has worked correctly, you should see the Orangutan’s red user LED blinking around once per second.
Pololu Orangutan SVP User's Guide © 2001–2011 Pololu Corporation
5. Getting Started Page 20 of 40
Table of contents
Other Pololu Microcontroller manuals

Pololu
Pololu A-Star 32U4 Prime LV Quick start guide

Pololu
Pololu A-Star 32U4 Series Quick start guide

Pololu
Pololu A-Star 32U4 Series User manual

Pololu
Pololu A-Star 32U4 Series User manual

Pololu
Pololu SMC01A User manual

Pololu
Pololu A-Star 32U4 Series Quick start guide

Pololu
Pololu A-Star 32U4 Series Quick start guide
Popular Microcontroller manuals by other brands

Silicon Laboratories
Silicon Laboratories C8051F99 Series user guide

Microchip Technology
Microchip Technology SAMA5D27 manual

NXP Semiconductors
NXP Semiconductors SLN-LOCAL2-IOT user guide

Beninca
Beninca DA.24B2 operating instructions

Efinix
Efinix Trion8 BGA81 user guide

Intel
Intel Pentium III Processor/840 manual