Extending EEPROM to SD-Card

Hey folks!

I am rather new to Arduino and I am currently planning my final year project where I am gonna use an Arduino.
As I am developing my ideas I need some tips and tricks as of what is possible and not.

Basically, I am gonna develop a home automation system to control X10 modules throughout the house using RF and power-line interfaces. This system will be controlled by an Arduino which will also connect to a WiFi network for communication with mobile devices. (I will develop an app to control the X10 devices through the Arduino) The Arduino will have an SD-Card for extended storage for data-logging. The Arduino will have a simple user interface using an LCD screen and touch interface for buttons.

As the 32kbit EEPROM on my Arduino Uno is rather limited (Though I also just ordered a Mega 1280 for more pins and 64kbit EEPROM(?) Stated 256kbit??) I would like to know if there are any way to make the Arduino load sketch files from an SD card? Even if 64kbit would be enough for my project I would like to be able to update the sketch through wifi directly on to the SD-card. I imagine if the Arduino could load a sketch from the SD-card I should be able to also write a sketch to said SD card through wifi/USB to update it. My knowledge of the Arduino is limited but in my head it should be able to do. Even if the Arduino load the sketch from the SD card directly to its own EEPROM instead of running it from the SD card.

Could anyone please give some insight in this?
Sorry for the long message :stuck_out_tongue:

Thanks!

As the 32kbit EEPROM on my Arduino Uno is rather limited

It's even more limited than you think.

EEPROM 1 KB (ATmega328)

1 != 32.

Though I also just ordered a Mega 1280 for more pins and 64kbit EEPROM(?) Stated 256kbit??)

Prepare to be disappointed.

[EEPROM 4 KB](http://EEPROM 4 KB)
This is not the model that you are getting, but it does not have less EEPROM than the one you are getting.

I would like to know if there are any way to make the Arduino load sketch files from an SD card?

Apparently.
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1260909294/all

I imagine if the Arduino could load a sketch from the SD-card I should be able to also write a sketch to said SD card through wifi/USB to update it.

You can upload a new file to the SD card. Getting the Arduino to load that sketch from the SD card seems possible.

Even if the Arduino load the sketch from the SD card directly to its own EEPROM instead of running it from the SD card.

Sketches do not go in EEPROM.

Matsimus,
Sounds like you need to browse a datasheet a little.

The ATMEL AVR uCs have In-System Programmable Flash with Read-While-Write capabilities, EEPROM, and SRAM.
The Flash, while technically could be thought of as a type of EEPROM, is where you sketch runs from.
EEPROM is where your sketch can store data & retrieve it after power loss/reset & do something with it.
SRAM is SRAM, used to hold variables & such while a sketch is running.

There is some software called BitLash
http://bitlash.net/wiki/start
that perhaps may be of interest to you for running sketches from other than Flash memory.

PaulS;
I think I have been mixing up EEPROM and the flash memory as I thought the EEPROM was 32kbit (I for some reason had the understanding that the EEPROM was the entire flash memory of the Arduino)
I will check out that thread, thanks! :slight_smile:

CrossRoads;
Thank you for clarifying the different types of memory on the Arduino. To rephrase myself; I apparently do not need to extend the EEPROM to the SD-card but rather the Flash memory where the sketch is stored and run from.
Ok I will check out BitLash.

Thank you both for helping me clarify this ^^