- Joined
- Feb 3, 2012
- Messages
- 6,349
- Reaction score
- 5,561
The difference is that the ISP (in-system programming) units use a special protocol built into the chip, over the SPI bus. The Arduino bootloader uses the serial port. If you're a programmer, the ISP method is quicker, and in fact you have to use it if you're programming a bootloader or a chip like an ATTiny that can't take a serial bootloader. For flash updating a completed product, however, you don't want to make the users go out and buy an ISP programmer, so it makes sense to use a serial bootloader since they already have the serial cable to download the altimeter's data.
When I program the ATMega chips on the Eggtimer, I use a special board that I built that has both an ISP and a serial programmer on it. I burn the bootloader with the ISP side, put a dot on it with white-out so I know that I did it, and go on to the next one. When the batch is all done, I go back and use the serial side to program the actual flash code, then I put another dot on the chip. That's why you see the two dots on the chips... it's QC.
When I program the ATMega chips on the Eggtimer, I use a special board that I built that has both an ISP and a serial programmer on it. I burn the bootloader with the ISP side, put a dot on it with white-out so I know that I did it, and go on to the next one. When the batch is all done, I go back and use the serial side to program the actual flash code, then I put another dot on the chip. That's why you see the two dots on the chips... it's QC.