3

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?

2
  • 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. Jun 26, 2016 at 17:01
  • No. And welcome to Arduino SE. Be sure to take the tur at arduino.stackexchange.com/Tour
    – SDsolar
    Apr 17, 2017 at 4:44

3 Answers 3

5

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...

1
1

I know this is old, but it comes up on Google so here I am.

Forget about connecting any kind of modern computer RAM to an Arduino. Period.

However, an old school SIMM from the 80's/early 90's is very much possible to use with some effort and they're cheap enough to buy on eBay. These are the ones you would have usually found on a 386/486 or early Pentium system.

Here is an example: http://dmitry.gr/?r=05.Projects&proj=07.%20Linux%20on%208bit

There are much easier and more cost-effective ways to add RAM to your 8-bit Arduino though. Look up SPI RAM. That's probably what you want. It's only a 4 pin connection, and numerous libraries already exist to interface with them.

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.

Your Answer

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

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