Mal noch so als idee: Du hast da einen 1kB großen Buffer -> Das ist ganz schön viel für einen kleinen Atmega. Überleg dir doch mal ob du die Daten nicht. Stückchenweise oder sogar Interrupt basiert verarbeiten kannst.