I am onto a project where a need more memory. I saw the 23LC1024 chips are very popular with the Arduino DUE.

A very helpful person told me he did some timing tests on the 23LC1024 and a page read/write of 32 bytes costs about 100 μs.

I am interested in real time audio manipulation application (using the Arduino Due's ADCs and DACs).

This time of 100μs per 32 bytes seems a lot for the application, though i am not sure.

Are there benchmarking tests of the Arduino DUE for the time it takes to read/write to its memory, so i can compare with this chip and decide what to do?

  • You really don't want to use an external SPI memory for that. Switch instead to either a processor with more on-chip RAM (maybe another SAM series part, or maybe the top end Teensy), or even more appropriately for such a task, switch to an SoC which uses a variety of external parallel DRAM and likely has on-chip caches to further speed access to it. These don't necessarily cost any more today, though they do add some system complexity. Commented Jul 12, 2017 at 20:37
  • Personally I use the PIC32MZ with an external I2S DAC or CODEC chip. 200MHz 512kB RAM, 2MB flash... And programmable in the Arduino IDE...
    – Majenko
    Commented Jul 12, 2017 at 23:17
  • Besides, using DMA to read from the ADC and write to the DAC leaves plenty of CPU time for shuffling memory around between internal and external RAM blocks.
    – Majenko
    Commented Jul 12, 2017 at 23:19
  • I didn't know this chip was programmable from the arduino IDE! Does it follows the same code structure (setup, loop)? Also the chip is available in bulk form. I would have to build a circuit and solder components to program it right? Any references on the circuit? Commented Jul 13, 2017 at 10:09
  • Also, could you please mention the I2C DAC chip you were using? Commented Jul 13, 2017 at 14:24


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.