Loading...
 

atmel 328pb

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)