Romi 32U4 Control Board

This is a merged information page for Item #3544.
View normal product page.

Pololu item #: 3544
Brand: Pololu
Status: Active and Preferred 
RoHS 3 compliant


The Romi 32U4 Control Board turns the Romi chassis into a programmable robot based on the Arduino-compatible ATmega32U4 MCU. Its features include integrated dual motor drivers, a versatile power circuit, and inertial sensors, as well as connections for quadrature encoders and an optional LCD. The board also has the ability to interface with an added Raspberry Pi, making the foundation for a complete Raspberry Pi-controlled Romi robot.

Pictures

Romi 32U4 Control Board.

Romi 32U4 Control Board, top view.

Romi 32U4 Control Board, bottom view.

Romi 32U4 Control Board, shown with included hardware.

Romi 32U4 Control Board, top view with dimensions.

Romi 32U4 Control Board with LCD on a Romi chassis.

Romi 32U4 Control Board on a Romi chassis, top view.

Romi 32U4 Control Board with LCD on a Romi chassis, top view.

Romi 32U4 Control Board with Raspberry Pi on a Romi chassis.

Pinout diagram of the Romi 32U4 Control Board (ATmega32U4 pinout, peripherals, and board power control).

Pinout diagram of the Romi 32U4 Control Board (Raspberry Pi pinout, peripherals, and level shifters).

Power distribution diagram of the Romi 32U4 Control Board.




Overview

The Romi 32U4 Control Board is designed to be assembled with a Romi chassis to create a capable integrated robot platform that can easily be programmed and customized.

Like our A-Star 32U4 programmable controllers, the Romi 32U4 Control Board is built around a USB-enabled ATmega32U4 AVR microcontroller from Microchip (formerly Atmel), and it ships preloaded with an Arduino-compatible bootloader. The control board features two H-bridge motor drivers and is designed to connect to a Romi Encoder Pair Kit (available separately) to allow closed-loop motor control. It also includes a powerful 5 V switching step-down regulator that can supply up to 2 A continuously, along with a versatile power switching and distribution circuit. A 3-axis accelerometer and gyro enable a Romi 32U4 robot to make inertial measurements, estimate its orientation, and detect external forces. Three on-board pushbuttons offer a convenient interface for user input, while indicator LEDs, a buzzer, and a connector for an optional LCD allow the robot to provide feedback.

Romi 32U4 Control Board on a Romi chassis, top view.

Romi 32U4 Control Board with LCD on a Romi chassis.

The Romi 32U4 Control Board can be used either as a standalone control solution or as a base for a more powerful Raspberry Pi controller. Its on-board connector and mounting holes allow a compatible Raspberry Pi (Model B+ or newer, including Pi 3 Model B+ and Model A+) to plug directly into the control board. Integrated level shifters make it easy to set up I²C communication and interface other signals between the two controllers, and the control board 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 Romi 32U4 Control Board for low-level tasks, like running motors, reading encoders, and interfacing with other analog or timing-sensitive devices.

Romi 32U4 Control Board with Raspberry Pi on a Romi chassis.

The I/O lines of both the ATmega32U4 and the Raspberry Pi are broken out to 0.1″-spaced through-holes along the front and rear of the control board, and the board’s power rails are similarly accessible, enabling sensors and other peripherals to easily be connected.

A software add-on is available that makes it easy to program a Romi 32U4 robot from the Arduino environment, and we have Arduino libraries and example sketches to help get you started. A USB A to Micro-B cable (not included) is required for programming.

Included components

The Romi 32U4 Control Board ships with all of its surface-mount components populated, and it includes a number of through-hole parts and mounting hardware, as shown in the picture above. Note that assembly (including soldering) is required; please see the user’s guide for assembly instructions.

The Romi chassis itself and other parts required to build a complete Romi 32U4 robot are not included; these are listed below, along with some optional additions.

What you will need

To build a robot with the Romi 32U4 Control Board, you will need a few additional parts:

Romi arm with horizontal gripper orientation installed on a Romi.

Optional accessories

You might also consider getting these for your Romi 32U4 robot:

Other Romi boards, robots, and robot controllers

In addition to the Romi 32U4 Control Board, we have some more basic boards designed to mount onto a Romi chassis:

The Romi 32U4 Control Board uses the same microcontroller and includes many of the same features as some of our other programmable robots and controller boards. Consider these alternatives if you want similar electronics on a different chassis:

Dimensions

Size: 4.4″ × 3.3″ × 0.38″1
Weight: 35 g1

General specifications

Current rating: 5 A2
Processor: ATmega32U4 @ 16 MHz
RAM size: 2560 bytes
Program memory size: 32 Kbytes3
Motor driver: DRV8838
Motor channels: 2
Minimum operating voltage: 2.5 V
Maximum operating voltage: 10.8 V
Continuous output current per channel: 1.8 A
Logic voltage: 5 V
Reverse voltage protection?: Y
External programmer required?: N

Identifying markings

PCB dev codes: rom04a
Other PCB markings: 0J10217

Notes:

1
Without included hardware.
2
This is the rating for the battery power switching circuit and limits the current available at VSW.
3
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.

Documentation and other information

File downloads

Recommended links

Frequently-asked questions

No FAQs available.

On the blog