Лучшее предложение, которое я могу вам дать, - это перейти на Arduino Mega или Arduino Due.
Если вы не открыты для этого решения, то все будет плохо.
Что вам нужно будет сделать, это написать загрузчик, который может читать с карты памяти и изменять флэш-содержимое вашего Atmega.
Что по сути означает, что вы должны написатьПрограмма уровня ОС для вашего Arduino Bootloader, и используйте карту памяти как жесткий диск, а остальную часть вашей Arduino flash в качестве ОЗУ программы.
Надеюсь, это поможет, удачи.