The Siemens 16-bit Microcontroller family comprises two flash devices, the SAB 88C166 with 32 Kbytes on chip flash memory and the C167CR-16F with 128 Kbytes on chip flash memory; both partitioned into 4 independent banks. The C167CR-16F can be programmed more than 1000 times. They are suited most for applications requiring high flexibility combined with standard hardware. For instance, applications like motor control demand for a Flash device to be programmed at the end of the production line in its final environment. Furthermore, prototyping and small series are now much easier with the flash devices. To offer this flexibility, it is necessary to enable in-circuit programming at the end of the production line or even in the field. If that flexibility is not required, C166 Flash devices can also be preprogrammed by means of dedicated programming boards. This application note describes the necessary steps to be taken enabling in-circuit programming for the C167CR-16F. The process of programming presented here is based on the built-in boot strap loader of the C166 devices. All software including the programming data is downloaded from a host PC into the internal RAM of the microcontroller. Since the application requires only 1 Kbytes of internal RAM, no assumptions about the hardware environment have to be made. The solution described here employs a standard evaluation board . No changes to the board are necessary. The application code is provided by our mail box Tel:+49 89 498431 and via our distribution channels. For more detailed technical information regarding the devices please refer to our data sheets.