This question already has an answer here:

So, I don't want all my data blown away every time I turn off my system, so how would I create a storage system that doesn't use batteries but also keeps the data that I have stored?


marked as duplicate by PeterJ, Null, Ricardo, Daniel Grillo, Community Sep 8 '15 at 18:31

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • \$\begingroup\$ "Non-volatile memory" is the term. \$\endgroup\$ – Nick Alexeev Sep 7 '15 at 0:08

As Houston Fortney says in a comment, you need a physical phenomenon which exhibits memory. Furthermore it must be electrically controllable, ideally reversible or somehow resettable, and electrically detectable. And presumably it has to be accessible for home construction.

A latching relay has been mentioned - for a small number of bits, a small number of relays is viable.

Other options :

  1. Magnetisable ferrite cores. You can occasionally buy surplus "planes" of core memory left over from 1960's computers. The electronics to support these is feasible in discrete transistors (probably needs inappropriate voltages for common ICs) but definitely not an exercise for the faint-hearted.

  2. An E-Ink display from something like an Amazon Kindle, and a camera, mounted in a frame.

  3. A variation on this : a matrix of high-power SMD resistors on a PCB under thermal printer paper, and a camera. The electronics to power the resistors to make dark spots on the paper will be much easier than driving the E-Ink display if you insist on doing it yourself. To clear the memory, simply replace the paper.

  4. A network of fuses or fragile components which you can destroy by overcurrent, or read by applying lower current. These used to be available as "fusible link PROMs" in the 74 series TTL logic family but in principle you could easily make your own with a matrix of short thin wires, and high current row and column drivers. Resetting a bit requires soldering though. Unless you make it from a matrix of 3V mini lamp bulbs, which you "read" at 3V and "program" at 6V, in which case all you need to do is replace all the bulbs in a row to reset that byte.

  5. Model control servos or stepper motors driving potentiometers or rotary switches. If you can control position to about 1% accuracy you may get 6 or 7 bits from a potentiometer, or 4 bits (reliably!) from a hex coded switch.

By now I expect you're taking another look at that non-volatile memory...


Use a memory IC like this one. You will need a microcontroller to read/write it. Another option is to select a microcontroller with integrated memory that meets your needs. If your application does not otherwise need a micro, you can use a very small/cheap one.

If you only need one or a few bits, consider a latching relay like this little guy.

  • \$\begingroup\$ Thanks, but that doesn't have any basic schematics, or complex, I just needed a basic idea of a design. \$\endgroup\$ – ender_scythe Sep 7 '15 at 0:14
  • \$\begingroup\$ You can't construct nonvolatile memory from standard logic gates. You need a physical phenomenon which exhibits memory. The most basic way to include nonvolatile memory into a circuit is a small 8 pin micro. Unless you only need one bit. In that case you can use a latching relay. How many bits do you want? \$\endgroup\$ – Houston Fortney Sep 7 '15 at 0:22
  • \$\begingroup\$ 1 bit, so what physical phenomena could I use other than, dun dun dun Optical? \$\endgroup\$ – ender_scythe Sep 7 '15 at 0:24
  • \$\begingroup\$ @EnderScythe This is not unlike changing a tire with a soup ladle. Why do you need non-volatile memory? Why don't existing non-volatile memories fit your requirements? What are you ultimately trying to accomplish? \$\endgroup\$ – Nick Alexeev Sep 7 '15 at 0:31
  • \$\begingroup\$ For one bit a latching relay is a reasonable option. Personally I'd still go for a micro for reasons of long term reliability. \$\endgroup\$ – Houston Fortney Sep 7 '15 at 0:33

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