Version: 5.1.0
Release date: 2022-08-31
www.pololu.com
These files are the software and drivers for the Pololu A-Star 32U4 and A-Star 328PB boards, along with Pololu's ATmega32U4-based robots (Zumo 32U4, Balboa 32U4, and Romi 32U4 Control Board).
For more information about A-Star boards and robots, see their user's guides:
- A-Star 32U4 (Micro, Mini, Prime) user's guide
- A-Star 32U4 Robot Controller user's guide
- A-Star 328PB user's guide
- Zumo 32U4 Robot user's guide
- Balboa 32U4 Balancing Robot user's guide
- Romi 32U4 Control Board user's guide
These files are available on GitHub.
These files can be used to add A-Star and robot support to the Arduino IDE. Entries for Pololu A-Star Boards will appear in the Boards menu when you do this.
For most people, we recommend setting up A-Star support in the Arduino IDE by installing our boards package through the Boards Manager. (These instructions can also be found in the user's guide for each controller).
-
In the Arduino IDE, open the File menu (Windows/Linux) or the Arduino menu (macOS) and select "Preferences".
-
In the Preferences dialog, find the "Additional Boards Manager URLs" text box. Copy and paste the following URL into this box:
https://files.pololu.com/arduino/package_pololu_index.json
If there are already other URLs in the box, you can either add this one separated by a comma or click the button next to the box to open an input dialog where you can add the URL on a new line.
-
Click the "OK" button to close the Preferences dialog.
-
In the Tools > Board menu, select "Boards Manager..." (at the top of the menu).
-
In the Boards Manager dialog, search for "Pololu A-Star Boards".
-
Select the "Pololu A-Star Boards" entry in the list, and click the "Install" button.
For additional information, including instructions for uploading a sketch and troubleshooting, refer to the user's guide for your controller.
To manually add A-Star and robot support to the Arduino IDE, follow these steps.
-
Download the latest release archive from GitHub and decompress it.
-
Rename the directory "a-star-xxxx" (which includes this README, platform.txt, boards.txt, and other files) to "avr".
-
Locate your Arduino sketchbook directory. You can view your sketchbook location by opening the File menu and selecting Preferences in the Arduino IDE.
-
Inside the Arduino sketchbook folder, add a folder named "hardware" if it does not already exist.
-
Inside the "hardware" folder, add a folder named "pololu" if it does not already exist.
-
Move the "avr" folder into the "pololu" folder.
-
Restart the Arduino IDE.
-
In the Boards menu, you should now see entries for the Pololu A-Star boards.
If you do not see these entries in the "Boards" menu, make sure that the final path to this README looks like this (where "Arduino" is your sketchbook directory):
Arduino/hardware/pololu/avr/README.md
Here are some details about what Arduino features work when programming the A-Star 328PB in the Arduino IDE:
- The
Serial
andSerial1
objects both work, providing access to UART0 and UART1, respectively. - The "Default I2C bus" sub-menu in the "Tools" menu allows you to choose whether the Wire library and other libraries like it will use TWI0 or TWI1. There is no library support for accessing TWI0 and TWI1 in the same program.
- The "Default SPI bus" sub-menu in the "Tools" menu allows you to choose whether the SPI library and other libraries like it will use SPI0 or SPI1. There is no library support for accessing both SPI0 and SPI1 in the same program.
pinMode()
,digitalRead()
, anddigitalWrite()
should work on every I/O pin.analogRead()
should work on every analog pin (A0 through A7).analogWrite()
should work on every pin with PWM.
The ATmega328PB has two new pins, PE0 and PE1, that have no equivalent on the
ATmega328P. These pins do not yet have official pin numbers in the Arduino
environment, so if you need to use their pin numbers in your code, we recommend
using the constants SDA1
(for PE0) and SCL1
(for PE1) that are defined in
our header files. For example:
digitalWrite(SDA1, HIGH);
The "bootloader" directory contains the source code and compiled files for the A-Star and Zumo bootloaders. The A-Star 32U4 boards and ATmega32U4-based robots use "caterina", while the A-Star 328PB boards use "optiboot".
The "drivers" directory contains the A-Star 32U4 drivers for Microsoft Windows. To install the drivers, right-click on "a-star.inf" and select "Install".
The "udev-rules" directory contains a file named "a-star.rules" for Linux users. If you copy this file to /etc/udev/rules.d/, it will tell ModemManager to not try to access the virtual serial ports of the A-Star 32U4 and ATmega32U4-based robots. This is necessary on some systems in order to program these devices.
If you are programming an A-Star 32U4 or ATmega32U4-based robot with the Arduino environment, you might also want to install the applicable Arduino libraries, which are available in separate repositories:
- 5.1.0 (2022-08-31): Made the Wire and SPI libraries usable on the A-Star 328PB again. Added menus that let you choose which bus each library will use.
- 5.0.0 (2022-05-19): Removed workarounds and hacks that were required in older versions of the Arduino IDE that did not have official support for the ATmega328PB. This version was tested in Arduino 1.8.19.
- 4.0.2 (2018-04-17): Fixed an unquoted path in build flags that could cause an error when compiling for the 328PB.
- 4.0.1 (2018-04-11): 328PB interrupt vectors should be linked into sketch more reliably.
- 4.0.0 (2018-03-21): Moved selection of A-Star 328PB versions to custom menu.
- 3.1.0 (2018-02-20): Added support for A-Star 328PB.
- 3.0.1 (2016-12-01): Fixed A-Star 32U4 bootloader unlock/lock bits.
- 3.0.0 (2015-12-15): Restructured repository to work with the Arduino Boards Manager.
- 2.0.0 (2015-09-01): Separated Arduino libraries into their own repositories and removed them from this repository.