Answer YES :) I have not tried it myself. Fragment of an article from Habr
The most common and convenient interface for AVR firmware is the SPI (Serial Peripheral Interface). To connect via SPI you need only four wires, not including ground:
SCK - clock signal, synchronizes all data exchange operations;
MOSI (Master Out Slave In) - data line from master to slave;
MISO (Master In Slave Out) - data line, on the contrary, from the slave to the master;
RESET - to enable SPI firmware, you must apply a logical "0" to this output.
Scheme: buttons from VCC to pins Reset, Mosi, Sck, after pressing pulled to the ground resistors. Pin GND to ground, with pin Miso LED with ground resistor.
Programming mode is activated by applying “0” to RESET leg. But there are some subtleties. Atmel recommends that you first put a low level on the RESET and SCK outputs, and only then supply power to the controller. If this is not possible, after powering up, apply “0” to SCK, and then a positive impulse to RESET
Next, you need to send a command to actually enable the programming mode: 10101100 01010011 xxxxxxxx xxxxxxxx
Bits labeled x can be any. During the transmission of the third byte, the controller must send back the second byte (01010011). If this happens, then all is well, the command is accepted, the controller is waiting for further instructions. If the answer is different, you need to restart the MC and try it all over again.
First you need to load data into the page buffer, for this you use the command “Load Program Memory Page”
01000000 000xxxxx xxxxbbbb iiiiiiii - to load the low byte of the word, and 01001000 000xxxxx xxxxbbbb iiiiiiii - to load the high byte.
The 4 low bits of the 3rd byte of the bbbb command are the address of the word on the page, iiiiiiii is the download byte. First, the low byte of the word must always be loaded, and then the high byte of the same word.
After the page buffer is loaded, you need to execute the "Write Program Memory Page" command
01001100 0000000a bbbbxxxx xxxxxxxx to write the page directly to the controller's memory. The low bit of the second byte and the high 4 bits of the third a: bbbb is the five-bit page number to write.
It is better to look at the link in details. In case of an uninhabited island, print the datasheet, laminate, keep with you.