The Orangutan SVP robot controller 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 ATmega324 or ATmega1284 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 . This auxiliary processor provides a USB connection that allows direct communication with a PC, and its firmware lets it perform several useful tasks in parallel with the main microcontroller. For example, the auxiliary processor can read two quadrature encoders, such as encoders for Pololu wheel 42×19mm or our 37D mm metal gearmotors with encoders, without burdening the main MCU, or those same four inputs could be used as additional analog inputs. The user AVR can read data from the auxiliary MCU over SPI. A USB A to mini-B cable is included with the Orangutan SVP.
The Orangutan SVP is compatible with freely available development software for Atmel’s AVR microcontrollers, including Atmel Studio and the WinAVR GCC C/C++ compiler. We provide an extensive set of software libraries 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.
- 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 included)
- 2 bidirectional motor ports (2 A continuous per channel, 6 A maximum per channel)
- 8-output demultiplexer tied to one of the user 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 AVR 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 user 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
- Comprehensive user’s guide