Can we run a program from an external source (such as sd card or an eeprom)

Hello, I want to know if it’s possible and how to run (if it’s even possible) an extenal source (sd card, eeprom, sram, etc…) a bit like a plugin?


Most (maybe all) Arduinos execute code from flash memory.
You may be able to load a program from, say, an SDcard into flash memory, then run it. There are also methods of uploading a program into flash memory over the air.
To do all this, you need a special bootloader e.g. one discussed here:

But, dabbling in this area is not a trivial task.

Now that you know it is not possible, why don't you tell us what you want to do. Maybe there another way to accomplish it.

Since you didn't specify a board, the STM32 can run code from RAM. Probably any ARM processor can, so the Due or Pro Micro can for example.

Sorry, I think your confused....

Pro Micro uses ATmega32U4, doesn’t it?
Which is an 8-bit AVR RISC design, and not ARM, isn’t it?

RISC does not necessarily mean ARM. ARM architecture is just one possible RISC implementation.

It’s also Harvard architecture with an instruction set very similar to, as far as I can see, the “standard” ATmega168/328. I haven’t delved deep enough to discover if it can run code from RAM, but being Harvard architecture it would seem very likely not.

You are probably correct about the Due. That is an ARM core, and ARM being VonNeumann architecture should not make a distinction between addressing, and therefore executing, in RAM an ROM.