The Baby Orangutan B-328 is a very compact but complete robot controller, packing a high-performance ATmega328P AVR microcontroller (with 32 KB of program memory and 2 KB of RAM) and two motor drive channels in the same 24-pin form factor as competing units that include just a microcontroller. You can connect your battery, sensors, and motors directly to this small module to make a miniature robot, or you can use the Baby Orangutan as an auxiliary controller in larger robots.
The Baby Orangutan is a complete control solution for small robots, all packed into a tiny 1.2″ x 0.7″ 24-pin DIP package. Its compact design eliminates bulkier components such as the LCD and switches while retaining the most essential features of the Orangutan robot controller line: a programmable ATmega328P AVR microcontroller and a dual H-bridge for direct control of two DC motors. This integrated motor driver sets the Baby Orangutan B-328 apart from similarly-sized microcontroller boards from other manufacturers. Two on-board indicator LEDs, a trimmer potentiometer, a 20 MHz resonator, and reverse battery protection round out the basic hardware features of the Baby Orangutan.
The removal of the larger Orangutan components also allows for a significantly improved manufacturing process that allows Pololu to offer the Baby Orangutan at a very affordable price. Because the Orangutans are based on Atmel’s powerful AVR microcontrollers, the Orangutans deliver significantly higher performance than other similar controller boards. The availability of free development software, such as the Atmel Studio IDE and the WinAVR GCC C/C++ compiler, and low-cost programmers, such as the Pololu USB AVR Programmer v2.1, make the Baby Orangutan B-328 a truly outstanding value.
For those not necessarily interested in robotics, the Baby Orangutan is also a great introduction to the AVR microcontrollers because of its size and price. All you need to get started is a low-cost programmer and a power source. You can fit a substantial design even on a small breadboard since you won’t need the space for basic components such as the voltage regulator and resonator. The source code for several sample projects is available under our resources tab; these examples are intended to help you get up and running quickly with your new AVR-based controller.
- overall unit dimensions: 1.2″ × 0.7″
- input voltage: 5 V to 13.5 V (15 V absolute maximum)
- two bidirectional motor ports can deliver ~1 A continuous (3 A peak) per channel
- programmable 20 MHz Atmel ATmega328P AVR microcontroller (32 KB flash, 2 KB RAM, 1 KB EEPROM)
- 18 user I/O lines, 16 of which can be used for digital I/O and 8 of which can be used as analog input channels
- 1 user LED
- user potentiometer tied to ADC7
- 20 MHz external resonator
- pinout is compatible with the Orangutan SV-328 and 3pi robot, so the same code will generally work on all of these devices
- comprehensive user’s guide
The compact module can be used as a DIP component on breadboards or prototyping boards, or the pin-less versions can be used for space-constrained installations in miniature robots. The 0.1″ header pins are included with the Baby Orangutan but are not soldered in. Power pins, one of the motor outputs, and several I/O lines are all accessible from one side to enable use of the Baby Orangutan as a single in-line pin (SIP) package for applications that do not require all of the I/O lines. The small size and low cost of the Baby Orangutan makes it a perfect option for primary control of small robots or for auxiliary control on larger robots.
|Size:||1.20″ x 0.70″|
|Processor:||ATmega328P @ 20 MHz|
|RAM size:||2048 bytes|
|Program memory size:||32 Kbytes|
|User I/O lines:||182|
|Max current on a single I/O:||40 mA|
|Minimum operating voltage:||5 V|
|Maximum operating voltage:||13.5 V|
|Continuous output current per channel:||1 A|
|Peak output current per channel:||3 A|
|Maximum PWM frequency:||80 kHz|
|Reverse voltage protection?:||Y|
|External programmer required?:||Y|
- without headers
- 16 can be used as digital I/Os and 8 can be used as analog inputs.
Pololu Baby Orangutan B-48/B-168/B-328 schematic diagram. Baby Orangutan B PCB bottom with quarter for size reference. Baby Orangutan B with included 0.1″ header pins. Baby Orangutan B with included header pins soldered in for breadboard installation. Baby Orangutan B components. Baby Orangutan B pinout. 5- and 6-cell NiMH battery packs that would work well powering a Baby Orangutan.
Documentation and other information
Pololu AVR Programming Quick Start Guide (Printable PDF)This guide explains how to get started programming your Orangutan or 3pi Robot in Windows, Linux or Mac OS X. It covers setting up an AVR development environment (Atmel Studio for Windows users), installing the Pololu AVR C/C++ Library, and setting up the Pololu USB AVR Programmer.
Programming Orangutans and the 3pi Robot from AVR Studio 4Guide 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.
Programming Orangutans and the 3pi Robot from the Arduino Environment (Printable PDF)Guide to making the Arduino IDE compatible with the 3pi robot and the Orangutan SV-328, Orangutan LV-168, and Baby Orangutan B robot controllers, including Arduino libraries for interfacing with all of their on-board hardware.
Application Note: Using the Motor Driver on the 3pi Robot and Orangutan Robot Controllers (Printable PDF)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 (Printable PDF)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.
- Baby Orangutan B pinout and pin assignment table (285k pdf)
- Pololu AVR Development Bundle for Windows (12MB exe)
- This bundle contains all the Pololu software you need to get started programming AVRs in Windows: the Pololu AVR C/C++ Library, the Pololu USB AVR Programmer drivers and software, and the Pololu Orangutan SVP drivers. We recommend installing Atmel Studio 7.0 before installing this bundle.
- Toshiba TB6612FNG motor driver datasheet (308k pdf)
- Sample AVR Studio 4 project for the ATmega48 to blink an LED (9k zip)
- This is a sample AVR Studio 4 project that will blink an LED on a Baby Orangutan B-48.
- Sample AVR Studio 4 project for the ATmega328P to blink an LED (9k zip)
- This is a sample AVR Studio 4 project that will blink an LED on a Baby Orangutan B-328, 3pi robot, or Orangutan SV-328.
- AVR Studio 4 demo project #1 for the Orangutan SV-168 and LV-168 (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.
- LSM303DLM Orangutan example project (5k zip)
- This sample program shows how to use an LSM303DLM 3D compass and accelerometer carrier with an Orangutan 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.
- Sample AVR Studio 4 project for the ATmega168 to blink an LED (9k zip)
- This is a sample AVR Studio 4 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.
- Drill guide for Baby Orangutan B-328 Robot Controller (40k dxf)
- This DXF drawing shows the locations of all of the board’s holes.