Atmel328pb
Following steps describe how to get things going (for now, May 27, 2016 as stuff probably develops rapidly), with Arduino IDE 1.6.9, on Windows:
Use as 'regular' ATMega328p
- Program the ATMega328p optiboot bootloader ('optiboot_m328p.hex') using ISP.
- Set fuses to: Extended 0xF5, High 0xDA, Low 0xFF (for 16Mhz external crystal/resonator!)
- Now the chip can be programmed from the Arduino IDE as if it were a regular ATMega328p based board!
Use as ATMega328pb
- Program the ATMega328pb optiboot bootloader ('optiboot_m328pb.hex') using ISP.
- Set fuses to: Extended 0xF5, High 0xDA, Low 0xFF (for 16Mhz external crystal/resonator!)
- Install the Watterott board location into the IDE (Preferences -> Additional board manager URLs. Add https://github.com/watterott/ATmega328PB-Testing/raw/master/package_m328pb_index.json)
- Install Board support for ATmega328PB Boards (currently at revision 1.0.1)
- Restart the IDE
- Select e.g. the blink sketch, select Board 'Atmel ATmega328PB Crystal Clock', 16MHz
- and upload the sketch!
Support for all the extra peripherals in the PB is still ongoing. I expect it to get really up to speed the moment Arduino releases a PB based board. Watterott is already selling PB boards, as is Elektor, and probably others.
-c arduino -p m328pb -P COM8 -b 19200 -v -D -e -U flash:w:"C:\optiboot_m328pb.hex":a -U lfuse:w:0xFF:m -U hfuse:w:0xDA:m -U efuse:w:0xF5:m -U lock:w:0x3F:m  /Users/korn/Library/Arduino15/packages/arduino/tools/avrdude/6.0.1-arduino5/bin/avrdude -C/Users/korn/Library/Arduino15/packages/arduino/tools/avrdude/6.0.1-arduino5/etc/avrdude.conf -v -patmega328p -cusbasp -Pusb -Ulock:w:0x3F:m -Uefuse:w:0x05:m -Uhfuse:w:0xDE:m -Ulfuse:w:0xFF:m -B3 /Users/korn/Library/Arduino15/packages/arduino/tools/avrdude/6.0.1-arduino5/bin/avrdude -C/Users/korn/Library/Arduino15/packages/arduino/tools/avrdude/6.0.1-arduino5/etc/avrdude.conf -v -patmega328p -cusbasp -Pusb -Uflash:r:k40.bin:r -F /Users/korn/Library/Arduino15/packages/arduino/tools/avrdude/6.0.1-arduino5/bin/avrdude -C/Users/korn/Library/Arduino15/packages/arduino/tools/avrdude/6.0.1-arduino5/etc/avrdude.conf -v -patmega328p -cusbasp -Pusb -Ueeprom:r:k40.eep:r -F /Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -cusbasp -Pusb -Uflash:r:k40.bin:r -F /Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -cusbasp -Pusb -Ueeprom:r:k40.eep:r -F xtal /Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -cusbasp -Pusb -Ulock:w:0xFF:m -Uefuse:w:0xFC:m -Uhfuse:w:0xDE:m -Ulfuse:w:0xFE:m -F osc /Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -cusbasp -Pusb -Ulock:w:0xFF:m -Uefuse:w:0xFC:m -Uhfuse:w:0xDE:m -Ulfuse:w:0xE0:m -F int 8mhz /Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -cusbasp -Pusb -Ulock:w:0xFF:m -Uefuse:w:0xF5:m -Uhfuse:w:0xDE:m -Ulfuse:w:0xE2:m -F gerbil clone /Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -cusbasp -Pusb -Ulock:w:0xFF:m -Uefuse:w:0xFC:m -Uhfuse:w:0xDE:m -Ulfuse:w:0xFE:m -F 328pb explained Fuses (E:FD, H:D2, L:F0) Gerbil Fuses (E:FF, H:DE, L:FE) protoboard ext clock Fuses (E:F4, H:DE, L:E0) protoboard Crystal Fuses (E:F5, H:DE, L:FE)