Most Atmel AVR microcontrollers can be programmed via their in-built serial programming interfaces (SPI). This method is ideal for in-situ programming, such as might be used in manufacturing or for firmware development or field upgrades.
In this scenario, the micro remains in its socket on the application board and a low-cost in-system programmer (ISP) is plugged into a dedicated programming header. In other words, the microcontroller does not have to be removed from its socket and plugged into a parallel programmer each time a firmware update is required.
However, in some cases it is desirable to programme a microcontroller stand-alone, such as when the application board is unavailable or doesn’t include an ISP (or JTAG) header. A low-cost method of stand-alone programming might also be useful where a batch of chips is needed for a small prototype run and the cost of a commercial parallel programmer is prohibitive.
In this scenario, the micro remains in its socket on the application board and a low-cost in-system programmer (ISP) is plugged into a dedicated programming header. In other words, the microcontroller does not have to be removed from its socket and plugged into a parallel programmer each time a firmware update is required.
However, in some cases it is desirable to programme a microcontroller stand-alone, such as when the application board is unavailable or doesn’t include an ISP (or JTAG) header. A low-cost method of stand-alone programming might also be useful where a batch of chips is needed for a small prototype run and the cost of a commercial parallel programmer is prohibitive.