TOKO ROBOT - Orangutan LV-168 Robot Controller

Produk Item # : 775
Harga : Rp. 1.255.500
Stok : 0 Indent!

The Orangutan LV-168 is a full-featured controller for low-voltage robots. Thanks to a step-up voltage regulator, you can power this Orangutan with two or three 1.2-1.5 V batteries while maintaining 5 V operation for its Atmel mega168 AVR microcontroller and your sensors. A pair of discrete, low-voltage H-bridges deliver up to 2 A continuous per channel to get the most power out of low-voltage motors.


The Orangutan LV-168 robot controller, the fourth release in our line of Orangutan robot controllers (Link:, is a complete control solution for small robots powered by two or three NiMH cells (or similar batteries). The small (2.15" x 1.9") module includes a powerful Atmel ATmega168 AVR microcontroller, two bidirectional motor ports each capable of providing 2 A (continuous), a removable 8-character x 2-line liquid crystal display, a buzzer, three user pushbutton switches, and two user LEDs. Eight general-purpose I/O lines with up to eight analog input channels allow for adding sensors or expanding the system.

Orangutan LV-168 features (top view).


The Orangutan LV-168 incorporates a step-up voltage regulator that generates 5 V from the lower input voltage, enabling the mega168 to run at its full speed of 20 MHz and allowing the use of sensors that require 5 V. Two discrete H-bridges using low-voltage MOSFETs allow efficient control of two bidirectional DC motors drawing up to 2 A each (continuously). The motor drivers can briefly deliver up to 5 A each, but each motor is protected by a resettable fuse that is triggered by excessive temperature. If a motor draws much more than 2 A for more than a few seconds, the voltage to the motor will be reduced, but normal operation will resume once the board has cooled down. An on-board temperature sensor can be connected to ADC6 for some (limited) feedback about the board temperature.

Like our original Orangutan, the Orangutan LV-168 is based on Atmel’s mega168 AVR microcontroller, which features 16 Kbytes of flash program memory, 1024 bytes of SRAM, and 512 bytes of EEPROM. Because the user has direct access to the microcontroller, any development software for Atmel’s AVR microcontrollers, including Atmel’s free AVR Studio (Link: and the WinAVR (Link: GCC C/C++ compiler, is compatible with the Orangutan LV-168. An in-circuit programmer, such as our USB AVR programmer, is required for programming the Orangutan LV-168; we offer a combination deal (Link: ) that lets you save when you buy a programmer with your Orangutan. We provide an extensive set of software libraries (Link: that make it a breeze to interface with all of the integrated hardware. These libraries come with a number of sample programs that demonstrate how to use the various components on the Orangutan LV-168. This robot controller is also compatible with the popular Arduino development platform (Link:

The Orangutan LV-168 is designed to operate off of three NiMH cells, which corresponds to a voltage range of 2.5-4.5 V. In a typical application, you might power your Orangutan LV-168 with three AA batteries, for example. However, the unit can operate from two or four NiMH cells with some limitations. At lower voltages, the effectiveness of the motor drivers will be reduced, and the 5 V step-up regulator’s output current will be reduced. Beyond 5 V, the step-up regulator will cease operation and the input voltage will show up on the Vcc line; the components on the board can operate to 5.5 V, but some sensors you use might have a 5.25 V limit.

The Orangutan LV-168 matches the outline of a 3 AA battery holder almost perfectly, allowing you to combine the two into a single, compact unit.. Such a battery holder or a pre-assembled pack (Link: ) of similar size (often available as a cordless phone battery pack) will help you get up and running quickly.

Specifications & On-Board Hardware


  • overall unit dimensions: 2.15" x 1.9"
  • input voltage: 2-5 V
  • 2 bidirectional motor ports (2 A continuous per channel, 5 A maximum per channel)
  • programmable 20 MHz Atmel ATmega168 AVR microcontroller (16 KB flash, 1 kB SRAM, 512 bytes EEPROM)
  • 8 general-purpose I/O lines, 6 of which can be used as analog input channels
  • 2 additional analog input channels (ADC6 & ADC7) can be accessed on the board
  • removable 8-character x 2-line LCD
  • buzzer tied to one of the mega168’s hardware PWMs
  • 3 user pushbutton switches
  • 2 user LEDs
  • temperature sensor optionally connected to ADC6
  • user potentiometer optionally jumpered to ADC7














People often buy this product together with:

3-AA Battery Holder 3-AA Battery Holder
QTR-8RC Reflectance Sensor Array QTR-8RC Reflectance Sensor Array




Size: 2.15" x 1.90"
Weight: 35 g

General specifications

Processor: ATmega168 @ 20 MHz
RAM size: 1024 bytes
Program memory size: 16 Kbytes
Motor driver: discrete MOSFETs
Motor channels: 2
User I/O lines: 81
Max current on a single I/O: 40 mA
Minimum operating voltage: 2 V
Maximum operating voltage: 5 V
Continuous output current per channel: 2 A
Peak output current per channel: 5 A
Maximum PWM frequency: 10 kHz
Reverse voltage protection?: Y
External programmer required?: Y
LCD included?: Y


All 8 can be used as digital I/Os and 6 can be used as analog inputs. Two additional dedicated analog inputs can be accessed on the PCB if their jumper connections to optional hardware are removed.


Documentation and other information

Pololu Orangutan SV-xx8 and LV-xx8 User’s Guide (Link: ) (Printable PDF: svxx8_lvxx8.pdf (Link:

User’s guide for the Pololu Orangutan SV-168, SV-328, and LV-168 robot controllers.

Pololu AVR C/C++ Library User’s Guide (Link: ) (Printable PDF: pololu_avr_library.pdf (Link:

Information about installing and using the C/C++ libraries provided for use with Pololu products.

Pololu AVR Library Command Reference (Link: ) (Printable PDF: avr_library_commands.pdf (Link:

A reference to commands provided in the Pololu C/C++ and Arduino libraries for the AVR.

Programming Orangutans and the 3pi Robot from the Arduino Environment (Link: ) (Printable PDF: orangutan_arduino.pdf (Link:

Guide to making the Arduino IDE compatible with the 3pi robot and the Orangutan SV-168, Orangutan LV-168, and Baby Orangutan B robot controllers, including Arduino libraries for interfacing with the all of their on-board hardware.

Application Note: Using the Motor Driver on the 3pi Robot and Orangutan Robot Controllers (Link: (Printable PDF:motor_driver_application_note.pdf (Link:

Detailed information about the 3pi Robot, Orangutan SV-328/168 and LV-168, and Baby Orangutan B motor drivers, including truth tables and sample code.

Application Note: MLX90614ESF SMBus Communication with Orangutan Robot Controllers (Link: (Printable PDF:mlx90614esf_smbus_orangutan.pdf (Link:

A guide for implementing the SMBus (I²C-compatible) protocol for the MLX90614ESF temperature sensor on the AVR-based Orangutan robot controller series. The guide includes sample code for taking temperature readings.


File downloads

Orangutan LV-168 quick-start sheet and schematic (Link: pdf)
Sample AVR Studio project for the ATmega168 to blink an LED (Link: ) (9k zip)
This is a sample AVR Studio project that will blink an LED on an Orangutan with an ATmega168 microcontroller: Orangutan mega168, Orangutan LV-168, Orangutan SV-168, Baby Orangutan mega168, and Baby Orangutan B-168.
AVR Studio test program for the Orangutan LV-168 (Link: ) (69k zip)
C code for the mega168: This is the program used to test each Orangutan LV-168 before it ships and is part of the program that comes pre-loaded on each Orangutan LV-168. It interfaces with all of the on-board hardware and can be used as a starting point for your own programs. This program requires the Pololu AVR library (Link: ) (libpololu). Please see the Orangutan LV-168 user’s guide for more information about using this test program.
AVR Studio demo project #1 for the Orangutan SV-168 and LV-168 (Link: ) (14k zip)
C code for the mega168: This project demonstrates the fundamentals of using I/O lines on a mega168. Each line of the source code is commented, and there is a short tutorial in comments at the start of main() on using AVR I/O and on C bit-logic. The program will alternately flash the two user LEDs until you ground the general-purpose I/O pin PD0 (the right-most of the eight user I/O lines at the top of the board). Grounding pin PD0 will cause the program to pulse the buzzer pin instead of the LED pins, causing the buzzer to play a note. While intended for use on the Orangutan SV-168 and LV-168, this program will run on the Baby Orangutan B-168 and can serve as a useful example on how to use the ATmega48/168 I/O lines. It will run on the Baby Orangutan B-328 with some minor modifications.
AVR Studio demo project #2 for the Orangutan SV-168 and LV-168 (Link: ) (16k zip)
C code for the mega168: This is a slightly more advanced program that demonstrates triggering actions with the user buttons and controlling the buzzer using one of the mega168’s hardware PWMs (as opposed to the processor-intensive software buzzer control we used in Demo 1). The program will cause the buzzer to play while the user buttons are held down. The button held down determines the frequency of the note the buzzer plays.
AVR Studio demo project #3 for the Orangutan LV-168 (Link: ) (29k zip)
C code for the mega168: This project demonstrates analog-to-digital conversion, use of the LCD, and control of the motor ports. Specifically, it uses the mega168’s analog-to-digital converter to monitor the position of the user potentiometer. It displays the potentiometer’s position on the LCD and drives the two motor ports based on this position.
AVR Studio demo project #4 for the Orangutan LV-168 (Link: ) (29k zip)
C code for the mega168: This project demonstrates the use of the mega168’s UART, interrupts, and reading the on-board temperature sensor. To make full use of this demo, you will need a source capable of producing logic-level (TTL) serial transmissions at 115.2 kbps. The Pololu Orangutan USB programmer can be such a source if you switch the blue shorting block to the USB-to-serial-adapter position and connect its TX pin to pin PD0 on your Orangutan LV-168. Don’t forget to also connect the programmer’s ground pad (labeled G) to ground on your Orangutan. Then start up a terminal program such as Hyperterm or Tera Term Pro, connect to your serial adapter’s COM port, set the baud for 115.2 kbps, and start typing characters. You should see the characters appear on the top row of your Orangutan LV-168’s LCD while the bottom row displays the output of your board’s temperature sensor. If you touch the board near the temperature sensor, you should see this reading rise.
MCP9701 datasheet (Link: ) (522k pdf)
Datasheet for the MCP9701 temperature sensor used on the Orangutan LV-168.