Can an ATmega or ATtiny device signature be read while running?
You can use these macros that get defined automatically when you include &lt;avr/io.h&gt;:

SIGNATURE_0
SIGNATURE_1
SIGNATURE_2


For ATmega1280, they're defined as:

/* Signature */
#define SIGNATURE_0 0x1E
#define SIGNATURE_1 0x97
#define SIGNATURE_2 0x03


in iom1280.h (which is automatically included through &lt;avr/io.h&gt; when you compile code for the m1280)

For example, this will send the three bytes via UART:

uart_putc(SIGNATURE_0)
uart_putc(SIGNATURE_1)
uart_putc(SIGNATURE_2)




If you truly want to read the fuses, you'd need to use  boot_signature_byte_get macro from &lt;avr/boot.h&gt;