arduino.cc/en/Hacking/Programmer

The subject page might need correction/clarification.

Today for the first time I tried my USBtinyISP bought from ladyada.net.
I followed the instructions here...

I work with Arduino enviro 0021 on a Windows XP machine.

I have multiple arduino boards but only want to program my Arduino Mega with the tinyISP, so I created a new entry in boards.txt...

megaISP.name=Arduino Mega (ATmega1280) USBtinyISP

megaISP.upload.using=usbtinyisp

megaISP.bootloader.low_fuses=0xFF
megaISP.bootloader.high_fuses=0xDA
megaISP.bootloader.extended_fuses=0xF5
megaISP.bootloader.path=atmega
megaISP.bootloader.file=ATmegaBOOT_168_atmega1280.hex
megaISP.bootloader.unlock_bits=0x3F
megaISP.bootloader.lock_bits=0x0F

megaISP.build.mcu=atmega1280
megaISP.build.f_cpu=16000000L
megaISP.build.core=arduino

Note that the text in programmers.txt for the usbtinyisp shows up as "USBtinyISP". So when I originally followed the instructions at the [subject] page I copied the text with this exact case. However when using "...upload.using=USBtinyISP" the Arduino 0021 environment complains with...

java.lang.NullPointerException
      at processing.app.debug.AvrdudeUploader.getProgrammerCommands(Unknown Source)
      at processing.app.debug.AvrdudeUploader.uploadUsingPreferences(Unknown Source)
      at processing.app.Sketch.upload(Unknown Source)
      at processing.app.Sketch.exportApplet(Unknown Source)
      at processing.app.Sketch.exportApplet(Unknown Source)
      at processing.app.Editor$DefaultExportHandler.run(Unknown Source)
      at java.lang.Thread.run(Thread.java:619)

Only when using "...upload.using=usbtinyisp" in boards.txt does it actually succeed.

This case-sensitivity may or may-not be a problem for other device names in programmers.txt.