A-Star 328PB Micro - Pololu libraries compatibility

Just looking at the new A-Star 328PB Micro here, and wondering if it can be used as a replacement for the old and trustworthy baby-o 328p.

I’ve got quite a few of the baby-o’s, love these guys. Never had use for the onboard motor drivers or pot, but kept using them for the great form factor and ease of use, thanks to the pololu libraries.

Any chance the A-Star 328PB (20Mhz/5V) is “straightforwardly” compatible with the good old pololu libraries? Any big changes under the hood (code-wise) necessary to replace baby-o’s with the new A-Star 328PB?




Yes, it should be possible to use the Pololu AVR C/C++ Library on an A-Star 328PB (20 MHz). If you compile a program using the AVR library like you would do for a Baby Orangutan B-328 and then load it onto the A-Star 328PB, we expect the program to just work (unless it uses on-board hardware that the A-Star lacks). However, please note that we have not tried this and it is not one of the intended uses of the library. Also, note that the library lacks support for many of the new features of the ATmega328PB, like the new I/O pins, new UART, and new SPI bus. To use those new features, you would have to configure your toolchain to compile for the ATmega328PB and then write your own code.

For most A-Star 328PB users, we recommend programming using the Arduino environment. The Arduino IDE has features or libraries that can replace most of the features of the Pololu AVR C/C++ Library.

Pololu AVR C/C++ Library feature Arduino IDE feature or library
OrangutanAnalog analogRead
OrangutanBuzzer PololuBuzzer
OrangutanDigital pinMode, digitalWrite, digitalRead, or FastGPIO
OrangutanLCD PololuHD44780
OrangutanLEDs See OrangutanDigital
OrangutanMotors analogWrite (low PWM frequency) or one of our many motor shield libraries (high PWM frequency)
OrangutanPulseIn pulseIn (though it’s blocking)
OrangutanPushbuttons Pushbutton
OrangutanSerial Serial (UART0) and Serial1 (UART1)
OrangutanServos Servo
OrangutanSPIMaster SPI
OrangutanTime delay, delayMicroseconds, millis
PololuQTRSensors QTRSensors
PololuWheelEncoders Encoder libraries