I am using a dsPIC33EP512MU810 bought from
Is the only alternative an SSD card ? My frustration is that this means wr iting a new driver to read from an SSD card instead of the EEPROM and I hav e spent time and effort to get it working with the EEPROM until I ran out o f storage space ! I tried to reply to my previous post but the forum keeps crashing (it's so 'flakey'). Below is the the reply I tried to post: I have now got this working, there was actually nothing wrong with the code . First of all, I didnt have any optimisation for the compiler (level was set to 0) so I changed this to level 3, although it only made a slight imp rovement and still fell over. Then I changed the size of the SPI and I2S buffers. Because of the way my code transfers the SPI buffers to the I2S buffers, the I2S buffer are alway s 4 times bigger than the SPI2 buffer. Originally I had an SPI2 buffer size of 4 and therefore an I2S buffer size of 16. I increased this to an SPI2 buffer size of 16 and therefore an I2S buffer size of 64 and it works !!!!!! So I assume the SPI overflow was dow n to there not being enough processing time available ? But now I've hit yet another hurdle. I have 4 sound clips which are read a nd played from the EEPROM every 5 seconds, with speech counting "15", "14", "13" and "12" in a loop. However, the EEPROM is now full with only these 4 samples ! I realise now that the 25LC1024 EEPROM is actually 1 mega "bits", not 1 mega "bytes" ! S o thats a lame 131,072 kbytes ! Which is pathetic in this day and age wher e mobiles have 128Gb of flash and USB sticks and SSD cards of 64Gb+ are com mon. Each of my sound samples is between 20Kbytes to 30Kbytes, its only 8-bit mo no with a 44.1kHz sample rate (this is the sample rate the I2S is configure d for). I need about 500kbytes to store all my sound samples. So now need to look at another way to store these sound samples, the bigges t EEPROM I can find is only 2Mbit so that's no good either.