The AT24C256C is a popular serial EEPROM that offers 256-Kbit memory capacity, a two-wire I²C interface, and flexible operating voltage, making it suitable for many embedded applications. This article will discuss the AT24C256C EEPROM variants, functional block diagram, specifications, features, Arduino interfacing, applications, and many more.

The AT24C256C is a 256-Kbit serial EEPROM (Electrically Erasable Programmable Read-Only Memory) designed for storing small amounts of data in electronic systems. It provides 262,144 bits of memory, organized as 32,768 words of 8 bits each, allowing devices to save configuration settings, calibration data, and other important information.
This device communicates through the I²C two-wire serial interface, which uses only SDA (data) and SCL (clock) lines. The AT24C256C also supports device cascading, allowing up to eight EEPROM chips to share the same bus. It operates within a wide voltage range of 1.7V to 5.5V, making it suitable for low-power industrial and commercial applications. This chip is available in compact packages such as SOIC, TSSOP, UDFN, and VFBGA.
If you are interested in purchasing the AT24C256C, feel free to contact us for pricing and availability.
This is AT24C256C-SSHL-T symbol, footprint and 3D Model.


| Pin No. | Pin Name | Description |
| 1 | A0 | Address input pin used to set the device address on the I²C bus. It allows multiple EEPROM devices to share the same bus. |
| 2 | A1 | Address input pin used together with A0 and A2 to configure the I²C device address for cascading multiple devices. |
| 3 | NC | No Connection. This pin is not internally connected and should be left unconnected. |
| 4 | GND | Ground pin connected to the system ground reference. |
| 5 | SDA | Serial Data line of the I²C interface used for sending and receiving data between the EEPROM and the microcontroller. |
| 6 | SCL | Serial Clock line of the I²C interface used to synchronize data communication. |
| 7 | WP | Write Protect pin. When connected to VCC, it prevents writing data to the memory to protect stored information. |
| 8 | VCC | Power supply pin for the device, typically operating between 1.7V and 5.5V. |
• AT24C256
• 24LC256
• 24FC256
• 24AA256
• 24LC512
• 24LC1026
• 24C32
• 24C04
• 25LC040
| Ordering Code | Lead Finish | Package Code | Package Type | Delivery Form | Quantity | Operating Temperature |
| AT24C256C-SSHL-B | NiPdAu (Lead-free / Halogen-free) | 8S1 | 8-lead SOIC (Plastic Gull Wing Small Outline) | Bulk (Tubes) | 100 per Tube | -40°C to 85°C |
| AT24C256C-SSHL-T | NiPdAu (Lead-free / Halogen-free) | 8S1 | 8-lead SOIC (Plastic Gull Wing Small Outline) | Tape and Reel | 4,000 per Reel | -40°C to 85°C |
| AT24C256C-XHL-B | NiPdAu (Lead-free / Halogen-free) | 8X | 8-lead TSSOP (Thin Shrink Small Outline) | Bulk (Tubes) | 100 per Tube | -40°C to 85°C |
| AT24C256C-XHL-T | NiPdAu (Lead-free / Halogen-free) | 8X | 8-lead TSSOP (Thin Shrink Small Outline) | Tape and Reel | 5,000 per Reel | -40°C to 85°C |
| AT24C256C-MAHL-T | NiPdAu (Lead-free / Halogen-free) | 8MA2 | 8-pad UDFN (2.0 mm × 3.0 mm) | Tape and Reel | 5,000 per Reel | -40°C to 85°C |
| AT24C256C-MAHL-E | NiPdAu (Lead-free / Halogen-free) | 8MA2 | 8-pad UDFN (2.0 mm × 3.0 mm) | Tape and Reel | 15,000 per Reel | -40°C to 85°C |
| AT24C256C-CUL-T | NiPdAu (Lead-free / Halogen-free) | 8U2-1 | 8-ball VFBGA | Tape and Reel | 5,000 per Reel | -40°C to 85°C |
| AT24C256C-WWU11L | N/A | Wafer | Wafer Sale | Note 1 | N/A | -40°C to 85°C |
The AT24C256C functional block diagram shows how the EEPROM manages communication, addressing, and data storage inside the chip. The SCL (serial clock) and SDA (serial data) lines form the I²C interface, which connects the memory device to a microcontroller. The Start/Stop logic detects communication signals from the I²C bus and controls when data transmission begins or ends. These signals are then processed by the Serial Control Logic, which manages read and write operations inside the device.

The Device Address Comparator checks the address sent by the master device and compares it with the hardware address pins A0, A1, and A2. If the address matches, the EEPROM responds and allows access to its memory. The Data Word Address Counter selects the memory location where data will be read or written, while the X and Y decoders identify the exact memory cell inside the EEPROM array.
During write operations, the High Voltage (H.V.) Pump and Timing control generates the required programming voltage for storing data in the EEPROM cells. The Serial MUX and Data Output/Acknowledge Logic manage data transfer back to the I²C bus, ensuring the correct data is sent and confirming successful communication with the master device.
| Parameter | Value |
| Memory Type | Serial EEPROM |
| Memory Capacity | 256 Kbit (262,144 bits) |
| Organization | 32,768 × 8 bits |
| Interface | I²C (2-wire serial interface) |
| Operating Voltage | 1.7 V – 5.5 V |
| Maximum Clock Frequency | Up to 1 MHz |
| Write Cycle Time | 5 ms (typical) |
| Page Write Size | 64 Bytes |
| Data Retention | Up to 100 years |
| Endurance | 1 million write cycles |
| Device Addressing | 3 hardware address pins (A0, A1, A2) |
| Write Protection | Hardware write-protect pin (WP) |
| Operating Temperature Range | −40°C to +85°C |
| Package Options | SOIC-8, TSSOP-8, UDFN-8, VFBGA-8 |
The AT24C256C supports both low-voltage and standard-voltage operation, working within a supply range of 1.7V to 5.5V. This flexibility allows the EEPROM to be used in many embedded systems, portable electronics, and industrial applications that operate with different power levels.
The memory is internally organized as 32,768 words of 8 bits each, providing a total storage capacity of 256 Kbits. This structure makes it suitable for storing configuration data, system parameters, and small data logs in microcontroller-based systems.
The device communicates using a two-wire I²C serial interface, consisting of the SDA (data) and SCL (clock) lines. This interface simplifies circuit design because only two communication lines are required between the EEPROM and the host controller.
The AT24C256C includes Schmitt trigger inputs and filtered signals, which help suppress electrical noise. This feature improves communication reliability, especially in electrically noisy industrial environments.
The EEPROM supports bidirectional data transfer, allowing both reading and writing of data through the same I²C communication lines. This makes it efficient for exchanging data with microcontrollers.
The device supports 400 kHz operation at 1.7V and up to 1 MHz operation at 2.5V, 2.7V, and 5V. This high-speed communication allows faster data transfers between the memory device and the host system.
A dedicated Write Protect (WP) pin provides hardware-level protection against accidental data modification. When enabled, this pin prevents write operations, protecting important stored information.
The AT24C256C supports 64-byte page write mode, allowing multiple bytes of data to be written in a single operation. Partial page writes are also supported, improving data writing efficiency.
The EEPROM uses an internal self-timed write cycle, typically completing data programming in about 5 milliseconds. This simplifies system design because external timing control is not required.
The memory offers excellent reliability with up to 1,000,000 write cycles and data retention of up to 40 years. This makes it suitable for long-term data storage applications.
The AT24C256C is available in lead-free and halogen-free packages, meeting modern environmental and RoHS compliance requirements. Package options include SOIC, TSSOP, UDFN, and VFBGA.
For high-volume manufacturing, the device is also available in wafer form, waffle packs, and bumped wafers, supporting advanced semiconductor packaging and custom production needs.

The circuit diagram shows how the AT24C256C EEPROM is connected to an Arduino Uno using the I²C communication interface. The EEPROM communicates with the Arduino through two main lines: SDA (Serial Data) and SCL (Serial Clock). In this setup, the SDA pin of the EEPROM connects to the Arduino’s A4 pin, while the SCL pin connects to the Arduino’s A5 pin. These two lines allow the Arduino to send commands and transfer data to and from the memory chip.
The VCC pin of the EEPROM is connected to the Arduino’s +5V supply, and the GND pin is connected to the Arduino ground, providing the necessary power for the device. The A0, A1, and A2 address pins are typically connected to ground to set the device address. A 10 kΩ pull-up resistor is connected to the SDA and SCL lines to ensure stable I²C communication and proper signal levels on the bus.
When the system runs, the Arduino acts as the master device and the EEPROM works as the slave memory device. The Arduino sends read or write commands through the I²C bus to store data into specific memory addresses or retrieve stored information. This setup allows the microcontroller to save configuration data, logs, or parameters that remain stored even when power is turned off.
The AT24C256C EEPROM is used in electronic systems that need small, reliable non-volatile memory to store data permanently. It is commonly used to save configuration settings, calibration data, device IDs, and system parameters that must remain stored even when the power is turned off. Because it communicates through the I²C interface, it is easy to connect to microcontrollers, sensors, and embedded controllers in many designs.
Its low power consumption, compact size, and long data retention make it suitable for many embedded and industrial applications. Engineers often use this EEPROM in devices where a microcontroller needs additional external memory to store system information, logs, or firmware parameters.