1

I was thinking about a way to reuse the RAM of my old computer on my Arduino board. I was thinking about some peojects using neural networks, and more RAM would let the Arduino use more neurons.

So that's my question, how could I do that? Maybe soldering some cables to Tx/Rx pins and creating and interface between the board and the memory?

  • Not practically and especially not cost effectively. If you want more memory, choose something which has it, not an Arduino. Cheap embedded Linux boards will tend to have tens to today hundreds of megabytes, and systems with gigabytes are available. If you only need 200K or so look at some high-end single chip ARM Cortex M4 parts, some of which may be able to run Arduino ports. – Chris Stratton Jun 26 '16 at 17:01
  • No. And welcome to Arduino SE. Be sure to take the tur at arduino.stackexchange.com/Tour – SDsolar Apr 17 '17 at 4:44
3

No, you can't connect your normal desktop computer memory to your Arduino. For a number of reasons:

  1. Computer memory (at least for the past 20 years) is DDR SDRAM. That's Synchronous Dynamic RAM. It requires very strict timing and synchronous (clock based) data transfers with clocks measured in the hundreds of MHz - something the Arduino cannot do.
  2. You need lots and lots of I/O pins to interface with SDRAM. I mean, just look at all those pins - how would you connect all those up to a little Arduino?
  3. Being DRAM you need to use quite a complex process to keep the data refreshed and stop the capacitance of each cell from draining away. Yes, that side of things is do-able, but not child's play.

The only way you will be able to interface DDR SDRAM with an Arduino is through some intermediate interfacing system that can do all the above for you. Your best candidate is to design an SPI to DDR conversion chip using an FPGA and Verilog or VHDL. That way you can communicate with the FPGA using SPI (or you could choose I2C if you like, or a simple 8-bit parallel protocol) and the FPGA then does all the grunt work that the Arduino isn't capable of.

However, while you're at it, you may as well put a CPU core in the FPGA (e.g., NIOS II or something) and do away with the Arduino altogether...

0

If you try hard enough it might work, but it will not be easy.

In general there are 2 types of RAM. Static and Dynamic. You can cram a lot more memory into a Dynamic RAM chip so that is what is most likely in your computer. And probably what you are asking about in your question.

Dynamic memory needs to be refreshed continuously. Otherwise the data will be lost. This is such a repetitive and time consuming process that special hardware is used to relieve the processor of this task. In general, embedded processors such at the Atmel (used in most Arduinos) do not have such specialized hardware.

So it will be (very) difficult to use your computer memory in your Arduino.

That said, there are some specialized RAM chips that you can use with your Arduino. But they likely do not look like the memory chips in your computer.

0

Read this article: USING SIMMS TO ADD SOME EXTRA RAM ON YOUR ARDUINO UNO

http://hackaday.com/2014/04/09/using-simms-to-add-some-extra-ram-on-your-arduino-uno/

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.