Can you compile a sketch directly to your arduino via SD card? Without software

I was wondering if there's a way to put a sketch on my arduino without having to use the arduino software. I can just put a text file with the sketch on an SD card and the arduino will look for it and load it. Even if I need to use a second arduino to load onto the first arduino. Does something like this already exist, if so, where can I find it, if not, why not :)

No, it doesn't.

I suppose maybe it could possibly be done if someone really wanted to, but it's not practical. Why do you need to do this, why would this be preferable over connecting the arduino via USB?

Putting an already compiled program on an SD card and having one arduino load it onto a second is pretty easy, but actually using an arduino to compile raw C code I don't think is possible with the limits of program space and RAM.

Bitlash isn't exactly what you're looking for, but it might be worth a look. The Bitlash interpreter can run Bitlash programs from SD card on the Arduino. It's easy to extend the interpreter to include your custom C code.

Download and docs at


Everything will be in arduino code. I will look into bitlash.

AFAIK you can write to flash on a running ATmega. AMForth lets you do it to add words to your dictionary while you're running. But that's not a sketch.

If the SD had a hex file, would a bootloader be able to flash it?

If the SD had a hex file, would a bootloader be able to flash it?

A bootloader would be able to, but not any of the standard ones AFAIK.


True. It would have to be a bootloader with SD support.

The neatest 'firmware update' scheme I've seen for Arduinos is the Audioino.