A-Star 32U4 Robot Controller SV with Raspberry Pi Bridge
This programmable module combines with a Raspberry Pi to serve as the control center of a small robot or electronics project. Its ATmega32U4 AVR microcontroller comes preloaded with an Arduino-compatible bootloader, and the board includes dual motor drivers that can deliver 1.7 A per channel to two brushed DC motors. An efficient voltage regulator (5.5 V to 36 V input) and level shifters enable it to power and communicate with a Raspberry Pi. This version (item #3119) is assembled with selected through-hole connectors and components installed for use as a Raspberry Pi add-on.
The A-Star 32U4 Robot Controller SV with Raspberry Pi Bridge is a programmable module well-suited for robotics applications, designed to work either as an auxiliary controller mounted to a Raspberry Pi or as a standalone control solution for a small robot. This A-Star (abbreviated A*) is based on the ATmega32U4 AVR microcontroller from Microchip (formerly Atmel), which has built-in USB functionality, and it ships with a preloaded Arduino-compatible bootloader. Its complement of peripheral hardware includes dual motor drivers capable of delivering a continuous 1.7 A per channel, along with pushbuttons, LEDs, and an optional buzzer for building a user interface. An efficient switching voltage regulator allows the controller to work over a wide range of input voltages (5.5 V to 36 V).
The robot controller board conforms to the Raspberry Pi HAT specification, allowing it to be used as an add-on for a Raspberry Pi with a 40-pin GPIO header (Model B+ or newer, including Pi 3 Model B and Model A+). On-board level shifters make it easy to set up I²C communication and interface other signals between the two controllers, and the A-Star automatically supplies 5 V power to an attached Raspberry Pi. In this setup, the Raspberry Pi can handle the high-level robot control while relying on the A-Star for low-level tasks like reading analog sensors and controlling timing-sensitive devices (e.g. servos).
We provide a library that helps establish communication between the A-Star and a Raspberry Pi, as well as a tutorial that demonstrates how to use the library and its included example code to build such a robot.
Our comprehensive user’s guide provides the basics you need to get started with the A-Star as well as detailed technical information for advanced users.
This product requires a USB A to Micro-B cable (not included) to connect to a computer.
A-Star 32U4 Robot Controller SV (5.5 V to 36 V) configurations:
Item #3118: Surface mount components only (no through-hole components or mounting hardware)
Item #3119: Assembled with selected through-hole components for use as a Raspberry Pi add-on (Raspberry Pi mounting hardware included)
A-Star 32U4 Robot Controller LV (2.7 V to 11 V) configurations:
Item #3116: Surface mount components only (no through-hole components or mounting hardware)
Item #3117: Assembled with selected through-hole components for use as a Raspberry Pi add-on (Raspberry Pi mounting hardware included)
- Dimensions: 65 mm × 56 mm (2.6″ × 2.2″)
- Programmable ATmega32U4 MCU with 32 KB flash, 2.5 KB SRAM, 1 KB EEPROM, and native full-speed USB (clocked by precision 16 MHz crystal oscillator)
- Preloaded with Arduino-compatible bootloader (no external programmer required)
- All 26 general-purpose I/O lines from the ATmega32U4 are broken out (including PB0, PD5, and PE2); 7 of these can be used as hardware PWM outputs and 12 of these can be used as analog inputs (some I/O lines are used by on-board hardware)
- Convenient 0.1″-spaced power, ground, and signal connection points
- Dual bidirectional MAX14870 motor drivers (1.7 A continuous per channel, 2.5 A peak per channel)
- Buzzer option for simple sounds and music
- 3 user-controllable LEDs
- 3 user pushbuttons
- Reset button Level shifters for interfacing 5 V logic to 3.3 V Raspberry Pi
- 5 V power can be sourced from USB or from 5.5 V to 36 V external supply through on-board regulator (with several access points for connecting external power)
- Switching 5 V regulator enables efficient operation
- Power switch for external power inputs
- Reverse-voltage protection on external power inputs
- Power selection circuit allows for seamless switching between power sources while providing overcurrent protection, and feedback about which power source is selected
- Provides 5 V power to Raspberry Pi
- 6-pin ISP header for use with an external programmer
- Comprehensive user’s guide
Details for item #3119
This version of the A-Star 32U4 Robot Controller SV with Raspberry Pi Bridge (5.5 V to 36 V input voltage) is assembled with selected through-hole connectors and components for use as a Raspberry Pi expansion board, as shown in the picture above. A 2×20-pin 0.1″ female header is preinstalled to serve as a Raspberry Pi GPIO connector, and a 6-pin strip of terminal blocks and a DC power jack are mounted for motor and power connections. A buzzer is also installed, along with two 2×1-pin male headers and shorting blocks for the buzzer and battery level jumpers.
This version ships with a set of four M2.5 standoffs (11 mm length), screws, and nuts that can be used to secure the board to the Raspberry Pi at the proper height for the GPIO connector.
For a version with SMT components only, making it more suitable for standalone use and allowing customization of through-hole components, see item #3118. For example, if you want to continue to have access to the Raspberry Pi’s 40 GPIO pins while the A-Star is plugged in, you can get the SMT-only version and install a stackable 2×20-pin female header.
A-Star 32U4 Robot Controller SV 5 V regulator
A major feature of the A* Robot Controller SV is its power system, which allows it to efficiently operate from a 5.5 V to 36 V external source and provide power to an attached Raspberry Pi. The input voltage is regulated to 5 V by an MP4423H switching step-down (buck) converter from Monolithic Power Systems. (We also make a standalone regulator based on this integrated circuit.)
As shown in the left graph below, the SV’s 5 V switching regulator has an efficiency – defined as (Power out)/(Power in) – of 80% to 95% for most combinations of input voltage and load.
The A-Star’s components, including the microcontroller and LEDs, draw 30 mA to 40 mA in typical applications (without the buzzer). The rest of the regulator’s achievable output current, which depends on input voltage as well as ambient conditions, can be used to power other devices; this can include an attached Raspberry Pi (which typically draws a few hundred milliamps). The green line in the right graph above shows the output currents where the regulator’s output voltage drops below 4.75 V. These currents are close to the limits of the regulator’s capability and generally cannot be sustained for long periods; under typical operating conditions, a safe limit for the maximum continuous regulator output current is 60% to 70% of the values shown in the graph.
The dropout voltage of a step-down regulator is defined as the minimum amount by which the input voltage must exceed the regulator’s target output voltage in order to assure the target output can be achieved. As can be seen in the graph below, the dropout voltage of the Robot Controller SV’s regulator increases approximately linearly with the output current. For light loads where the dropout voltage is small, the board can operate almost down to 5 V. However, for larger loads, the dropout voltage should be taken into consideration when selecting a power supply; operating above 6 V will ensure the full output current is available.
Note: Batteries can have much higher voltages than their nominal voltages when fully charged, so be careful with nominal voltages above 24 V. A 36 V battery is not appropriate for this product.
Like our other A-Star 32U4 programmable controllers, the A-Star 32U4 Robot Controller ships with a preloaded Arduino-compatible bootloader (which uses 4 KB of flash memory, leaving 28 KB available for the user program). We provide a software add-on that enables the board to be easily programmed from the Arduino environment and an Arduino library to make it easy to use the additional on-board hardware.
The A-Star 32U4 Robot Controller has the same microcontroller as the Arduino Leonardo and Arduino Micro, and it runs at the same frequency, so most code examples intended for those boards should also work on the A-Star.
The A-Star family
The A-Star 32U4 Robot Controller is a part of our larger A-Star 32U4 family, all of whose members are based on the same ATmega32U4 microcontroller, feature native USB interfaces, and are preloaded with Arduino-compatible bootloaders. The table below shows some key features and specifications of our A-Star microcontroller boards to help you choose the right one for your application.
Size: 65 mm × 56 mm
Weight: 23 g1
Processor: ATmega32U4 @ 16 MHz
RAM size: 2560 bytes
Program memory size: 32 Kbytes2
Motor driver: MAX14870
Motor channels: 2
User I/O lines: 263
Input voltage range: 5.5 V to 36 V
Minimum operating voltage: 5.5 V
Maximum operating voltage: 36 V
Maximum output current: 2.5 A4
Continuous output current per channel: 1.7 A
Peak output current per channel: 2.5 A
Logic voltage: 5 V
Reverse voltage protection?: Y
External programmer required?: N
PCB dev codes: ac04c
Other PCB markings: 0J9476
1 Without included mounting hardware.
2 Note that 4 KB of the MCU's 32 KB of flash memory is used by the pre-installed USB bootloader. All 32 KB is available when programming via the ISP header rather than the bootloader.
3 Some I/O lines are used by on-board hardware.
4 Available current depends on input voltage, current consumed by the board, ambient conditions, and regulator topology. See product documentation and performance graphs for details.
Documentation and other information
Pololu A-Star 32U4 Robot Controller User’s Guide (Printable PDF)
User’s manual for the Pololu A-Star 32U4 Robot Controller with Raspberry Pi Bridge.
Pololu A-Star 32U4 drivers for Windows (version 220.127.116.11) (7k zip)Pololu A-Star 32U4 drivers for Windows (version 18.104.22.168) (7k zip)
This download contains the Windows drivers for the A-Star 32U4 and the rest of our 32U4 family of boards.
Pinout and power distribution diagrams of the A-Star 32U4 Robot Controller with Raspberry Pi Bridge (8MB pdf)
Printable pinout and power distribution diagrams of the A-Star 32U4 Robot Controller with Raspberry Pi Bridge.
Schematic diagram of the A-Star 32U4 Robot Controller SV with Raspberry Pi Bridge (427k pdf)
Printable schematic diagram of the A-Star 32U4 Robot Controller SV with Raspberry Pi Bridge.
Dimension diagram of the A-Star 32U4 Robot Controller SV with Raspberry Pi Bridge (2MB pdf)
3D model of the A-Star 32U4 Robot Controller SV with Raspberry Pi Bridge (23MB step)
Drill guide for the A-Star 32U4 Robot Controller SV with Raspberry Pi Bridge (197k dxf)
This DXF drawing shows the locations of all of the board’s holes.
Maxim Integrated MAX14870 DC motor driver datasheet (492k pdf)
A-Star 32U4 Arduino library
The AStar32U4 library for the Arduino IDE helps interface with the on-board hardware on the A-Star 32U4 controllers.
AStar32U4 library documentation
A-Star repository on GitHub
This repository contains Arduino add-on files, Windows drivers, and bootloaders for the A-Star 328PB, A-Star 32U4, and the rest of our 32U4 family of boards.
Raspberry Pi slave library for Arduino
This is an Arduino library that helps establish I²C communication between an A-Star 32U4 Robot Controller and a Raspberry Pi, with the Arduino acting as the I²C slave. Example Arduino code and Python code for the Raspberry Pi are included.
Building a Raspberry Pi robot with the A-Star 32U4 Robot Controller
This blog post shows how to build an expandable robot platform based on a Raspberry Pi and an A-Star 32U4 Robot Controller using Pololu's Raspberry Pi slave library for Arduino.
Arduino integrated development environment (IDE) software
Microchip’s product page for the ATmega32U4 AVR microcontroller, with links to its datasheet, application notes, and other resources.
AVR Libc Home Page
The web site for AVR Libc, which is the standard library of functions that you can use with C and C++ on the AVR.
Pololu A-Star and Orangutan Forum Section
The A-Star and Orangutan discussion section of the Pololu Robotics Forum.
AVR community with forums, projects, and AVR news.
AVRDUDE is a cross-platform command-line utility for programming the flash memory on AVR microcontrollers.
LUFA – the Lightweight USB Framework for AVRs
LUFA is an embedded software library written in C that can be used to create USB applications on USB-capable AVRs. It comes with a large library of example USB applications and bootloaders.
Atmel Studio 7
Free integrated development environment (IDE) for AVRs.
A free, open-source suite of development tools for the AVR family of microcontrollers, including the GNU GCC compiler for C/C++.