A-Star 328PB Micro - 5V, 16MHz


Description

Overview

Introductory special: just $3.87 each! Must use coupon code AS328PBINTRO, limited to first 100 customers. Our initial stock is limited, so we are restricting shipments to 5 units per customer, but the introductory coupon has no quantity limit, and you can order more than five at that price if you would like. Backordered units are likely to ship within a few weeks.

A-Star 328PB Micro, bottom view with dimensions.

A-Star 328PB Micro, bottom view with dimensions.

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 backward-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 adaptor, 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 analogue 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:

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 adaptor 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, which can be used as both.

Features

  • 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 analogue inputs
  • Preloaded with Arduino-compatible TTL serial bootloader
  • 6-pin TTL serial programming header for use with a USB-to-serial adaptor (we recommend our USB AVR Programmer v2, which can act as a USB-to-serial adaptor)
  • 6-pin ISP header for use with an external AVR programmer (we recommend our USB AVR Programmer v2)
  • 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 adaptor can supply power to VCCIN on the serial header
  • Reverse-voltage protection on BAT+ supply
  • Comprehensive user’s guide

Details for item #3160

This version has a 5 V regulator that can be powered from 5.5 V to 15 V, and it features a 16 MHz resonator, which matches the voltage and clock speed of the Arduino Uno. It can be distinguished from other versions by its blue power LED:

A-Star 328PB Micro – 5V, 16MHz.

A-Star 328PB Micro – 5V, 16MHz.

A-Star 328PB Micro – 5V, 16MHz.

Arduino compatibility

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 backward-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 some of 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 analogue 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.

Pinout

A-Star 328PB Micro pinout diagram.

A-Star 328PB Micro pinout diagram.

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 analogue 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).

A-Star 328PB Micro, top view.

A-Star 328PB Micro, top view.

A-Star 328PB Micro, bottom view.

A-Star 328PB Micro, bottom view.

The board can be powered either through a USB-to-serial adaptor 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.

Included hardware

A-Star 328PB Micro with included header pins.

A-Star 328PB Micro with included header pins.

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 adaptor, along with a 2×3 header to allow external programming of the microcontroller through the AVR ISP interface. Our USB AVR Programmer v2 can program the A* through either of these interfaces.

A-Star 328PB Micro with included header pins soldered for breadboard use. (1)

A-Star 328PB Micro with included header pins soldered for breadboard use. (1)

A-Star 328PB Micro connected to the serial pins of a Pololu USB AVR Programmer v2.1. (1)

A-Star 328PB Micro connected to the serial pins of a Pololu USB AVR Programmer v2.1. (1)

A-Star 328PB Micro with included header pins soldered for breadboard use.

A-Star 328PB Micro with included header pins soldered for breadboard use.

A-Star 328PB Micro connected to the serial pins of a Pololu USB AVR Programmer v2.1.

A-Star 328PB Micro connected to the serial pins of a Pololu USB AVR Programmer v2.1.

The A-Star family

From top to bottom: A-Star 328PB Micro, 32U4 Micro, 32U4 Mini SV, and 32U4 Prime SV.

From top to bottom: A-Star 328PB Micro, 32U4 Micro, 32U4 Mini SV, and 32U4 Prime SV.

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. 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.







A-Star 328PB Micro A-Star 32U4 Micro A-Star 32U4 Mini ULV

A-Star 32U4 Mini LV

A-Star 32U4 Mini SV
A-Star 32U4 Prime LV

A-Star 32U4 Prime SV
A-Star 32U4 Robot Controller LV

A-Star 32U4 Robot Controller SV
Microcontroller: ATmega328PB ATmega32U4
User I/O lines: 24 18 26 26(1) 26(1)
PWM outputs: 9 7 7 7 7(1)
Analogue inputs: 8 8 12 12 12(1)
Ground access points: 6 2 4 43 44
User LEDs: 1 2 3 3 3
User pushbuttons: 3 3
USB interface: yes yes yes yes
Reset button: yes   yes yes yes
Power switch:     yes yes
Buzzer option:     yes yes
microSD option:     yes  
LCD option:     yes  
Motor drivers:       yes
Operating voltage: 3.3V VCC: 3.8 V to 15 V
5V VCC: 5.5 V to 15 V
5.5 V to 15 V ULV: 0.5 V to 5.5 V
LV: 2.7 V to 11.8 V
SV: 5 V to 36 V
LV: 2.7 V to 11.8 V
SV: 5 V to 36 V
LV: 2.7 V to 11 V
SV: 5.5 V to 36 V
Regulator type: 3.3 V or 5 V linear 5 V linear 5 V switching

ULV: step-up
LV: step-up/step-down
SV: step-down
5 V switching

LV: step-up/step-down
SV: step-down
5 V switching

LV: step-up/step-down
SV: step-down
Regulated current:(2) 100 mA 100 mA ULV: 500 mA
LV: 1 A
SV: 500 mA
1 A LV: 1 A
SV: 1.5 A
Dimensions: 1.3″ × 0.7″ 1″ × 0.6″ 1.9″ × 0.7″ 2.8″ × 2.1″ 2.6″ × 2.2″
Weight: 1.5 g(3) 1.3 g(3) 3.4 g(3) 13 g to 33 g 14 g to 23 g
1 Some microcontroller resources are used by on-board hardware.
2 These values are rough approximations for comparison purposes. Available current depends on input voltage, current consumed by the board, ambient conditions, and regulator topology. See product documentation and performance graphs for details.
3 Without included optional headers.

Specifications

Dimensions

Size: 0.7″ × 1.3″ × 0.1″1
Weight: 1.5 g1

General specifications

Processor: ATmega328PB @ 16 MHz
RAM size: 2048 bytes
Program memory size: 32 Kbytes2
Motor channels: 0
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, 16 MHz resonator

Identifying markings

PCB dev codes: ac05a
Other PCB markings: 0J11021
Power LED colour: blue

Notes:

1
Without included optional headers.
2
Note that 512 bytes of the MCU's 32 KB of flash memory is used by the pre-installed serial bootloader. All 32 KB is available when programming via the ISP header rather than the bootloader.
3
All 24 can be used as digital I/O and 8 can be used as analogue inputs. 19 of the 24 are available along the sides for use in a breadboard; the remaining five are accessible along the bottom edge.
4
On BAT+.

Resources

Documentation and other information

Pololu A-Star 328PB User’s Guide

User’s manual for the Pololu A-Star 328PB.


File downloads

ATmega328PB datasheet (4MB pdf)
Atmel Application Note AT15007: Differences between ATmega328/P and ATmega328PB (283k pdf)
Application note describing differences between ATmega328 variants and the ATmega328PB.
Pinout diagram of the A-Star 328PB Micro (579k pdf)
Schematic diagram of the A-Star 328PB Micro (132k pdf)
Dimension diagram of the A-Star 328PB Micro (199k pdf)
3D model of the A-Star 328PB Micro (5MB step)
Drill guide for the A-Star 328PB Micro (50k dxf)
This DXF drawing shows the locations of all of the board’s holes.

Recommended links

Arduino Software
Arduino integrated development environment (IDE) software
ATmega328PB documentation
Microchip’s product page for the ATmega328PB AVR microcontroller, with links to its most up-to-date 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.
AVRDUDE
AVRDUDE is a cross-platform command-line utility for programming the flash memory on AVR microcontrollers.
AVR Freaks
AVR community with forums, projects, and AVR news.
Atmel Studio 7
Free integrated development environment (IDE) for AVRs.
WinAVR
A free, open-source suite of development tools for the AVR family of microcontrollers, including the GNU GCC compiler for C/C++.
LPS Arduino library
This is a library for the Arduino that interfaces with our LPS25H and LPS331AP pressure/altitude sensor carriers as well as the pressure sensor on the AltIMU-10 v3 (it also works with the original AltIMU-10). It makes it simple to read the raw pressure data from the sensor, and it provides functions to help calculate altitude based on the measured pressure.
Arduino library for addressable RGB LED strips from Pololu

This library allows you to control an arbitrary number of SK6812/WS281x-Based Addressable RGB LEDs from an Arduino.

LSM303 Arduino library
This is a library for the Arduino that interfaces with our LSM303D, LSM303DLHC, and LSM303DLM 3D compass and accelerometer carriers as well as the compass and accelerometer ICs on the MinIMU-9 v3 and AltIMU-10 v3 (it also works with older versions of those boards, some of which used the LSM303DLH and LSM303DLHC). It makes it simple to configure the device and read the raw accelerometer and magnetometer data, and it has a function for computing the tilt-compensated heading for those looking to use the LSM303 as a tilt-compensated compass.
L3G Arduino library
This is a library for the Arduino that interfaces with our L3GD20H and L3GD20 3-axis gyro carriers as well as the gyros on the MinIMU-9 v3 and AltIMU-10 v3 (it also works with older versions of those boards, some of which used the L3G4200D and the L3GD20). It makes it simple to configure the device and read the raw gyro data.
Arduino Library for the Pololu QTR Reflectance Sensors
This guide explains how to use the QTRSensors library to read Pololu QTR reflectance sensors and QTR sensor arrays with Arduinos and Arduino-compatible devices like the Pololu Orangutan robot controllers.

Related Products