AI

The **M24C01-RBN6TP** is a specific model of Electrically Erasable Programmable Read-Only Memory (EEPROM) manufactured by **STMicroelectronics**. It is commonly used for storing small amounts of non-volatile data, such as configuration settings, device IDs, or calibration constants.
---
### 1. Key Technical Specifications
| Feature | Specification |
| :--- | :--- |
| **Memory Size** | 1 Kbit (128 x 8 bits) |
| **Interface** | I²C (Two-Wire Serial Interface) |
| **Operating Voltage** | 1.8V to 5.5V |
| **Clock Frequency** | 400 kHz (Fast Mode) |
| **Package Type** | PDIP8 (Plastic Dual-In-Line Package) |
| **Temperature Range** | -40°C to +85°C |
| **Write Cycles** | 4 Million cycles (Endurance) |
| **Data Retention** | 200 Years |
---
### 2. Detailed Pinout Description
The device typically follows the standard 8-pin layout for I²C EEPROMs:
| Pin Number | Name | Function |
| :--- | :--- | :--- |
| 1, 2, 3 | E0, E1, E2 | Chip Enable inputs (used to set the device I²C address) |
| 4 | VSS | Ground (0V) |
| 5 | SDA | Serial Data (Bidirectional) |
| 6 | SCL | Serial Clock (Input) |
| 7 | WC | Write Control (Hardwire to VSS to allow writes) |
| 8 | VCC | Supply Voltage |
---
### 3. Functional Features
* **Byte and Page Write:** Supports writing a single byte or a page of up to 16 bytes.
* **Write Protection:** The `WC` pin acts as a hardware write protect. If tied to $V_{CC}$, the memory becomes read-only, protecting data from accidental corruption.
* **Low Power Consumption:** Optimized for battery-operated devices, with very low standby current.
* **I²C Addressing:** Since it has three chip enable pins (E0, E1, E2), up to eight M24C01 devices can be connected to the same I²C bus.
---
### 4. Implementation Example (C++)
The following is a basic logic snippet for writing a byte to the M24C01 using an Arduino-style Wire library:
```cpp
#include
#define EEPROM_ADDR 0x50 // Base I2C address for M24C01
void writeEEPROM(int address, byte val) {
Wire.beginTransmission(EEPROM_ADDR);
Wire.write(address); // Memory location (0-127)
Wire.write(val); // Data to store
Wire.endTransmission();
delay(5); // Required write cycle time
}
```
- ⤷
What is the difference between the M24C01 and the M24C02 models?
- ⤷ How does the 'WC' (Write Control) pin behave if left floating?
- ⤷ What are the specific advantages of the RBN6TP variant over other package types?