Ok, I just got some good clarification from Limor on ladyada.net regarding the USBtinyISP. So, now I ask you this... is there any way to use the arduino IDE to create code and then use the ICSP on the bare bones board from modern device to program it?
Right now this is how it works, yeah? Will I ever be able to program in the arduino IDE and program my board with the ICSP? Or is that just a bad idea, and if so, why? They seem to be doing the same thing to my untrained eyes.
I'm not very good at this level of implementation of these things yet. I'm just trying to get my head around the tools I have now.
It wouldn't be too hard to add, but it's not possible at the moment. The upload command doesn't know to use a hardware programmer (like the USBtinyISP) and the burn bootloader command only uploads the bootloader hex file, not the current sketch.
The way I imagine this might work in a future Arduino version is this. You add a board definition to your boards.txt file that is basically a copy of the board you're using, but without the protocol line. Then, when you select that board from the Boards menu, a new menu appears called "Upload Using Programmer" with a list of the programmers inside it. You can check an item in that menu, after which that programmer will be used for uploads (for that board).
In theory, that menu could be there all the time, with an item for the default upload method (i.e. not using a programmer). I think this would confuse people who don't need it, though, so I'd rather it only appeared when necessary (i.e. because you've selected a board that doesn't have an associated protocol).
In any case, for the moment, you need to burn the bootloader to the board with the USBtinyISP and upload using the FTDI cable. Or you can burn the sketch .hex files from the command line with the USBtinyISP.
From memory, the bundled version of avrdude may not be recent enough to support usbtinyisp--if it does support it you should see it in the list.
Also, I seem to recall there may be some parts of the avrdude call from the IDE that are hardcoded in a way that may make support difficult. But I haven't tried it so I could be wrong.
Thanks for the suggestion. Actually, the problem was that the identifier I was using was "usbtiny", the identifier from avrdude. It was calling for the identifier "usbtinyisp". Once I started trying random variations I got it to work.