← All parts
AT24C32 I2C EEPROM
AT24C32
Microchipinterface io display
The AT24C32 is a low-voltage I2C EEPROM with 32K bits of memory, organized as 4096 words of 8-bit each.
In stock
Specifications
8- Operating Voltage
- 1.8V to 5.5V
- Supply Current
- 0.4mA (READ at 100 kHz), 2.0mA (WRITE at 100 kHz) mA
- Interface
- I2C
- Resolution
- 8-bit
- Range
- 32K bits (4096 words of 8-bit each)
- Accuracy
- Not applicable
- Temperature Range
- -55°C to +125°C (Storage: -65°C to +150°C)
- Package
- 8-pin PDIP, SOIC, or TSSOP
Pinout
8| Pin | Name | Functions | Notes |
|---|---|---|---|
| 1 | A0 | GPIO | |
| 2 | A1 | GPIO | |
| 3 | A2 | GPIO | |
| 4 | GND | GND | |
| 5 | VCC | POWER | |
| 6 | WP | GPIO | |
| 7 | SCL | I2C | |
| 8 | SDA | I2C |
Interactive pinout
Highlight:
AT24C32
Click a pin to copy its name · tap a tag above to spotlight a bus.
Starter code
Community starter examples — minimal, unofficial, and provided to get you wiring fast. Verify against the manufacturer datasheet before relying on them.
Arduino (C++)
arduino
// AT24C32 I2C EEPROM (4 KB) — community starter example
// No library needed: 2-byte word address + data.
#include <Wire.h>
const byte EEPROM_ADDR = 0x50; // A2..A0 = 000
void writeByte(uint16_t addr, byte data) {
Wire.beginTransmission(EEPROM_ADDR);
Wire.write(addr >> 8); Wire.write(addr & 0xFF);
Wire.write(data);
Wire.endTransmission();
delay(5); // write cycle
}
byte readByte(uint16_t addr) {
Wire.beginTransmission(EEPROM_ADDR);
Wire.write(addr >> 8); Wire.write(addr & 0xFF);
Wire.endTransmission();
Wire.requestFrom(EEPROM_ADDR, (byte)1);
return Wire.read();
}
void setup() {
Serial.begin(115200);
Wire.begin();
writeByte(0, 42);
Serial.println(readByte(0)); // -> 42
}
void loop() {}MicroPython
python
# AT24C32 I2C EEPROM (ESP32) — community starter example
# No driver needed: writeto_mem / readfrom_mem with a 16-bit address
from machine import Pin, I2C
import time
i2c = I2C(0, scl=Pin(22), sda=Pin(21))
ADDR = 0x50
i2c.writeto_mem(ADDR, 0, b"\x2a", addrsize=16) # write 42 at address 0
time.sleep_ms(5)
print(i2c.readfrom_mem(ADDR, 0, 1, addrsize=16)) # -> b'*'Wiring
| Pin | Arduino Uno R3 | ESP32 DevKitC (WROOM-32) | Notes |
|---|---|---|---|
| VCC | +5V | 3V3 | 1.7-5.5 V |
| GND | GND | GND | |
| SCL | A5/SCL | GPIO22 | I2C clock |
| SDA | A4/SDA | GPIO21 | I2C data |
| A0/A1/A2 | - | - | Address select -> 0x50-0x57 |
| WP | GND | GND | Tie LOW to allow writes (HIGH = write-protect) |
Typical uses
- Non-volatile storage (settings, logs)
- RTC modules' companion memory