This particular I☬ chip comes pre-wired with four bits of it’s address already set(1010) and these can not be changed. The last three pins set the address of the 24LC256 chip which allows us to target a particular chip on the I☬ bus. For the purpose of this tutorial we’re going to be writing to the eeprom so we can connect the WP pin to GND. If this pin is low then writing is enabled but if it’s high then writing is disable reading is always enabled. The WP pin stands for write-protected and this allows you to control if data can be written to the eeprom or not. After our data and power pins are connected we have four left on 24LC256 chip, the WP pin and the three address pins. Double check that you’ve connected the correct pins on the 24LC256 to the correct pins on the Arduino strange things will happen if you have them reversed. Then connect the SCL(pin 6) to pin 5 on the Arduino. Connect the SDA pin on the 24LC256(pin 5) to the pin 4 of the Arduino. Since we’re using the Arduino I☬ bus we’re going to be using Analog pins 4 and 5. Next lets go ahead and connect the data pins to the Arduino board. First connect GND and VCC, pins 4 and 8 respectivly. Using the image above as a guide lets begin to wire the chip.
HOW TO USE EEPROM PROGRAMMER SOFTWARE
Before we get into the software part lets hook up the 24LC256 chip up to our Arduino. The pins on the 24LC256 are pretty straightforward and consist of power(8), gnd(4), write protection(7), SCL/SDA(6,5), and three address pins(1,2,3). The Microchip 24LC256 chip can be purchased in a 8 pin DIP package. If you’re using a different IC please confirm that the pin-out and power requirements are the same so you don’t damage your chip. In this example we’ll be using the Microchip 24LC256 IC. That’s 62 times the Arduino’s built-in storage!
We’re using a 256kbit eeprom which is actually 32kbytes of space. When working with larger or more advanced Arduino projects we may need to store additional data so an external memory solution like the 24LC256 I☬ EEPROM IC becomes necessary. All though this is a very easy and effective way of storing data on the Arduino the built in EEPROM only offers 512 bytes of storage. In my last post I discussed using the built in EEPROM to store permanent data on the Arduino.
This tutorial was originally posted on the website, which now seems to be no longer with us, so we have reproduced it here. Adding External I2C EEPROM to Arduino (24LC256)