LCD allow the robot to provide feedback. 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 An LCD and Raspberry Pi are not included with the Romi 32U4 Control Board. 1.2. What you will need These additional items are also needed for using and assembling the Romi 32U4 Control Board: Required accessories • a...
[https://www.pololu.com/product/2588] 1.3. Supported operating systems The Romi 32U4 Control Board can be programmed using any operating system that supports the Arduino environment. This includes Microsoft Windows 10, 8.1, 8, 7, Vista, XP (with Service Pack 3), Linux, and macOS.
, which allows it to be easily programmed using the [https://www.pololu.com/docs/0J66/7] Arduino IDE. For more information about programming the Romi 32U4 Control Board, see Section The board also has a 6-pin ISP header that allows it to be programmed with an external programmer,...
Page 8
The functions in the Romi32U4 library take care of configuring the pins, reading and debouncing the buttons, and restoring the pins to their original states. The Romi 32U4 Control Board has a set of through-holes in the center where a 2×7 header can be soldered to connect an 8×2 character LCD...
3.3. Motor drivers and encoders Motor drivers The Romi 32U4 Control Board has two Texas Instruments DRV8838 motor drivers that are used to power the Romi chassis’s two mini plastic gearmotors .
Page 10
. A pair of low-profile female headers is [https://www.pololu.com/product/3542] included with the Romi 32U4 Control Board and can be soldered into either the outer or inner row of through-holes on each side. (Note that these headers must be soldered into the positions that match the male header installed on the encoder board.)
Section 3.4. Inertial sensors The Romi 32U4 Control Board includes on-board inertial sensors connected to the ATmega32U4’s I²C interface that can be used in advanced applications, such as helping detect collisions and determining the robot’s orientation. These sensors are part of the ST LSM6DS33 [https://www.pololu.com/product/...
3.5. Power The Romi 32U4 Control Board includes battery terminal connections that provide access to power from the Romi chassis’s six-AA battery compartment. We recommend using rechargeable AA NiMH cells, which results in a nominal voltage of 7.2 V (1.2 V per cell). You can also use alkaline cells, which would nominally give you 9 V.
Page 15
The Romi 32U4 Control Board also contains a 3.3 V LDO that draws its power from the output of the logic power selection circuit described below. The output of the 3.3 V regulator is designated 3V3 and is used to supply the on-board inertial sensors and level shifters.
3.6. Expansion areas The Romi 32U4 Control Board has several expansion areas (primarily in three groups near the front left and middle and back right edges) that break out all of the general-purpose I/O lines from the ATmega32U4 microcontroller and the Raspberry Pi.
Power distribution diagram of the Romi 32U4 Control Board. 3.7. Raspberry Pi interface and level shifters The Romi 32U4 Control Board was designed to be easy to interface with a Raspberry Pi single- board computer to expand the Romi’s processing power. It has a connector and mounting holes...
Page 20
[https://www.pololu.com/product/3119] Raspberry Pi and Raspberry Pi slave library for Arduino still apply for the Romi 32U4 Control Board, and we will be releasing an updated tutorial with steps specific to the Romi soon.
The table below lists the most important pin assignments for the ATmega32U4 on the Romi 32U4 Control Board. This table is helpful if you want to add your own electronics to the Romi 32U4, write your own low-level code for interfacing with the hardware, or just want to understand better how the Romi 32U4 works.
Page 23
4. Also, due to hardware limitations, some functions only work on a limited set of pins. The “Romi 32U4 functions” column documents what the pin is used for on the Romi 32U4 Control Board. Many pins can serve multiple purposes concurrently by switching modes. For example, PB0 can read the state of button C when it is an input, and it can control the red LED and serve as an LCD data line when it is an output.
Analog input (ADC1) internally pulled high, active RESET Reset pushbutton AREF Analog reference 3.9. Adding electronics This section gives tips for how additional electronics can be connected to the Romi 32U4 Control Board. 3. Romi 32U4 Control Board Page 26 of 55...
Page 27
If the free I/O pins are not sufficient for connecting the devices you want to connect, you might need to disable or disconnect some of the other features of the Romi 32U4 Control Board to free up more I/ O pins.
Page 28
Be careful about connecting electronics to pin 13 (PC7), pin 17 (PB0), and pin 30 (PD5). These pins are used to control the LEDs on the Romi 32U4. All three of these pins are controlled as outputs by the bootloader. Pin 17 (PB0) and pin 30 (PD5) are used as RX and TX indicators, so if you are sending or receiving data over USB then the Arduino USB code will drive those pins in its interrupt service routines while your sketch is running.
• Timer1 is used by the Romi 32U4 Control Board Arduino library for driving motors. • Timer3 is not used by the Romi 32U4 Arduino library and can be freely used for your own purposes. 3. Romi 32U4 Control Board...
4. Assembling the Romi 32U4 Control Board Control board additions Most of the hardware on the Romi 32U4 Control Board consists of surface-mount components that are already soldered to the board, but there are a few through-hole parts that you need to solder yourself.
Page 33
You will be able to remove the board and battery contacts from the chassis as a single piece after soldering. Assembling the chassis Once the through-hole components are soldered to the Romi 32U4 Control Board, please follow instructions given in the Pololu Romi Chassis User’s Guide...
Service Pack 3, so we recommend Service Pack 3 over the hotfix. Before you connect your Pololu A-Star 32U4 (or another of our 32U4 family of boards) to a computer running Microsoft Windows, you should install its drivers: 1.
After installing the drivers and plugging in an A-Star, in the “Ports (COM & LPT)” category of the Device Manager, you should see a COM port for the A-Star’s running sketch named “Pololu A-Star 32U4”. You might see that the COM port is named “USB Serial Device” in the Device Manager instead of having a descriptive name.
Page 37
URL on a new line. Adding a Boards Manager index for Pololu boards in the Arduino IDE’s Preferences dialog. 3. Click the “OK” button to close the Preferences dialog.
Page 38
7. After the installation finishes, click the “Close” button to close the Boards Manager dialog. 8. In the Tools > Board menu, select the “Pololu A-Star 32U4” entry. If you do not see your device listed in the Board menu, try restarting the Arduino IDE.
Romi32U4 library documentation [http://pololu.github.io/romi-32u4-arduino- library] If you are using the Romi 32U4 Control Board with a Raspberry Pi, you might also want to make use of our Raspberry Pi slave library for Arduino [https://github.com/pololu/pololu-rpi-slave-arduino-library] which sets up the A-Star as an I²C slave and helps establish communication with a Raspberry Pi master.
On a Windows computer, you can see the virtual serial port by going to your computer’s Device Manager and expanding the “Ports (COM & LPT)” list. You should see a COM port labeled “Pololu A- Star 32U4”. In parentheses after the name, you will see the name of the port (e.g. “COM3” or “COM4”).
Page 51
1. Connect the device to your computer via USB. 2. In the “Tools” menu, open the “Board” sub-menu and check to see if the “Pololu A-Star 32U4 (bootloader port)” entry is visible. If this entry is visible, you can skip to step 6.
Blink example that can be found under File > Examples > 01.Basics > Blink. After reviving your device, be sure to change the Board setting back to “Pololu A-Star 32U4” and select the right Port.
Need help?
Do you have a question about the Romi 32U4 and is the answer not in the manual?
Questions and answers