25.4 Signature Bytes
All Atmel® microcontrollers have a three-byte signature code which identifies the device. This code can be read in both serial
and parallel mode, also when the device is locked. The three bytes reside in a separate address space.
25.4.1 Signature Bytes
For the ATmega16M1 the signature bytes are:
1. 0x000: 0x1E (indicates manufactured by Atmel).
2. 0x001: 0x94 (indicates 16kB flash memory).
3. 0x002: 0x84 (indicates ATmega16M1 device when 0x001 is 0x94).
For the ATmega32M1 the signature bytes are:
1. 0x000: 0x1E (indicates manufactured by Atmel).
2. 0x001: 0x95 (indicates 32kB flash memory).
3. 0x002: 0x84 (indicates ATmega32M1 device when 0x001 is 0x95).
For the ATmega64M1 the signature bytes are:
1. 0x000: 0x1E (indicates manufactured by Atmel).
2. 0x001: 0x96 (indicates 64kB flash memory).
3. 0x002: 0x84 (indicates ATmega64M1 device when 0x001 is 0x96).
For the ATmega32C1 the signature bytes are:
1. 0x000: 0x1E (indicates manufactured by Atmel).
2. 0x001: 0x95 (indicates 32kB flash memory).
3. 0x002: 0x86 (indicates ATmega32C1 device when 0x001 is 0x95).
For the ATmega64C1 the signature bytes are:
1. 0x000: 0x1E (indicates manufactured by Atmel).
2. 0x001: 0x96 (indicates 32kB flash memory).
3. 0x002: 0x86 (indicates ATmega64C1 device when 0x001 is 0x96).
25.5 Calibration Byte
The ATmega16/32/64/M1/C1 has a byte calibration value for the internal RC oscillator. This byte resides in the high byte of
address 0x000 in the signature address space. during reset, this byte is automatically written into the OSCCAL register to
ensure correct frequency of the calibrated RC oscillator.
258
ATmega16/32/64/M1/C1 [DATASHEET]
7647O–AVR–01/15