Also known as ICE, it is a device which emulates a microcontroller's hardware for the purposes of debugging an embedded system. Generally, the engineer can just pop out a microcontroller and replace it with the ICE. The ICE is then connected to a pc.

Code can then be downloaded, executed, and debugged, in-system, by the user at the pc.

In the 1980's and 90's, ICE was a highly prized and expensive luxury. It continues to maintain a niche in the industry, but many contemporary microcontroller designs now feature built-in debugging facilities.