Arduino IDE -> USBtinyISP -> arduino hardware?

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.

thanks very much!! Science in action!
-steve

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.

is this possible as of arduino v0011 ?

More or less, yes. See: http://www.arduino.cc/en/Hacking/Programmer

Sweet! thank you!

Just for clarity's sake, is this correct?

Sure.

I am having some trouble doing this on my Mac. I have altered the preferences as instructed but when I hit upload, it returns the following message:

avrdude: Can't find programmer id "null"

Valid programmers are:
dasa3 = serial port banging, reset=!dtr sck=rts mosi=txd miso=cts [hardware/tools/avr/etc/avrdude.conf:582]
dasa = serial port banging, reset=rts sck=dtr mosi=txd miso=cts [hardware/tools/avr/etc/avrdude.conf:569]
siprog = Lancos SI-Prog http://www.lancos.com/siprogsch.html [hardware/tools/avr/etc/avrdude.conf:556]
ponyser = design ponyprog serial, reset=!txd sck=rts mosi=dtr miso=cts [hardware/tools/avr/etc/avrdude.conf:543]
pavr = Jason Kyle's pAVR Serial Programmer [hardware/tools/avr/etc/avrdude.conf:514]
dragon_dw = Atmel AVR Dragon in debugWire mode [hardware/tools/avr/etc/avrdude.conf:507]
dragon_hvsp = Atmel AVR Dragon in HVSP mode [hardware/tools/avr/etc/avrdude.conf:499]
dragon_pp = Atmel AVR Dragon in PP mode [hardware/tools/avr/etc/avrdude.conf:491]
dragon_isp = Atmel AVR Dragon in ISP mode [hardware/tools/avr/etc/avrdude.conf:483]

and so on...

I am using a USBtinyISP and the identifier I used was "usbtiny". (The line of the preferences now reads: upload.using=usbtiny).

Is there another place where I have to specify the programmer?
Thanks

avrdude: Can't find programmer id "null"

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.

--Phil.

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.

Thanks again,
Gabe

Very Useful. Worked for me too.
Thanks.

Hi, I am using the Usbtinyisp(USBtinyISP - Inexpensive USB AVR Programmer) to program the bootloader on a Boarduino (Boarduino - Breadboard-compatible Arduino Clone) through Arduino's IDE.

The problem is that the communication is not 100% reliable. Sometimes it works, other times it doesn't.

Is there an easy way to change the SCK delay (avrdude's -B option) so I can slow down the upload process?