1
\$\begingroup\$

I have a simple project that only requires the UART i/f of ATMEGA8, running off 8MHZ internal RC oscillator. I have the DIP package version of ATMEGA8 and things are working fine. I have code compiled using the Arduino IDE for ATMEGA8 and fuses set using avrdude to select the internal RC (no bootloader). For production, I want to move the new ATMEGA88PB in TQFP package (because of lower cost). My questions are as follows:

  1. The Arduino IDE supports compiling for the "ATMEGA88" mcu - would I be correct in assuming that the same code that works for ATMEGA8 and ATMEGA88 (Arduino IDE compiler options) would work on the ATMEGA88PB (the ATMEGA8 and ATMEGA88 are pin compatible, even if not register compatible - but the compiler should take care of that) - correct?
  2. I am running the ATMEGA8 off a 3.3V supply. I am guessing that should not be a problem for the ATMEGA88PB as well?
  3. Are there any other gotchas in making this switch? My circuit is minimal as I am using the internal RC and only the UART interface. Of course, I route out the ISP pins to a header for programming. I am guessing the way I program, etc would stay the same. Any thoughts / experiences? I could not find much prior discussion on the ATMEGA88PB.

Thanks.

\$\endgroup\$
1
  • \$\begingroup\$ From datasheet ATmega88PB's operating voltage is: 1.8 - 5.5V. So, I think the second part of your question won't be a problem. \$\endgroup\$ Commented Apr 21, 2015 at 11:30

1 Answer 1

1
\$\begingroup\$

The software-facing differences between the ATmega88PA and the ATmega88PB are the addition of a register for start condition interrupts in the USART, presence of both registers and pin assignments for port E, and 9 registers used for unique identification of the specific device itself. This leads to the following:

  1. avr-libc does not support the 'X8PB yet; you will need to manually add the definitions for the registers into your code in order to use them.
  2. Two of the pin assignments for port E are supply pins in the 'X8PA, and the other two are on ADC6 and ADC7. You will probably need to do some hardware redesign if migrating.

Beyond those the 'X8PB is fully software compatible with the 'X8PA.

Other differences include higher overall power consumption and removal of the DIL packaging option.

\$\endgroup\$
1
  • \$\begingroup\$ Thanks - that was very useful. I think I will stick to the ATMEGA88A - as avr-libc is known to support this. \$\endgroup\$
    – NK2020
    Commented Apr 21, 2015 at 18:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.