The A-Star 328PB Micro is a tiny programmable module featuring the ATmega328PB AVR microcontroller, a backwards-compatible replacement for the popular ATmega328P that features more general-purpose I/O and many additional peripherals.
This module provides access to all 24 digital input/output pins (of which 9 can be used as PWM outputs and 8 as analog inputs), all on a board measuring only 1.3″ × 0.7″. It ships preloaded with an Arduino-compatible serial bootloader that enables programming through the Arduino IDE via a USB-to-serial adapter, and the ISP pins are accessible for programming with an AVR programmer.
This version has a 5 V regulator that can be powered from 5.5 V to 15 V, and it features a 20 MHz resonator, which matches the voltage and clock speed of our Baby Orangutan B-328. It can be distinguished from other versions by its red power LED:
Speed warning for 20 MHz version: The 20 MHz resonator frequency exceeds the maximum explicitly allowed in the ATmega328PB datasheet. In our basic testing, the 20 MHz resonator appears to function without problems, but for any critical applications you should confirm for yourself that this product is appropriate.
The Pololu A-Star 328PB Micro is a general-purpose programmable module based on the ATmega328PB AVR microcontroller, which has 32 KB of flash program memory and 2 KB of RAM. The ATmega328PB is a backwards-compatible, improved replacement for the popular ATmega328P found on other programmable modules like our Baby Orangutan B-328 and the Arduino Uno and Pro Mini, so programs written for those other boards will generally work on the A-Star 328PB Micro with appropriate adjustments for any differences in clock speed.
On-board features of the A-Star (abbreviated A*) include a resonator, user and power LEDs, and a reset button. The board includes a low-dropout linear voltage regulator that allows it to be powered from external supplies up to 15 V, and reverse voltage protection on this main power input helps safeguard against accidental damage. The board can also be powered through its TTL serial header by a USB-to-serial adapter, and an integrated power switching circuit makes it safe to have both supplies connected at the same time.
The A-Star 328PB Micro breaks out 19 general-purpose I/O lines along two rows of pins, including seven usable as PWM outputs and eight usable as analog inputs; another five GPIO pins (including two usable as PWM outputs) can be accessed along the bottom edge of the board. It provides both an in-system programming (ISP) header and a connector for TTL serial programming along the top edge. The board fits all this into a 1.3″ × 0.7″ area (the same size as the Arduino Pro Mini), and its 0.1″ pin spacing makes the A* easy to use with solderless breadboards, perfboards, and 0.1″-pitch connectors.
The A-Star 328PB Micro is available in four logic voltage and resonator frequency combinations:
- 5V 16MHz (blue power LED)
- 5V 20MHz (red power LED) Note: See item-specific page for speed warning.
- 3.3V 8MHz (green power LED)
- 3.3V 12MHz (yellow power LED)
Each of the four versions uses a different power LED colour as a way to differentiate them.
Our comprehensive user’s guide provides the basics you need to get started with the A-Star 328PB Micro as well as detailed technical information for advanced users.
Either a USB-to-serial adapter or an AVR in-system programmer (ISP) is required to program the A-Star 328PB Micro from a computer. We recommend our USB AVR Programmer v2.1, which can be used as both.
- Dimensions: 1.3″ × 0.7″
- Programmable ATmega328PB AVR microcontroller
- 32 KB flash (0.5 KB used by bootloader, leaving 31.5 KB available for user program by default)
- 2 KB SRAM
- 1 KB EEPROM
- All I/O lines from the ATmega328PB broken out in a compact package
- 19 general-purpose I/O pins available along the sides of the board
- 5 additional I/O pins available on bottom edge
- 9 pins can be configured as hardware PWM outputs (7 along sides of board)
- 8 pins can be configured as analog inputs
- Preloaded with Arduino-compatible TTL serial bootloader
- 6-pin TTL serial programming header for use with a USB-to-serial adapter (we recommend our USB AVR Programmer v2.1, which can act as a USB-to-serial adapter)
- 6-pin ISP header for use with an external AVR programmer (we recommend our USB AVR Programmer v2.1)
- Power LED and user-controllable LED
- Reset button
- Two power options:
- 3.8 V to 15 V (3.3 V versions) or 5.5 V to 15 V (5 V versions) on BAT+
- USB-to-serial adapter can supply power to VCCIN on the serial header
- Reverse-voltage protection on BAT+ supply
- Comprehensive user’s guide
The A-Star 328PB ships with a preloaded Arduino-compatible TTL serial bootloader (which uses 0.5 KB of flash memory, leaving 31.5 KB available for the user program). We provide a software add-on that enables the board to be easily programmed from the Arduino environment.
Since the A-Star’s ATmega328PB microcontroller is backwards-compatible with the ATmega328P commonly used on Arduino boards (like the Arduino Uno and Pro Mini), existing programs and libraries written for a standard Arduino can be used on the A-Star 328PB without any changes (except to account for clock speed differences when necessary). However, our add-on includes support for the new features on the ATmega328PB, making them easier to use from the Arduino environment and allowing the A-Star 328PB to be an upgrade from ATmega328P-based boards.
The A-Star 328PB is the same size as the Arduino Pro Mini. It can similarly be used as a compact, minimal alternative to a standard full-size Arduino, but since its pinout differs, this board is not a drop-in replacement for the Pro Mini.
Differences between the ATmega328P and ATmega328PB
Compared to the ATmega328P (and ATmega328), the ATmega328PB microcontroller offers a number of improvements, including:
- Two additional GPIO pins: PE0 and PE1
- Two pins that were previously analog inputs only (ADC6 and ADC7) can now also be used as digital inputs and outputs: PE2 and PE3
- Two additional 16-bit Timer/Counters: TC3 and TC4 (for a total of two 8-bit timers and three 16-bit timers)
- Three additional PWM output pins
- A second USART (TTL serial port)
- A second TWI (Two-Wire Serial Interface, I²C-compatible)
- A second SPI (Serial Peripheral Interface)
- A peripheral touch controller (PTC) for adding capacitive touch buttons, sliders, and wheels
The ATmega328PB is code-compatible with the ATmega328P, meaning code compiled for an ATmega328P will run as intended on an ATmega328PB. This application note (283k pdf) by Atmel (now part of Microchip) comprehensively describes the differences between the ATmega328PB and its predecessors.
Our Arduino software add-on makes it easy to use the additional GPIO functionality, PWM outputs, and TTL serial port. The other new features of the ATmega328PB can still be used from the Arduino environment through direct register access or custom libraries.
This diagram identifies the I/O and power pins on the A-Star 328PB Micro; it is also available as a printable PDF (579k pdf). For more information about the ATmega328PB microcontroller on this board, see Microchip’s ATmega328PB documentation.
Printed on the A* circuit board are indicators that you can use to quickly identify each pin’s capabilities: pins labelled with A0 through A7 can be used as an analog input, and a square wave symbol under the pin number means it can be used as a PWM output. All of the pins are labelled on the bottom silkscreen, and some of the pins are also labelled on the top silkscreen (as space allows).
The board can be powered either through a USB-to-serial adapter connected to its serial header or from a source up to 15 V on the BAT+ pin, which is reverse-voltage protected and reduced to 3.3 V or 5 V by a 100 mA low-dropout (LDO) regulator. The A-Star 328PB Micro includes a switching circuit that makes it safe to have both VCCIN and BAT+ power supplies connected at the same time. Reverse-protected power can be supplied to other devices by using the VIN pin as an output, and the logic voltage supply is available on the VCC output. Alternatively, the external supply can be connected directly between VIN and GND, bypassing the reverse-voltage protection.
The A-Star 328PB user’s guide discusses the board’s features in more detail.
A set of three 1×12-pin breakaway 0.1″ male headers is included with the A-Star 328PB Micro, which can be soldered in to use the board with perfboards, breadboards, or 0.1″ female connectors. Also included is a 1×6 right-angle 0.1″ male header that can be installed to allow TTL serial programming with a USB-to-serial adapter, along with a 2×3 header to allow external programming of the microcontroller through the AVR ISP interface. Our USB AVR Programmer v2.1 can program the A* through either of these interfaces.
|Processor:||ATmega328PB @ 20 MHz|
|RAM size:||2048 bytes|
|Program memory size:||32 Kbytes2|
|User I/O lines:||243|
|Minimum operating voltage:||5.5 V|
|Maximum operating voltage:||15 V|
|Logic voltage:||5 V|
|Reverse voltage protection?:||Y4|
|External programmer required?:||N|
|Version:||5 V logic, 20 MHz resonator|
The A-Star family
The A-Star 328PB Micro is a part of our larger A-Star family, all of whose members are based on AVR microcontrollers and are preloaded with Arduino-compatible bootloaders.