Arduino project

Raspberry project

Post Page Advertisement [Top]

EEPROM is an internal memory which is not disappeared (deleted) when power is out.
Arduino Pro Mini which use Atmega328 has 32 KiB of Flash program memory. 1KiB = 1024 bytes -> 32*1024 = 32,768bytes

Memory will have address and content. Address will from 0 to 32,767; in which each address is presented for each memory slot with 1byte.

Following is example code to write data from analog input to EEPROM, then read and show through COM port

#include <EEPROM.h>

/** the current address in the EEPROM (i.e. which byte we're going to write to next) **/
int addr = 0;
byte value;

void setup() {
  // initialize serial and wait for port to open:
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only

void loop() {
    Need to divide by 4 because analog inputs range from
    0 to 1023 and each byte of the EEPROM can only hold a
    value from 0 to 255.
  int val = analogRead(0) / 4;

  EEPROM.write(addr, val);  //write value "val" to address "addr"


  // read a byte from the current address of the EEPROM
  value =;

  // increasing address
  addr = addr + 1;
  if (addr == EEPROM.length()) {
    addr = 0;

  //print value through COM port
  Serial.print(value, DEC);

Result will as:


Bottom Ad [Post Page]