So, how can I expand the IO pins in arduino UNO ?
I may jump in here, if I may, as I was about to start a thread asking a question that has come about in the last few replies. I'm working on a project at the moment that will ultimately need multiple large look up tables. 4 or 5 tables of 15 x 10 values for example.
1) Look up tables are stored in EEPROM yes? If so, I can expand the amount of EEPROM I have by adding an external EEPROM chip?2) Regarding SRAM, if I understand correctly - this type of memory is used up quickly when performing float calculations, doing serial strings etc - can one also expand SRAM with an external chip? Currently I'm using a 1284P, so have quite an abundance of SRAM - however, I/O requirements may see me needing to up to a 2560 chip.
It seems then extra RAM is the best option - as I'm reading static values from flash stored by PROGMEM, but than altering them as mentioned with terms such as adders and multipliers, and thus are stored in RAM. Right now, there's no way I've run out of RAM - but future code may do when processing many many more terms at once, so best add it to the hardware now.These values in RAM are being updated on average, once each mS, sometimes twice as fast.
Sounds like EEPROM is FAR too slow here.
Sounds like you need an SRAM chip with SPI interface. You can get them in little 8-pin chips.
Volatility is not an issue - there is no problem with the RAM being erased when the power is lost in my application.In which case, is there any advantage of FRAM over SRAM? Seems FRAM has very fast write speeds (or lack of!). I am also writing a lot to an SD card and thus will need to buffer lots of data in RAM until its written.
Please note that your going to end up coping everything to and from internal sram constantly so your not necessarily during yourself a favor trying to use offboard sram.
Futhur, I started a thread in the storage section - as I was looking at using SD cards to store logged data, however - could I use an external flash IC for this?
Is there a library, or is it possible to do this?
Just looking at the flash chips available - I have found an SPI flash IC (good, easier to adapt to the SD library being SPI I assume) of 32mb. It seems this is an appropriate sort of chip?I'm just planning to design something like this into the hardware for future use.http://uk.farnell.com/spansion/s25fl256sagnfi001/memory-flash-256mbit-8wson/dp/2136254