It also allows firmware updates to be delivered to the on-chip memory of microcontrollers and related processors without requiring specialist programming circuitry on the circuit board, and simplifies design work.
Newer ATtiny microcontrollers with UPDI can even reuse that programming pin also as a general-purpose input/output.
This may allow manufacturers to program the chips in their own system's production line instead of buying pre-programmed chips from a manufacturer or distributor, making it feasible to apply code or design changes in the middle of a production run.
Microcontrollers are typically soldered directly to a printed circuit board and usually do not have the circuitry or space for a large external programming cable to another computer.
Most programmable logic devices use a variant of the JTAG protocol for ISP, in order to facilitate easier integration with automated testing procedures.
In systems complex enough to require moderately large glue logic, designers may implement a JTAG-controlled programming subsystem for non-JTAG devices such as flash memory and microcontrollers, allowing the entire programming and test procedure to be accomplished under the control of a single protocol.
In EPROM, memory-erasing process requires the chip to be exposed to ultraviolet light through a specific window above the package.
This feature allowed to lower the realization costs by removing the erasing window above the package and initiate in-system programming technology.
This could be a problem if the necessary precautions are not taken into account in the design of the board; the device can suffer the damage of the I/O components during the programming.
This solution expects the human participation to the programming process that has to connect the programmer to the electronic board with the cable.
For medium and high production volumes using test points is the best solution since it allows to integrate the programming phase in an assembly line.
The data is transferred using a two-wire synchronous serial scheme, three more wires provide programming and chip power.