There are no products in your shopping cart.
Baby Orangutan B-328 Robot Controller
The affordable Baby Orangutan B-328 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: an ATmega328P AVR microcontroller and a dual H-bridge for direct control of two DC motors.
An integrated motor driver sets the Baby Orangutan B 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 off the basic hardware features of the Baby Orangutan.
The Orangutan line deliver significantly higher performance than other similar controller boards. The availability of free development software, such as Atmel’s AVR Studio IDE and the WinAVR GCC C/C++ compiler, and low-cost programmers, such as the Pololu USB AVR programmer, make the Baby Orangutan B a truly outstanding value asset to your project.
Specifications & On-Board Hardware
- overall unit dimensions: 1.2" x 0.7"
- input voltage: 5-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 ATmega48 AVR microcontroller (4 KB flash, 512 bytes SRAM, 256 bytes EEPROM) or 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 Orangutan LV-168, so the same code will generally work on all of these devices
The Baby Orangutan B is available with either the ATmega48 or ATmega328P AVR microcontroller. The main differences between the mega48 and mega328P are memory size, boot loader support, and interrupt vector size. The mega328 can also run at lower voltages than the mega48 for frequencies below 10 MHz.
| mega48 | mega328P | |
|---|---|---|
| Flash | 4K Bytes | 32K Bytes |
| RAM | 512 Bytes | 2048 Bytes |
| EEPROM | 256 Bytes | 1024 Bytes |
| Interrupt Vector Size | 1 instruction word/vector | 2 instruction words/vector |
| Boot Loader Section | none | 256, 512, 1024, or 2048 words (512, 1024, 2048, or 4096 bytes |
Included components
The 0.1" header pins are included with the Baby Orangutan B but are not soldered in. When the headers are soldered in the Baby Orangutan can be used as a DIP component on breadboards or prototyping boards. 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.
Dimensions
| Size: | 1.20" x 0.70" |
|---|---|
| Weight: | 1.5 g1 |
General specifications
| Processor: | ATmega328P @ 20 MHz |
|---|---|
| RAM size: | 2048 bytes |
| Program memory size: | 32 Kbytes |
| Motor driver: | TB6612FNG |
| Motor channels: | 2 |
| 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 |
| LCD included?: | N |
Notes:
- 1 without headers
- 2 16 can be used as digital I/Os and 8 can be used as analog inputs.
Documentation and other information
Pololu Baby Orangutan B User’s Guide (pdf) User’s guide for the Pololu Baby Orangutan B-48, B-168, and B-328 robot controllers.
Printable PDF: Pololu AVR C/C++ Library User’s Guide (pdf) Information about installing and using the C/C++ libraries provided for use with Pololu products.
avr_library_commands.pdf
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 (pdf)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 (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 (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.
File downloads
- Toshiba TB6612FNG motor driver datasheet (207k pdf)
- Sample AVR Studio project for the ATmega48 to blink an LED (9k zip)
- This is a sample AVR Studio project that will blink an LED on an Baby Orangutan B-48.
- Sample AVR Studio project for the ATmega168 to blink an LED (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.
- Sample AVR Studio project for the ATmega328P to blink an LED (9k zip)
- This is a sample AVR Studio project that will blink an LED on a Baby Orangutan B-328, 3pi robot, or Orangutan SV-328.
- AVR Studio 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.
- LSM303DLH Orangutan example project (5k zip)
- This sample program shows how to use a LSM303DLH 3D compass and accelerometer carrier (contact us if you are interested in this product, we can get it for you) with a 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
Schematic: (B-328 is the same as the B-48/B168)
Schematic: (B328 is the same as B-48/B-168)
- WinAVR
- A free, open-source suite of development tools for the AVR family of microcontrollers, including the GNU GCC compiler for C/C++.
- AVR Studio
- Atmel’s free AVR integrated development environment (IDE) that works with WinAVR’s free GCC C/C++ compiler.
- ATmega328P documentation
- Atmel’s product page for the ATmega328P.
- ATmega168 documentation
- Atmel’s product page for the ATmega168.
- ATmega48 documentation
- Atmel’s product page for the ATmega48.
- Pololu Orangutan Forum Section
- The Orangutan discussion section of the Pololu Robotics Forum.
- AVR Freaks
- AVR community with forums, projects, and AVR news.
- Orangutan-lib
- 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.
- Robot Zero: a fast line follower for beginners
- A guide to building a fast (> 2 m/s) line-following robot from scratch. By C.I.r.E., February 2011.
- Schematic: (B-328 same as B-48/B-168)

.png)




