Write Arduino EEPROM with an external program


I've created a project that reads a MIDI channel number change, and based on that number open a file (I've 8 files) stored on an SD. In that file I have 14 string separated with a *. I've thought that using an SD is too much to just store 14 strings for each file, so I would like to use the internal EEPROM. I can set a char limit for the strings to save space. The problem is that I want to be able to change the data in the EEPROM with a GUI (in java/C#/other). My goal is connect with an USB my standalone Arduino, select the port on my GUI, change some labels and upload the data in the EEPROM so when I disconnect the USB and connect the power my system reads the new data in the EEPROM. For me it also acceptable create a GUI that will upload the entire sketch on the Arduino every time that I want to change the data.

Thanks in advance for your support!
Every suggestion is accepted :slight_smile:

Sounds do able, just software. Will likely take a lot of learning and experimenting.


Thanks for your reply.

Do you have some suggestion?

I have already used Firmata library to send/receive data to/from Arduino but I think that I will need something more.

Is 1024 bytes enough to store your data? Assuming files are of equal size, and 8 "files", then that's 128 bytes per file, and you want 14 strings in those 128 bytes. If your "files" are different lengths, they you are going to need some way of storing file lengths in the EEPROM as well.

Yes, you've right. I could store 9 char max (the strings will have a fixed size). So I will need an external EEPROM but I don't think that this change something right?