External flash and plugin architecture


I'd like to add to arduino external memory card to be able to put some music there.
I'd also like to being able to download (through wifi shield) additional stuff (more wav) as well as code. Is it possible to make some sort of plugin interface, when additional code is downloaded in standalone and then read from main app?

All good ideas.

The usual method to add megabytes of memory is to use an SD card.

It's possible, but not easy, to move data into flash memory. Of course, since the bootloader does it. But you would be writing a lot of custom code, not just for the loader, but also code to integrate the modules that you want to load.

The AVR is a Harvard architecture, which can't run programs residing in RAM.

The Mega2560 has the capability of operating in an expansion memory mode.